WATSON: Leveraging Data Watchpoints for Shadow Stack Protection on Embedded Systems
本文提出了 WATSON,一种针对嵌入式系统的高效且有效的影子栈保护机制,该机制利用标准硬件数据观察点来强制实施写保护和控制流完整性,无需依赖专用安全扩展,在实现低性能开销的同时有效防止控制流劫持攻击。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你的嵌入式设备(比如智能恒温器、医疗监护仪或汽车的制动系统)是一座繁忙的办公楼。其中运行的软件是员工,而“栈”则是一叠便利贴,员工在完成一项任务后,会在上面写下接下来需要前往的位置。
问题:便利贴劫持
在许多这类设备中,软件是用一种名为 C 的语言编写的。它快速高效,但有点像一间混乱的办公室,任何人都可能意外(或恶意)涂改便利贴。一种常见的攻击称为“返回导向编程”(ROP)攻击,就像一名破坏者潜入其中,擦掉一张“前往休息室”的便条,并将其替换为“前往金库”。当员工完成任务并查看便条时,他们会前往错误的地方,攻击者 thereby 接管整栋大楼。
为防止这种情况,安全专家使用“影子栈”。你可以将其视为一份“主副本”便利贴,存放在一个只有老板能打开的锁闭玻璃柜中。每当员工在主栈上写下一张便条时,他们也会在主副本上写下同样的内容。当他们完成任务时,会核对主副本,确认他们真正应该前往的位置。如果主便条写着“金库”,而主副本写着“休息室”,系统就会知道出了问题并阻止攻击。
旧方案:过于笨重或昂贵
以往为小型设备构建此类“主副本”的尝试存在重大缺陷:
- 过于笨重:它们显著拖慢了大楼的运行速度(有时超过 500%),导致设备过于迟缓而无法实用。
- 需要专用硬件:它们依赖高科技安全室(如"TrustZone"),而许多廉价设备并不具备这些。
- 留下漏洞:它们常常忘记保护在紧急情况下(如断电或系统警报)所采取的便条,使攻击者得以通过这些后门潜入。
新方案:WATSON
本文介绍了一种构建该安全系统的巧妙新方法——WATSON。
创意类比:“监视之眼”
WATSON 并非建造新的昂贵安全室,而是利用大楼中早已存在但大多被忽视的工具:数据观察点。
想象大楼配备了一套安全摄像头(硬件调试单元),最初安装只是为了让维修人员在检修时观察是否有泄漏或管道破裂。这些摄像头可以被编程为:一旦任何人试图触碰特定区域,就会发出“警报!”的尖叫。
WATSON 重新利用了这些摄像头:
- 锁:它将摄像头对准“主副本”(影子栈)。
- 规则:摄像头被设定为,除非是老板在正式更新便条的特定时刻,否则任何人试图写入(修改)便条时,都会触发警报。
- 结果:如果黑客试图潜入并涂改主副本,摄像头会尖叫“警报!”,大楼立即锁定。如果老板合法地更新便条,摄像头则允许通过。
如何处理紧急情况
WATSON 的一项超能力是,它不仅监视普通员工,还监视应急响应人员(中断和异常)。
- 在旧系统中,如果警报响起,应急响应人员会接管,安全摄像头可能会陷入混乱或被关闭。
- WATSON 确保即使在紧急情况下,“主副本”仍受到保护。它会保存紧急便条的快照,并在让员工恢复正常工作之前,将其与主副本进行核对。
结果:快速、轻量且安全
研究人员在真实硬件(如许多物联网设备中使用的芯片)上测试了 WATSON:
- 速度:它几乎不会拖慢大楼运行。“主副本”检查仅增加约**1.8% 至 7.3%**的开销。这就像给开门增加了一个微小的延迟——用户几乎察觉不到,但对安全至关重要。
- 体积:它不会占用大楼内存的太多空间。
- 兼容性:由于它利用现有的“安全摄像头”(调试单元)而非建造新墙,因此能与其他安全系统协同工作,不会引发冲突。
总结
WATSON 是为小型设备设计的一种智能、轻量级的安全卫士。它不建造昂贵的新堡垒,而是利用芯片中现有的“安全摄像头”来监视关键的返回地址“主副本”。它能阻止黑客更改目的地便条,即使在紧急情况下也是如此,同时保持设备快速平稳运行。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。