本文针对控制流完整性(CFI)策略的安全评估问题展开研究。现有防御机制(如 CFI)在缓解内存破坏漏洞利用方面发挥着重要作用,但不同实现的防护能力难以比较。既有度量指标(如 AIR)仅关注控制流图的边或基本块的覆盖情况,却未考虑不同基本块对攻击者的利用价值,导致评估结果无法真实反映策略的安全强度。为此,作者提出了两种新型度量指标:BLOCKINSULATION 和 CFGINSULATION。它们通过模拟攻击者在控制流图中遍历时可利用的基本块价值,来衡量 CFI 策略对攻击路径的阻断能力,克服了传统指标的局限性。在此基础上,论文进一步提出了一种新颖的 CFI 策略生成器 NumCFI,其设计目标是与现有策略生成器正交,能够阻止攻击者从易受攻击的代码段直接跳转到系统调用指令,从而切断利用链中的‘捷径’。作者使用 BLOCKINSULATION、CFGINSULATION 以及现有指标对 NumCFI 和其他多种 CFI 策略生成器进行了系统性评估。最后,论文描述了 L+TCFI——一种将 NumCFI 与基于标签的现有策略相结合的完整实现,其性能开销仅为 1.27%,展示了所提方法在实际部署中的可行性。该研究为 CFI 领域提供了更精细的安全评估工具和一种新的策略设计思路,适合系统安全研究人员、编译器开发者以及负责CFI机制选型的蓝队工程师阅读。
💡 推荐理由: 为安全从业者提供了更贴近攻击者视角的CFI有效性评估方法,帮助更准确地比较不同CFI实现的安全强度,并为设计更强防护策略提供新方向。
🎯 建议动作: 研究跟进