Automating Seccomp Filter Generation for Linux Applications

12/04/2020
by   Claudio Canella, et al.
0

Software vulnerabilities in applications undermine the security of applications. By blocking unused functionality, the impact of potential exploits can be reduced. While seccomp provides a solution for filtering syscalls, it requires manual implementation of filter rules for each individual application. Recent work has investigated automated approaches for detecting and installing the necessary filter rules. However, as we show, these approaches make assumptions that are not necessary or require overly time-consuming analysis. In this paper, we propose Chestnut, an automated approach for generating strict syscall filters for Linux userspace applications with lower requirements and limitations. Chestnut comprises two phases, with the first phase consisting of two static components, i.e., a compiler and a binary analyzer, that extract the used syscalls during compilation or in an analysis of the binary. The compiler-based approach of Chestnut is up to factor 73 faster than previous approaches without affecting the accuracy adversely. On the binary analysis level, we demonstrate that the requirement of position-independent binaries of related work is not needed, enlarging the set of applications for which Chestnut is usable. In an optional second phase, Chestnut provides a dynamic refinement tool that allows restricting the set of allowed syscalls further. We demonstrate that Chestnut on average blocks 302 syscalls (86.5 compiler and 288 (82.5 used applications. We found that Chestnut blocks the dangerous exec syscall in 50 approach, respectively. For the tested applications, Chestnut prevents exploitation of more than 62 syscalls. Finally, we perform a 6 month long-term study of a sandboxed Nginx server.

READ FULL TEXT
research
09/10/2023

SYSPART: Automated Temporal System Call Filtering for Binaries

Restricting the system calls available to applications reduces the attac...
research
06/07/2019

Software Ethology: An Accurate and Resilient Semantic Binary Analysis Framework

When reverse engineering a binary, the analyst must first understand the...
research
07/18/2022

Implementation of a Didactic Compiler for a superset of PL/0

This article describes the features of a compiler for a superset languag...
research
04/06/2020

Bringing GNU Emacs to Native Code

Emacs Lisp (Elisp) is the Lisp dialect used by the Emacs text editor fam...
research
02/14/2020

Constructing Hybrid Incremental Compilers for Cross-Module Extensibility with an Internal Build System

Context: Compilation time is an important factor in the adaptability of ...
research
02/25/2022

AutoFR: Automated Filter Rule Generation for Adblocking

Adblocking relies on filter lists, which are manually curated and mainta...
research
11/23/2020

Gonogo: An R Implementation of Test Methods to Perform, Analyze and Simulate Sensitivity Experiments

This work provides documentation for a suite of R functions contained in...

Please sign up or login with your details

Forgot password? Click here to reset