Author:
Arras Paul-Antoine,Andronidis Anastasios,Pina Luís,Mituzas Karolis,Shu Qianyi,Grumberg Daniel,Cadar Cristian
Abstract
AbstractBinary rewriting consists in disassembling a program to modify its instructions. However, existing solutions suffer from shortcomings in terms of soundness and performance. We present SaBRe, a load-time system for selective binary rewriting. SaBRe rewrites specific constructs—particularly system calls and functions—when the program is loaded into memory, and intercepts them using plugins through a simple API. We also discuss the theoretical underpinnings of disassembling and rewriting. We developed two backends—for and —which were used to implement three plugins: a fast system call tracer, a multi-version executor, and a fault injector. Our evaluation shows that SaBRe imposes little overhead, typically below 3%.
Publisher
Springer Science and Business Media LLC
Subject
Information Systems,Software
Reference68 articles.
1. Andriesse, D., Chen, X., Van Der Veen, V., Slowinska, A., Bos, H.: An in-depth analysis of disassembly on full-scale x86/x64 binaries. In: Proceedings of the 29th USENIX Security Symposium (USENIX Security’16) (2016)
2. Arm Ltd: Conditional execution in Thumb state. https://developer.arm.com/documentation/dui0473/m/condition-codes/conditional-execution-in-thumb-state
3. Bansal, S., Aiken, A.: Automatic generation of peephole superoptimizers. In: Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’06) (2006)
4. Bauman, E., Lin, Z., Hamlen, K.: Superset disassembly: statically rewriting x86 binaries without heuristics. In: Proceedings of the 25th Network and Distributed System Security Symposium (NDSS’18) (2018)
5. Bernat, A.R., Miller, B.P.: Anywhere, any-time binary instrumentation. In: Proceedings of the 10th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE’11) (2011)
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. SysXCHG: Refining Privilege with Adaptive System Call Filters;Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security;2023-11-15
2. BiRFIA: Selective Binary Rewriting for Function Interception on ARM;Proceedings of the 37th International Conference on Supercomputing;2023-06-21
3. Solder: Retrofitting Legacy Code with Cross-Language Patches;2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER);2023-03
4. SpecDefender: Transient Execution Attack Defender using Performance Counters;Proceedings of the 2022 Workshop on Attacks and Solutions in Hardware Security;2022-11-07
5. Building A Moat: Fortifying Satellite Software from Vulnerabilities;ASCEND 2022;2022-10-15