Treffer: Janitizer: Rethinking Binary Tools for Practical and Comprehensive Security

Title:
Janitizer: Rethinking Binary Tools for Practical and Comprehensive Security
Publisher Information:
Association for Computing Machinery (ACM)
Department of Computer Science and Technology
//doi.org/10.1145/3696443.3708930
Publication Year:
2025
Collection:
Apollo - University of Cambridge Repository
Document Type:
Konferenz conference object
File Description:
application/pdf
Language:
English
DOI:
10.17863/CAM.115769
Rights:
Attribution 4.0 International ; https://creativecommons.org/licenses/by/4.0/
Accession Number:
edsbas.B9403F9B
Database:
BASE

Weitere Informationen

Comprehensive application security can only be ensured if all code that it is going to execute is protected: any unprotected code, either from libraries or the application, becomes a potential attack surface. Compilers contain extensive suites of tools to aid in this, but require source availability that is often infeasible. Existing static and dynamic binary rewriting techniques that retrofit for security either lack in code coverage or soundness, or incur very high performance overhead. We present a case for adopting hybrid static-dynamic mechanisms to ensure comprehensive security for binaries, providing sound and practical solutions. We highlight the limitations of existing hybrid tools in their use for security purposes, and provide insights to re-architect them. We provide a framework, Janitizer, that enables sound and comprehensive code coverage for entire applications, presenting hybrid binary implementations for two important classes of security schemes; a memory sanitizer and a control flow integrity scheme. These achieve the coverage and correctness of high-overhead dynamic techniques, while maintaining performance levels of low-coverage static techniques.