当前位置: X-MOL 学术arXiv.cs.CR › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Is Less Really More? Why Reducing Code Reuse Gadget Counts via Software Debloating Doesn't Necessarily Indicate Improved Security
arXiv - CS - Cryptography and Security Pub Date : 2019-02-28 , DOI: arxiv-1902.10880
Michael D. Brown and Santosh Pande

Nearly all modern software suffers from bloat that negatively impacts its performance and security. To combat this problem, several automated techniques have been proposed to debloat software. A key metric used in many of these works to demonstrate improved security is code reuse gadget count reduction. The use of this metric is based on the prevailing idea that reducing the number of gadgets available in a software package reduces its attack surface and makes mounting a gadget-based code reuse exploit such as return-oriented programming (ROP) more difficult for an attacker. In this paper, we challenge this idea and show through a variety of realistic debloating scenarios the flaws inherent to the gadget count reduction metric. Specifically, we demonstrate that software debloating can achieve high gadget count reduction rates, yet fail to limit an attacker's ability to construct an exploit. Worse yet, in some scenarios high gadget count reduction rates conceal instances in which software debloating makes security worse by introducing new, useful gadgets. To address these issues, we propose a set of four new metrics for measuring security improvements realized through software debloating that are quality-oriented rather than quantity-oriented. We show that these metrics can identify when debloating negatively impacts security and be efficiently calculated using our static binary analysis tool, the Gadget Set Analyzer. Finally, we demonstrate the utility of these metrics in two realistic case studies: iterative debloating and debloater evaluation.

中文翻译:

少真的多吗?为什么通过软件去膨胀减少代码重用小工具计数并不一定意味着提高了安全性

几乎所有现代软件都遭受膨胀,这对其性能和安全性产生负面影响。为了解决这个问题,已经提出了几种自动化技术来消除软件的膨胀。许多这些工作中用来证明提高安全性的一个关键指标是代码重用小工具数量的减少。该指标的使用基于普遍的想法,即减少软件包中可用的小工具数量会减少其攻击面,并使攻击者更难以安装基于小工具的代码重用漏洞,例如面向返回的编程 (ROP) . 在本文中,我们挑战了这个想法,并通过各种现实的去膨胀场景展示了小工具计数减少指标固有的缺陷。具体来说,我们证明了软件去膨胀可以实现高小工具数量减少率,但未能限制攻击者构建漏洞的能力。更糟糕的是,在某些情况下,高小工具数量减少率掩盖了软件去膨胀通过引入新的、有用的小工具而使安全性变差的情况。为了解决这些问题,我们提出了一组四个新指标,用于衡量通过面向质量而非面向数量的软件去膨胀实现的安全改进。我们表明,这些指标可以识别去膨胀何时对安全性产生负面影响,并使用我们的静态二进制分析工具 Gadget Set Analyzer 进行有效计算。最后,我们在两个实际案例研究中展示了这些指标的效用:迭代消胀和消胀评估。在某些情况下,高小工具数量减少率掩盖了软件去膨胀通过引入新的、有用的小工具而使安全性变差的情况。为了解决这些问题,我们提出了一组四个新指标,用于衡量通过面向质量而非面向数量的软件去膨胀实现的安全改进。我们表明,这些指标可以识别去膨胀何时对安全性产生负面影响,并使用我们的静态二进制分析工具 Gadget Set Analyzer 进行有效计算。最后,我们在两个现实案例研究中展示了这些指标的效用:迭代消胀和消胀评估。在某些情况下,高小工具数量减少率掩盖了软件去膨胀通过引入新的、有用的小工具而使安全性变差的情况。为了解决这些问题,我们提出了一组四个新指标,用于衡量通过面向质量而非面向数量的软件去膨胀实现的安全改进。我们表明,这些指标可以识别去膨胀何时对安全性产生负面影响,并使用我们的静态二进制分析工具 Gadget Set Analyzer 进行有效计算。最后,我们在两个实际案例研究中展示了这些指标的效用:迭代消胀和消胀评估。我们提出了一组四个新指标,用于衡量通过软件去膨胀实现的安全改进,这些改进是面向质量而不是面向数量的。我们表明,这些指标可以识别去膨胀何时对安全性产生负面影响,并使用我们的静态二进制分析工具 Gadget Set Analyzer 进行有效计算。最后,我们在两个实际案例研究中展示了这些指标的效用:迭代消胀和消胀评估。我们提出了一组四个新指标,用于衡量通过软件去膨胀实现的安全改进,这些改进是面向质量而不是面向数量的。我们表明,这些指标可以识别去膨胀何时对安全性产生负面影响,并使用我们的静态二进制分析工具 Gadget Set Analyzer 进行有效计算。最后,我们在两个实际案例研究中展示了这些指标的效用:迭代消胀和消胀评估。
更新日期:2020-01-17
down
wechat
bug