本文提出了一种名为PLATYPUS的新型防御机制,旨在弥补现有硬件辅助控制流完整性(CFI)机制——Intel CET(Control-flow Enforcement Technology)的不足。CET虽然已广泛部署于现代Intel CPU,但仍允许通过劫持函数指针进行跨模块边界(cross-DSO)的间接控制转移,这一能力被大量现代漏洞利用所依赖。PLATYPUS通过轻量级地址掩码(address masking)实现“执行狱”(execution jails),强制间接控制转移保持在模块边界内。跨动态共享对象(DSO)的函数调用仅允许通过每个DSO特定的必要PLT存根(PLT stubs)进行。作者基于LLVM实现了原型,并在19个应用程序和16个共享库(包括glibc)上进行了评估,结果显示PLATYPUS减少了超过98%的可间接访问的跨DSO函数。在Nginx和Redis等复杂应用上的性能测试表明,PLATYPUS的开销不超过0.5%。该工作为代码重用攻击的防御提供了新的思路,在不显著影响性能的前提下显著提升了安全性。
💡 推荐理由: Intel CET是当前主流硬件防御,但存在跨模块跳转的安全缺口;PLATYPUS以极小开销堵住该缺口,对提升现有系统安全性有重要研究价值。
🎯 建议动作: 研究跟进