Software obfuscation plays a crucial role in protecting intellectual property in software from reverse engineering attempts. While some obfuscation techniques originate from the obfuscation-reverse engineering arms race, others stem from different research areas, such as binary software exploitation. Return-oriented programming (ROP) gained popularity as one of the most effective exploitation techniques for memory error vulnerabilities. ROP interferes with our natural perception of a process control flow, inspiring us to repurpose ROP as a robust and effective form of software obfuscation. Although previous work already explores ROP's effectiveness as an obfuscation technique, evolving reverse engineering research raises the need for principled reasoning to understand the strengths and limitations of ROP-based mechanisms against man-at-the-end (MATE) attacks. To this end, we present ROPfuscator, a compiler-driven obfuscation pass based on ROP for any programming language supported by LLVM. We incorporate opaque predicates and constants and a novel instruction hiding technique to withstand sophisticated MATE attacks. More importantly, we introduce a realistic and unified threat model to thoroughly evaluate ROPfuscator and provide principled reasoning on ROP-based obfuscation techniques that answer to code coverage, incurred overhead, correctness, robustness, and practicality challenges.


翻译:软件混淆在保护软件知识产权免受反向工程尝试方面起着至关重要的作用。虽然一些混淆技术源于混淆-反向工程竞赛,但其他技术则源自不同的研究领域,如二进制软件利用。基于返回导向编程(ROP)的利用技术已成为最有效的针对内存错误漏洞的漏洞利用技术之一。ROP干扰了我们对过程控制流程的自然感知,启发我们将ROP重新用作一种强大而有效的软件混淆形式。虽然先前的工作已经探索了ROP作为混淆技术的有效性,但不断发展的反向工程研究提出了对原则性推理的需求,以了解基于ROP的机制在面对末端攻击(MATE)时的优势和局限性。为此,我们提出了ROPfuscator,这是一种基于任何LLVM支持的编程语言的ROP的编译器驱动的混淆传递。我们结合了不透明谓词和常量以及一种新的指令隐藏技术,以抵御复杂的MATE攻击。更重要的是,我们引入了一个现实和统一的威胁模型,以全面评估ROPfuscator并提供原则性推理,这些原则性推理涉及代码覆盖、产生的开销、正确性、鲁棒性和实用性等方面的挑战。

0
下载
关闭预览

相关内容

百篇论文纵览大型语言模型最新研究进展
专知会员服务
70+阅读 · 2023年3月31日
【CVPR2022】带噪声标签的少样本学习
专知会员服务
41+阅读 · 2022年4月15日
[综述]深度学习下的场景文本检测与识别
专知会员服务
78+阅读 · 2019年10月10日
异常检测论文大列表:方法、应用、综述
专知
126+阅读 · 2019年7月15日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
逆强化学习-学习人先验的动机
CreateAMind
16+阅读 · 2019年1月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2023年5月23日
VIP会员
相关VIP内容
百篇论文纵览大型语言模型最新研究进展
专知会员服务
70+阅读 · 2023年3月31日
【CVPR2022】带噪声标签的少样本学习
专知会员服务
41+阅读 · 2022年4月15日
[综述]深度学习下的场景文本检测与识别
专知会员服务
78+阅读 · 2019年10月10日
相关基金
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员