Many functional programming languages compile to lowlevel languages such as C or assembly. Numerous security properties of those compilers, however, apply only when the compiler compiles whole programs. This paper presents a compilation scheme that securely compiles a standalone module of ModuleML, a light-weight version of an ML with modules, into untyped assembly. The compilation scheme is secure in that it reflects the abstractions of a ModuleML module, for every possible piece of assembly code that it interacts with. This is achieved by isolating the compiled module through a low-level memory isolation mechanism and by dynamically type checking its interactions. We evaluate an implementation of the compiler on relevant test scenarios.
A Secure Compiler for ML Modules / Larmuseau, Adriaan; Patrignani, Marco; Clarke, Dave. - 9458:(2015), pp. 29-48. ( 13th Asian Symposium on Programming Languages and Systems, APLAS 2015 Pohang, South Korea, November 30 - December 2, 2015,) [10.1007/978-3-319-26529-2_3].
A Secure Compiler for ML Modules
Patrignani ,Marco;
2015-01-01
Abstract
Many functional programming languages compile to lowlevel languages such as C or assembly. Numerous security properties of those compilers, however, apply only when the compiler compiles whole programs. This paper presents a compilation scheme that securely compiles a standalone module of ModuleML, a light-weight version of an ML with modules, into untyped assembly. The compilation scheme is secure in that it reflects the abstractions of a ModuleML module, for every possible piece of assembly code that it interacts with. This is achieved by isolating the compiled module through a low-level memory isolation mechanism and by dynamically type checking its interactions. We evaluate an implementation of the compiler on relevant test scenarios.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione



