Debloating Software through Piece-Wise Compilation and Loading

02/02/2018
by   Anh Quach, et al.
0

Programs are bloated. Our study shows that only 5 across Ubuntu Desktop environment (>2200 programs); the heaviest user, vlc media player, only used 18 vulnerable attack surface for software exploitation and imposes undue burden on defenses (e.g., CFI defenses). In this paper: (1) We present a debloating framework built on a compiler toolchain that can successfully debloat software (shared/static libraries and executables). Our solution can successfully compile and load most libraries on Ubuntu Desktop 16.04. (2) We demonstrate an elimination of over 84 coreutils and 85 functionality. We show that even complex COTS programs (e.g., FireFox, Curl) can be debloated without a need to recompile. (3) We demonstrate the security impact of our system by eliminating over 70 coreutils suite, and show that unused code that contain real-world vulnerabilities can be successfully eliminated without adverse effects on the program. (4) Our solution imposes a low load time overhead.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/20/2018

Automated CFI Policy Assessment with Reckon

Protecting programs against control-flow hijacking attacks recently has ...
research
03/04/2021

Technical Leverage in a Software Ecosystem: Development Opportunities and Security Risks

In finance, leverage is the ratio between assets borrowed from others an...
research
09/06/2021

Lightweight, Multi-Stage, Compiler-Assisted Application Specialization

Program debloating aims to enhance the performance and reduce the attack...
research
11/02/2017

Talos: Neutralizing Vulnerabilities with Security Workarounds for Rapid Response

Considerable delays often exist between the discovery of a vulnerability...
research
09/18/2023

VULNERLIZER: Cross-analysis Between Vulnerabilities and Software Libraries

The identification of vulnerabilities is a continuous challenge in softw...
research
02/18/2019

Binary Debloating for Security via Demand Driven Loading

Modern software systems heavily use C/C++ based libraries. Because of th...
research
03/27/2021

NMRPy: a novel NMR scripting system to implement artificial intelligence and advanced applications

Background: Software is an important windows to offer a variety of compl...

Please sign up or login with your details

Forgot password? Click here to reset