arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2109.02775cs.SE
收藏

轻量级、多阶段、制造商辅助的应用程序专业化认证

Lightweight, Multi-Stage, Compiler-Assisted Application Specialization

Mohannad Alhanahnah, Rithik Jain, Vaibhav Rastogi, Somesh Jha, Thomas Reps

摘要:

程序迁移的目的是提高性能,减少臃肿的应用程序的攻击面。最近已经提出了几种技术来专门化程序。这些方法要么基于不合理的策略,要么基于苛刻的技术,从而导致不安全的结果或高开销的浮动过程。在本文中,我们通过应用部分评估原则来生成专门的应用程序来解决这些限制。我们的方法依赖于一个简单的观察,即应用程序通常由配置逻辑组成,然后是程序的主逻辑。配置逻辑指定应该执行主逻辑中的哪些功能。LMCAS执行部分解释,以根据提供的输入捕获配置逻辑的精确程序状态。然后,LMCAS应用部分求值优化,通过在捕获的部分状态中传播常量、消除不需要的代码并保留所需的功能来生成专用程序。我们对常用基准测试和实际应用程序的LMCAS评估表明,它成功地删除了不需要的功能,同时保留了被删除程序的功能和鲁棒性,运行速度比以前的工具更快,并减少了专门程序的攻击面。LMCAS的运行速度分别比最先进的解压缩工具CHISEL、RAZOR和OCCAM快1500倍、4.6倍和1.2倍;实现了二进制大小减少25%;通过删除51.7%的小工具和83%的已知CVE漏洞,减少了代码重用攻击的攻击面

英文摘要:

Program debloating aims to enhance the performance and reduce the attack surface of bloated applications. Several techniques have been recently proposed to specialize programs. These approaches are either based on unsound strategies or demanding techniques, leading to unsafe results or a high overhead debloating process. In this paper, we address these limitations by applying partial-evaluation principles to generate specialized applications. Our approach relies on a simple observation that an application typically consists of configuration logic, followed by the main logic of the program. The configuration logic specifies what functionality in the main logic should be executed. LMCAS performs partial interpretation to capture a precise program state of the configuration logic based on the supplied inputs. LMCAS then applies partial-evaluation optimizations to generate a specialized program by propagating the constants in the captured partial state, eliminating unwanted code, and preserving the desired functionalities. Our evaluation of LMCAS on commonly used benchmarks and real-world applications shows that it successfully removes unwanted features while preserving the functionality and robustness of the deblated programs, runs faster than prior tools, and reduces the attack surface of specialized programs. LMCAS runs 1500x, 4.6x, and 1.2x faster than the state-of-the-art debloating tools CHISEL, RAZOR, and OCCAM, respectively; achieves 25% reduction in the binary size; reduces the attack surface of code-reuse attacks by removing 51.7% of the total gadgets and eliminating 83% of known CVE vulnerabilities

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

↑