arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1907.01445cs.CR
收藏

关于软件保护的模糊集成的扩展报告

Extended Report on the Obfuscated Integration of Software Protections

Jens Van den Broeck, Bart Coppens, Bjorn De Sutter

摘要:

为了对抗诸如逆向工程和篡改之类的终端攻击,通常使用需要将支持模块链接到应用程序中的技术来保护软件。然而,众所周知,攻击者可以利用应用程序及其保护的模块化特性来加速相关代码、资产和应用保护的识别和理解过程。为了防止在不同粒度级别上利用模块性,需要混淆程序中模块之间的边界。我们建议这样做,通过结合三个跨边界的保护技术,阻止反汇编过程中,特别是重建功能:代码布局随机化,interprocedurally耦合不透明的谓词,代码因子与过程内控制流习惯用法。通过对现实用例和最先进工具的详细实验评估和广泛的敏感性分析,我们展示了我们的技术对高级攻击的潜力和弹性。所有相关代码都可在网上公开获取。

英文摘要:

To counter man-at-the-end attacks such as reverse engineering and tampering, software is often protected with techniques that require support modules to be linked into the application. It is well-known, however, that attackers can exploit the modular nature of applications and their protections to speed up the identification and comprehension process of the relevant code, the assets, and the applied protections. To counter that exploitation of modularity at different levels of granularity, the boundaries between the modules in the program need to be obfuscated. We propose to do so by combining three cross-boundary protection techniques that thwart the disassembly process and in particular the reconstruction of functions: code layout randomization, interprocedurally coupled opaque predicates, and code factoring with intraprocedural control flow idioms. By means of an elaborate experimental evaluation and an extensive sensitivity analysis on realistic use cases and state-of-the-art tools, we demonstrate our technique's potency and resilience to advanced attacks. All relevant code is publicly available online.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑