Publication | Open Access
Secure Compilation to Protected Module Architectures
91
Citations
35
References
2015
Year
EngineeringInformation SecurityCompiler TechnologySoftware SystemsSoftware EngineeringHardware SystemsFormal VerificationSoftware AnalysisHardware SecurityDynamic Memory AllocationTrusted Execution EnvironmentCompilersDynamic CompilationProgramming LanguagesHigh-level Programming LanguageSecure CompilationCompiler SupportComputer EngineeringSecure By DesignComputer ScienceLanguage-based SecuritySource LanguageData SecurityCryptographySoftware SecurityProgram AnalysisFormal MethodsCompilation SchemeSystem Software
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 next-generation 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 abstraction of the compilation scheme. Measurements of the overhead introduced by the compilation scheme indicate that it is negligible.
| Year | Citations | |
|---|---|---|
Page 1
Page 1