5

[1902.10880] Is Less Really More? Why Reducing Code Reuse Gadget Counts via Soft...

 2 years ago
source link: https://arxiv.org/abs/1902.10880
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Computer Science > Cryptography and Security

[Submitted on 28 Feb 2019 (v1), last revised 16 Jan 2020 (this version, v3)]

Is Less Really More? Why Reducing Code Reuse Gadget Counts via Software Debloating Doesn't Necessarily Indicate Improved Security

Download PDF

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.

Comments: 16 pages, 3 figures, 11 tables, 2 appendices Subjects: Cryptography and Security (cs.CR) Cite as: arXiv:1902.10880 [cs.CR]   (or arXiv:1902.10880v3 [cs.CR] for this version)

Submission history

From: Michael Brown [view email]
[v1] Thu, 28 Feb 2019 03:15:57 UTC (546 KB)
[v2] Fri, 12 Jul 2019 13:21:56 UTC (365 KB)
[v3] Thu, 16 Jan 2020 17:33:08 UTC (470 KB)

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK