首页> 外文会议>Symposium on Security and Privacy >A Tough Call: Mitigating Advanced Code-Reuse Attacks at the Binary Level
【24h】

A Tough Call: Mitigating Advanced Code-Reuse Attacks at the Binary Level

机译:一个艰难的呼唤:减轻二进制级别的高级码重用攻击

获取原文

摘要

Current binary-level Control-Flow Integrity (CFI) techniques are weak in determining the set of valid targets for indirect control flow transfers on the forward edge. In particular, the lack of source code forces existing techniques to resort to a conservative address-taken policy that overapproximates this set. In contrast, source-level solutions can accurately infer the targets of indirect calls and thus detect malicious control-flow transfers more precisely. Given that source code is not always available, however, offering similar quality of protection at the binary level is important, but, unquestionably, more challenging than ever: recent work demonstrates powerful attacks such as Counterfeit Object-oriented Programming (COOP), which made the community believe that protecting software against control-flow diversion attacks at the binary level is rather impossible. In this paper, we propose binary-level analysis techniques to significantly reduce the number of possible targets for indirect branches. More specifically, we reconstruct a conservative approximation of target function prototypes by means of use-def analysis at possible callees. We then couple this with liveness analysis at each indirect callsite to derive a many-to-many relationship between callsites and target callees with a much higher precision compared to prior binary-level solutions. Experimental results on popular server programs and on SPEC CPU2006 show that TypeArmor, a prototype implementation of our approach, is efficient - with a runtime overhead of less than 3%. Furthermore, we evaluate to what extent TypeArmor can mitigate COOP and other advanced attacks and show that our approach can significantly reduce the number of targets on the forward edge. Moreover, we show that TypeArmor breaks published COOP exploits, providing concrete evidence that strict binary-level CFI can still mitigate advanced attacks, despite the absence of source information or C++ semantics.
机译:目前的二进制控制流程完整性(CFI)技术在确定正向边缘上的间接控制流传输的一组有效目标时弱。特别是,缺乏源代码迫使现有技术求助于保守的地址策略,这是一种超额偿还这套。相比之下,源级解决方案可以准确地推断间接呼叫的目标,从而更准确地检测恶意控制流量转移。鉴于源代码并不总是可用的,但是,在二进制水平上提供类似的保护质量是重要的,但是,毫无疑问,比以往更具挑战性:最近的工作表明了伪造面向对象的编程(Coop)等强大的攻击社区认为,保护软件免受二进制水平的控制流动转移攻击是不可能的。在本文中,我们提出了二进制水平分析技术,以显着减少间接分支的可能目标的数量。更具体地,我们通过在可能的分支中通过使用 - def分析重建目标函数原型的保守近似。然后,我们将这与每个间接代表的活动分析结合在一起,从与先前的二进制级别解决方案相比,在每个间接代表中都能在呼叫者和目标分支机构之间获得多对多的关系。在流行的服务器程序和规范CPU2006上的实验结果表明,Typearmor,我们方法的原型实现,是有效的 - 运行时开销不到3%。此外,我们评估了Typearmor可以在多大程度上可以减轻COOP和其他高级攻击,并表明我们的方法可以显着降低前沿上的目标数量。此外,我们表明,尽管没有源信息或C ++语义,但提供了短尾草原的漏洞利用,提供了严格的二进制级别CFI的具体证据。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号