SaBRe: load-time selective binary rewriting
File(s)Arras2022_Article_SaBReLoad-timeSelectiveBinaryR.pdf (524.46 KB)
Published version
Author(s)
Type
Journal Article
Abstract
Binary 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 x86_64 and RISC-V—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%.
Date Issued
2022-01-21
Date Acceptance
2021-12-20
Citation
International Journal on Software Tools for Technology Transfer, 2022, 24, pp.205-223
ISSN
0945-8115
Publisher
Springer
Start Page
205
End Page
223
Journal / Book Title
International Journal on Software Tools for Technology Transfer
Volume
24
Copyright Statement
© The Author(s) 2022. Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
License URL
Sponsor
Engineering & Physical Science Research Council (EPSRC)
European Research Council (ERC)
Identifier
http://gateway.webofknowledge.com/gateway/Gateway.cgi?GWVersion=2&SrcApp=PARTNER_APP&SrcAuth=LinksAMR&KeyUT=WOS:000745444900001&DestLinkType=FullRecord&DestApp=ALL_WOS&UsrCustomerID=1ba7043ffcc86c417c072aa74d649202
Grant Number
EP/L002795/1
819141
Subjects
Science & Technology
Technology
Computer Science, Software Engineering
Computer Science
Selective binary rewriting
x86_64
RISC-V
System call tracing
Multi-version execution
Fault injection
Publication Status
Published
Date Publish Online
2022-01-21