A fully abstract compiler prevents security features of the source language from being bypassed by an attacker operating at the target language level. Unfortunately, developing fully abstract compilers is very complex, and it is even more so when the target language is an untyped assembly language. To provide a fully abstract compiler that targets untyped assembly, it has been suggested to extend the target language with a protected module architecture-an assembly-level isolation mechanism which can be found in nextgeneration processors. This article provides a fully abstract compilation scheme whose source language is an object-oriented, high-level language and whose target language is such an extended assembly language. The source language enjoys features such as dynamic memory allocation and exceptions. Secure compilation of first-order method references, cross-package inheritance, and inner classes is also presented. Moreover, this article contains the formal proof of full abstract...
Secure Compilation to Protected Module Architectures / Patrignani, Marco; Agten, Pieter; Strackx, Raoul; Jacobs, Bart; Clarke, Dave; Piessens, Frank. - In: ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS. - ISSN 0164-0925. - 37:2(2015), pp. 6:1-6:50. [10.1145/2699503]
Secure Compilation to Protected Module Architectures
Patrignani , Marco;
2015-01-01
Abstract
A fully abstract compiler prevents security features of the source language from being bypassed by an attacker operating at the target language level. Unfortunately, developing fully abstract compilers is very complex, and it is even more so when the target language is an untyped assembly language. To provide a fully abstract compiler that targets untyped assembly, it has been suggested to extend the target language with a protected module architecture-an assembly-level isolation mechanism which can be found in nextgeneration processors. This article provides a fully abstract compilation scheme whose source language is an object-oriented, high-level language and whose target language is such an extended assembly language. The source language enjoys features such as dynamic memory allocation and exceptions. Secure compilation of first-order method references, cross-package inheritance, and inner classes is also presented. Moreover, this article contains the formal proof of full abstract...I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione



