BinTrimmer: Towards Static Binary Debloating Through Abstract Interpretation

BinTrimmer: Towards Static Binary Debloating Through Abstract Interpretation
复制标题

BinTrimmer:通过抽象解释实现静态二进制反膨胀

DOI:
10.1007/978-3-030-22038-9_23
复制
发表时间:
2019
期刊:
and Vulnerability Assessment. DIMVA 2019.
影响因子:
--
通讯作者:
Redini N., Wang R.
Redini N., Wang R.
中科院分区:
--
文献类型:
--
作者:
Redini N., Wang R.

文献摘要

参考文献

被引文献

相似文献

现代程序的日益复杂促使软件工程师经常依赖第三方库的支持。尽管这种做法允许应用程序开发人员获得令人信服的上市时间,但它通常会使最终产品充斥着大量不常用的代码。除了让程序变得不必要地大之外,这种休眠代码可能会被故意的攻击者利用来伤害用户。因此,最近提出了几种技术来执行程序膨胀和从应用程序中移除(或保护)死代码。然而,现有的方法要么基于不合理的策略,从而产生不可靠的结果,要么对程序本身提出了过于严格的假设,本文提出了一种新的抽象域,称为符号不可知性步长区间,并以此为基础设计了一种新颖而合理的静态技术,基于抽象解释,可靠地执行程序去膨胀。在本文中,我们详细介绍了我们方法的细节,并通过在一个名为BinTrimmer的工具中对二进制变量执行静态程序去膨胀来展示其有效性和有用性。我们的评估表明,BinTrimmer可以去除高达65.6%的库代码,并且我们的领域比相关工作平均提高98%的准确率。
The increasing complexity of modern programs motivates software engineers to often rely on the support of third-party libraries. Although this practice allows application developers to achieve a compelling time-to-market, it often makes the final productbloatedwith conspicuous chunks ofunusedcode. Other than making a program unnecessarily large, this dormant code could be leveraged by willful attackers to harm users. As a consequence, several techniques have been recently proposed to performprogram debloatingand remove (or secure) dead code from applications. However, state-of-the-art approaches are either based on unsound strategies, thus producing unreliable results, or pose too strict assumptions on the program itself.In this work, we propose a novel abstract domain, calledSignedness-Agnostic Strided Interval, which we use as the cornerstone to design a novel and sound static technique, based on abstract interpretation, toreliablyperform program debloating. Throughout the paper, we detail the specifics of our approach and show its effectiveness and usefulness by implementing it in a tool, calledBinTrimmer, to perform static program debloating on binaries.Our evaluation shows thatBinTrimmercan remove up to 65.6% of a library’s code and that our domain is, on average, 98% more precise than the related work.
DOI: 10.1145/996841.996869
发表时间: 2004-06
期刊: --
影响因子: --
作者:
A. Venet;G. Brat
通讯作者: A. Venet;G. Brat
DamGate:程序二进制文件中的动态自适应多功能门控
DOI: 10.1145/3141235.3141243
发表时间: 2017
期刊: Proceedings of the 2017 Workshop on Forming an Ecosystem Around Software Transformation
影响因子: --
作者:
Yurong Chen;Tian Lan;Guru Venkataramani
通讯作者: Guru Venkataramani
与符号无关的程序分析:低级代码的精确整数界限
DOI: 10.1007/978-3-642-35182-2_9
发表时间: 2012
期刊: The Journal of nutrition
影响因子: --
作者:
J. Navas;P. Schachte;H. Søndergaard;Peter James Stuckey
通讯作者: Peter James Stuckey
通过冷代码去除和乐观部分程序加载的方式“瘦身”Java虚拟机
DOI: 10.1016/j.scico.2010.04.008
发表时间: 2011
期刊: Sci. Comput. Program.
影响因子: --
作者:
Gregor Wagner;A. Gal;M. Franz
通讯作者: M. Franz
2001 年 ACM SIGPLAN-SIGSOFT 软件工具和工程程序分析研讨会论文集:PASTE 01,美国犹他州 Snowbird,2001 年 6 月 18-19 日
DOI: 10.1145/379605
发表时间: 2001
期刊: The Annals of thoracic surgery
影响因子: --
作者:
Acm Sigsoft
通讯作者: Acm Sigsoft