B-Side: Binary-Level Static System Call Identification
Gaspard Th\'evenon, Kevin Nguetchouang, Kahina Lazri, Alain Tchana,, Pierre Olivier

TL;DR
B-Side is a static binary analysis tool that accurately identifies system calls in x86-64 executables without source code, improving security filtering by reducing false positives and detecting execution phases.
Contribution
B-Side introduces a novel static analysis method combining symbolic execution and heuristics to precisely identify system calls without source code access.
Findings
B-Side achieves an average F1 score of 0.81, outperforming competitors.
B-Side identifies fewer system calls on average, indicating higher precision.
It effectively detects execution phases for tailored filtering policies.
Abstract
System call filtering is widely used to secure programs in multi-tenant environments, and to sandbox applications in modern desktop software deployment and package management systems. Filtering rules are hard to write and maintain manually, hence generating them automatically is essential. To that aim, analysis tools able to identify every system call that can legitimately be invoked by a program are needed. Existing static analysis works lack precision because of a high number of false positives, and/or assume the availability of program/libraries source code -- something unrealistic in many scenarios such as cloud production environments. We present B-Side, a static binary analysis tool able to identify a superset of the system calls that an x86-64 static/dynamic executable may invoke at runtime. B-Side assumes no access to program/libraries sources, and shows a good degree of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
