Privagic: automatic code partitioning with explicit secure typing
Partitioning a multi-threaded application between a secure and a non-secure memory zone remains a challenge. The current tools rely on data flow analysis techniques, which are unable to handle multi-threaded C or C++ applications. To avoid this limitation, we propose to trade the ease-of-use of data flow analysis for another language construct: explicit secure typing. With secure typing, as with data flow analysis, the developer annotates memory locations that contain sensitive values. However, instead of analyzing how the sensitive values flow, we propose to use these annotations to only check typing rules, such as ensuring that the code never stores a sensitive value in an unsafe memory location. By avoiding data flow analysis, the developer has to annotate more memory locations, but the partitioning tool can handle multi-threaded C and C++ applications.
Authors
- Gaël Thomas (ORCID: https://orcid.org/0000-0002-9444-1071)
- Yohan Pipereau (ORCID: https://orcid.org/0009-0001-5437-0846)
- Adam Chader (ORCID: https://orcid.org/0009-0008-3234-6774)
- Subashiny Tanigassalame
- Jana Toljaga
Institutions
- Centre Inria de Saclay (FR)
- Institut Polytechnique de Paris (FR)
- Télécom SudParis (FR)
Publication Details
- Published
- 2024-11-27
- DOI
- https://doi.org/10.1145/3652892.3700759
- Citations
- 1
- Primary Topic
- Security and Verification in Computing
- Type
- article
- Field-Weighted Citation Impact
- 0.35