{"title":"Fully abstract trace semantics for protected module architectures","authors":"Marco Patrignani , Dave Clarke","doi":"10.1016/j.cl.2015.03.002","DOIUrl":null,"url":null,"abstract":"<div><p><span>Protected module architectures (PMAs) are isolation mechanisms of emerging processors that provide security building blocks for modern software systems. Reasoning about these building blocks means reasoning about elaborate assembly code, which can be very complex due to the loose structure of the code. One way to overcome this complexity is providing the code with a well-structured semantics. This paper presents one such semantics, namely a </span><em>fully abstract</em> trace semantics, for an assembly language enhanced with PMA. The trace semantics represents the behaviour of protected assembly code with simple abstractions, unburdened by low-level details, at the maximum degree of precision. Furthermore, it captures the capabilities of attackers to protected code and simplifies the formulation of a secure compiler targeting PMA-enhanced assembly language.</p></div>","PeriodicalId":50642,"journal":{"name":"Computer Languages Systems & Structures","volume":"42 ","pages":"Pages 22-45"},"PeriodicalIF":0.0000,"publicationDate":"2015-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.cl.2015.03.002","citationCount":"34","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Languages Systems & Structures","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1477842415000081","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"Computer Science","Score":null,"Total":0}
引用次数: 34
Abstract
Protected module architectures (PMAs) are isolation mechanisms of emerging processors that provide security building blocks for modern software systems. Reasoning about these building blocks means reasoning about elaborate assembly code, which can be very complex due to the loose structure of the code. One way to overcome this complexity is providing the code with a well-structured semantics. This paper presents one such semantics, namely a fully abstract trace semantics, for an assembly language enhanced with PMA. The trace semantics represents the behaviour of protected assembly code with simple abstractions, unburdened by low-level details, at the maximum degree of precision. Furthermore, it captures the capabilities of attackers to protected code and simplifies the formulation of a secure compiler targeting PMA-enhanced assembly language.
期刊介绍:
Following the merger of Computer Languages, Systems and Structures with the Journal of Visual Languages and Computing in 2018, we are excited to present the Journal of Computer Languages, a single publication which covers all areas of computer languages.
The Journal of Computer Languages (COLA) welcomes papers on all aspects of the design, implementation, and use of computer languages (specification, modelling, programming; textual or visual) and human-centric computing, from theory to practice. Most papers describe original technical research, but the journal also welcome empirical studies and survey articles.
Current research areas for the Journal of Computer Languages include:
-Block-based languages-
Cognitive, perceptive and motoric systems and models-
Compilers and interpreters-
Computational thinking-
Design and development of concurrent, distributed, parallel, quantum and sequential languages-
Domain-specific languages-
End-user development-
Generative approaches, meta-programming, meta-modelling-
Human aspects and psychology of designing languages-
Information visualization-
Interaction models and languages-
Location-based data and processes-
Language design and implementation-
Language-based security-
Language evolution, integration, composition, and coordination-
Language product lines-
Language workbenches, meta-languages and development frameworks-
Languages, models, and frameworks for visual analytics-
Languages for large-scale scientific computing-
Languages for software specification and verification-
Libraries, run-time environments and language ecosystems-
Modelling and programming languages-
Modularity and extensibility of language specifications and programming-
Parallel/distributed/neural computing and representations for visual information processing
[...]