Skip to main navigation Skip to search Skip to main content

Privagic: automatic code partitioning with explicit secure typing

  • Subashiny Tanigassalame
  • , Yohan Pipereau
  • , Adam Chader
  • , Jana Toljaga
  • , Gaël Thomas
  • INRIA
  • Telecom Sudparis

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

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. We implemented our explicit secure typing principle in a compiler named Privagic. Privagic takes a legacy application enriched with secure types as input. It outputs an application partitioned for Intel SGX. Our evaluation with micro- and macro-applications shows that (i) explicit secure typing can handle multi-threaded C and C++ applications, (ii) adding explicit secure types requires a modest engineering effort of less than 10 modified lines of codes in our use cases, (iii) using explicit secure typing is more efficient than embedding a complete application in an enclave both in terms of performance and security in our use cases.

Original languageEnglish
Title of host publicationMiddleware 2024 - Proceedings of the 25th ACM International Middleware Conference
PublisherAssociation for Computing Machinery, Inc
Pages199-210
Number of pages12
ISBN (Electronic)9798400706233
DOIs
Publication statusPublished - 2 Dec 2024
Externally publishedYes
Event25th ACM International Middleware Conference, Middleware 2024 - Hong Kong, Hong Kong
Duration: 2 Dec 20246 Dec 2024

Publication series

NameMiddleware 2024 - Proceedings of the 25th ACM International Middleware Conference

Conference

Conference25th ACM International Middleware Conference, Middleware 2024
Country/TerritoryHong Kong
CityHong Kong
Period2/12/246/12/24

Keywords

  • Trusted computing
  • code partitioning
  • secure typing

Fingerprint

Dive into the research topics of 'Privagic: automatic code partitioning with explicit secure typing'. Together they form a unique fingerprint.

Cite this