Automated policy synthesis for system call sandboxing
Shankara Pailoor, Xinyu Wang, Hovav Shacham, Isil Dillig
Abstract
System call whitelisting is a powerful sandboxing approach that can significantly reduce the capabilities of an attacker if an application is compromised. Given a policy that specifies which system calls can be invoked with what arguments, a sandboxing framework terminates any execution that violates the policy. While this mechanism greatly reduces the attack surface of a system, manually constructing these policies is time-consuming and error-prone. As a result, many applications -including those that take untrusted user input-opt not to use a system call sandbox.
Motivated by this problem, we propose a technique for automatically constructing system call whitelisting policies for a given application and policy DSL. Our method combines static code analysis and program synthesis to construct sound and precise policies that never erroneously terminate the application, while restricting the program's system call usage as much as possible. We have implemented our approach in a tool called Abhaya and experimentally evaluate it 674 Linux and OpenBSD applications by automatically synthesizing Seccomp-bpf and Pledge policies. Our experimental results indicate that Abhaya can efficiently generate useful and precise sandboxes for real-world applications.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext cc769656-ead0-4ac0-b824-50ee5b4efed2Cited by top-tier papers15
- Demons in the Shared Kernel: Abstract Resource Attacks Against OS-level VirtualizationNanzi Yang, Wenbo Shen, Jinku Li, Yutian Yang et al.CCS 2021 · 32 citations
- Preventing Dynamic Library Compromise on Node.js via RWX-Based Privilege ReductionNikos Vasilakis, Cristian-Alexandru Staicu, Grigoris Ntousakis, Konstantinos Kallas et al.CCS 2021 · 27 citations
- C2C: Fine-grained Configuration-driven System Call FilteringSeyedhamed Ghavamnia, Tapti Palit, Michalis PolychronakisCCS 2022 · 22 citations
- Protect the System Call, Protect (Most of) the World with BASTIONChristopher Jelesnianski, Mohannad Ismail, Yeongjin Jang, Dan Williams et al.ASPLOS 2023 · 15 citations
- Gramine-TDX: A Lightweight OS Kernel for Confidential VMsDmitrii Kuvaiskii, Dimitrios Stavrakakis, Kailun Qin, Cedric Xing et al.CCS 2024 · 10 citations
Related papers
- SysXCHG: Refining Privilege with Adaptive System Call FiltersAlexander J. Gaidis, Vaggelis Atlidakis, Vasileios P. KemerlisCCS 2023 · 9 citations
- Building Dynamic System Call Sandbox with Partial Order AnalysisQuan Zhang, Chijin Zhou, Yiwen Xu, Zijing Yin et al.OOPSLA 2023 · 5 citations
- SysPart: Automated Temporal System Call Filtering for BinariesVidya Lakshmi Rajagopalan, Konstantinos Kleftogiorgos, Enes Göktas, Jun Xu et al.CCS 2023 · 10 citations
- Automated Synthesis of Effect Graph Policies for Microservice-Aware Stateful System Call SpecializationWilliam Blair, Frederico Araujo, Teryl Taylor, Jiyong JangS&P 2024 · 6 citations
- KSG: Augmenting Kernel Fuzzing with System Call Specification GenerationHao Sun, Yuheng Shen, Jianzhong Liu, Yiru Xu et al.USENIX ATC 2022 · 45 citations
