TY - GEN
T1 - Encapsulated Functions
T2 - 1st Workshop on Kernel Isolation, Safety and Verification, KISV 2023
AU - Schuermann, Leon
AU - Thomas, Arun
AU - Levy, Amit
N1 - Publisher Copyright:
© 2023 Owner/Author(s).
PY - 2023/10/23
Y1 - 2023/10/23
N2 - Memory-safe languages like Rust are increasingly popular for systems development. Nonetheless, practical systems must interact with code written in memory-unsafe languages. This is especially true in security and safety-critical embedded systems, where subsystems such as cryptographic implementations are subject to industrial and governmental certification requirements. Direct interactions with such libraries, however, expose memory-safe languages to significant risks: Any single bug in either the foreign code or the cross-language interactions may arbitrarily violate the memory safety of the wrapping language.We present Encapsulated Functions, a framework for safely invoking untrusted code in a memory-safe system with minimal overheads. Encapsulated Functions combines hardware-based memory protection mechanisms with a set of Rust type abstractions to facilitate safe interactions with untrusted and unmodified third-party libraries.
AB - Memory-safe languages like Rust are increasingly popular for systems development. Nonetheless, practical systems must interact with code written in memory-unsafe languages. This is especially true in security and safety-critical embedded systems, where subsystems such as cryptographic implementations are subject to industrial and governmental certification requirements. Direct interactions with such libraries, however, expose memory-safe languages to significant risks: Any single bug in either the foreign code or the cross-language interactions may arbitrarily violate the memory safety of the wrapping language.We present Encapsulated Functions, a framework for safely invoking untrusted code in a memory-safe system with minimal overheads. Encapsulated Functions combines hardware-based memory protection mechanisms with a set of Rust type abstractions to facilitate safe interactions with untrusted and unmodified third-party libraries.
KW - foreign function interface
KW - memory protection
KW - memory safety
KW - rust
UR - http://www.scopus.com/inward/record.url?scp=85177677379&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85177677379&partnerID=8YFLogxK
U2 - 10.1145/3625275.3625397
DO - 10.1145/3625275.3625397
M3 - Conference contribution
AN - SCOPUS:85177677379
T3 - KISV 2023 - Proceedings of the1st Workshop on Kernel Isolation, Safety and Verification
SP - 41
EP - 48
BT - KISV 2023 - Proceedings of the1st Workshop on Kernel Isolation, Safety and Verification
PB - Association for Computing Machinery, Inc
Y2 - 23 October 2023 through 23 October 2023
ER -