Automating Seccomp Filter Generation for Linux Applications

被引:17
|
作者
Canella, Claudio [1 ]
Werner, Mario [1 ]
Gruss, Daniel [1 ]
Schwarz, Michael [2 ]
机构
[1] Graz Univ Technol, Graz, Austria
[2] CISPA Helmholtz Ctr Informat Secur Germany, Saarbrucken, Germany
基金
欧洲研究理事会;
关键词
seccomp; Linux; automated syscall filtering;
D O I
10.1145/3474123.3486762
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Software vulnerabilities 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 approaches to automate this task. However, aswe 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 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 statically extract the used syscalls. The compiler-based approach of Chestnut is up to factor 73 faster than previous approaches with the same accuracy. On the binary level, our approach extends over previous ones by also applying to non-PIC binaries. An optional second phase of Chestnut is dynamic refinement to restrict the set of allowed syscalls further. We demonstrate that Chestnut on average blocks 302 syscalls (86.5 %) via the compiler and 288 (82.5 %) using the binary analysis on a set of 18 applications. Chestnut blocks the dangerous exec syscall in 50 % and 77.7 % of the tested applications using the compiler- and binary-based approach, respectively. For the tested applications, Chestnut blocks exploitation of more than 61 % of the 175 CVEs that target the kernel via syscalls.
引用
收藏
页码:139 / 151
页数:13
相关论文
共 50 条
  • [1] The devil is in the detail: Generating system call whitelist for Linux seccomp
    Xing, Yunlong
    Cao, Jiahao
    Sun, Kun
    Yan, Fei
    Wan, Shengye
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2022, 135 : 105 - 113
  • [2] Automating the Generation of Privacy Policies for Context-sharing Applications
    Apolinarski, Wolfgang
    Handte, Marcus
    Marron, Pedro Jose
    2015 INTERNATIONAL CONFERENCE ON INTELLIGENT ENVIRONMENTS IE 2015, 2015, : 73 - 80
  • [3] Automating dual boot (Linux and NT) installations
    Agrawala, R
    Fulmer, R
    Erickson, S
    USENIX ASSOCIATION PROCEEDINGS OF THE FOURTEENTH SYSTEMS ADMINISTRATION CONFERENCE (LISA XIV), 2000, : 245 - 254
  • [4] Automating Test Data Generation for Testing Context-Aware Applications
    Mehmood, Mirza Aamir
    Khan, M. N. A.
    Afzal, Wasif
    PROCEEDINGS OF 2018 IEEE 9TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS), 2018, : 104 - 108
  • [5] Automating gait generation
    Sun, HC
    Metaxas, DN
    SIGGRAPH 2001 CONFERENCE PROCEEDINGS, 2001, : 261 - 269
  • [6] Automating the generation of objects
    Lowry, GR
    Wallace, AI
    1998 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: EDUCATION & PRACTICE, PROCEEDINGS, 1998, : 150 - 157
  • [7] Documenting and Automating Collateral Evolutions in Linux Device Drivers
    Padioleau, Yoann
    Lawall, Julia
    Hansen, Rene Rydhof
    Muller, Gilles
    EUROSYS'08: PROCEEDINGS OF THE EUROSYS 2008 CONFERENCE, 2008, : 247 - 260
  • [8] Gentoo linux: The next generation of linux
    Thiruvathukal, GK
    COMPUTING IN SCIENCE & ENGINEERING, 2004, 6 (05) : 66 - 74
  • [9] Next generation Linux Applications Gateway for CERN accelerator control systems
    Regulez, Mario Rey
    Oulevey, Thomas
    26TH INTERNATIONAL CONFERENCE ON COMPUTING IN HIGH ENERGY AND NUCLEAR PHYSICS, CHEP 2023, 2024, 295
  • [10] Automating the implementation of Kalman filter algorithms
    Whittle, J
    Schumann, J
    ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2004, 30 (04): : 434 - 453