控制流证明(CFA)是一种安全服务,允许验证者远程验证计算机系统上代码执行的完整性。然而,现有的CFA方案存在不切实际的假设,例如需要访问证明者的内部状态(如内存或代码)、完整的控制流图(CFG)、大量的测量数据或定制硬件。此外,现有方案计算开销大、资源占用高,不适合资源受限的嵌入式设备。本文提出RAGE,一种新颖的轻量级CFA方法,旨在克服现有方案在嵌入式设备上的局限性。RAGE仅需极少的假设即可检测代码复用攻击(CRA),包括控制数据攻击和非控制数据攻击。其核心思路是利用执行轨迹、执行图和执行嵌入之间的对应关系,消除对完整CFG的不切实际需求。RAGE从单次执行轨迹中高效提取特征,并利用无监督图神经网络(GNN)来识别与良性执行的偏差。作者在嵌入式基准测试上评估RAGE,结果显示:(1)成功检测40个针对嵌入式软件的真实攻击;(2)在真实嵌入式软件基准Embench上,针对合成面向返回编程(ROP)和数据导向编程(DOP)攻击,F1分数分别达到98.03%和91.01%,同时保持3.19%的低假阳性率;(3)在数百万设备使用的OpenSSL上,ROP和DOP攻击检测的F1分数分别为97.49%和84.42%,假阳性率为5.47%。该工作表明,无监督GNN能够有效降低CFA的资源需求,为嵌入式系统提供实用的安全证明方案。
💡 推荐理由: 提出了一种轻量级、无需完整控制流图的嵌入式设备控制流证明方案,使用无监督图神经网络高效检测代码复用攻击,具有高检测率和低假阳性率,对物联网和嵌入式系统安全具有重要意义。
🎯 建议动作: 研究跟进,评估RAGE在自身嵌入式安全产品中的应用可能性。