Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2637113.2637118acmotherconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Operational Semantics for Secure Interoperation

Published: 28 July 2014 Publication History

Abstract

Modern software systems are commonly programmed in multiple languages. Research into the security and correctness of such multi-language programs has generally relied on static methods that check both the individual components as well as the interoperation between them. In practice, however, components are sometimes linked in at run-time through malicious means. In this paper we introduce a technique to specify operational semantics that securely combine an abstraction-rich language with a model of an arbitrary attacker, without relying on any static checks. The resulting operational semantics, instead, lifts a proven memory isolation mechanism into the resulting multi-language system. We establish the security benefits of our technique by proving that the obtained multi-language system preserves and reflects the equivalences of the abstraction-rich language. To that end a notion of bisimilarity for this new type of multi-language system is developed.

References

[1]
M. Abadi. Protection in programming-language translations. In Secure Internet Programming, volume 1603 of LNCS, 1999.
[2]
M. Abadi and G. Plotkin. On protection by layout randomization. In CSF '10. IEEE, 2010.
[3]
S. Abramsky. The lazy lambda calculus. In Research Topics in Functional Programming, pages 65--116. Addison-Wesley, 1990.
[4]
P. Agten, R. Strackx, B. Jacobs, and F. Piessens. Secure compilation to modern processors. In 2012 IEEE 25th Computer Security Foundations Symposium, CSF 2012. IEEE, 2012.
[5]
P.-L. Curien. Definability and full abstraction. Electronic Notes on Theoretical Computer Science, 172, Apr. 2007.
[6]
M. Felleisen and R. Hieb. The revised report on the syntactic theories of sequential control and state. Theor. Comput. Sci., 103(2):235--271, Sept. 1992.
[7]
C. Fournet, N. Swamy, J. Chen, P.-E. Dagand, P.-Y. Strub, and B. Livshits. Fully abstract compilation to JavaScript. In POPL '13, New York, NY, USA, 2013. ACM.
[8]
M. Furr and J. S. Foster. Checking type safety of foreign function calls. In Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, PLDI '05, New York, NY, USA, 2005. ACM.
[9]
A. Gampe and J. von Ronne. Security completeness: Towards noninterference in composed languages. In Proceedings of the Eighth ACM SIGPLAN Workshop on Programming Languages and Analysis for Security, PLAS '13, pages 27--38, New York, NY, USA, 2013. ACM.
[10]
A. Gordon. Bisimilarity as a Theory of Functional Programming: Mini-course. BRICS notes series. Computer Science Department, 1995.
[11]
D. J. Howe. Equality in lazy computation systems. In Proceedings of the Fourth Annual IEEE Symposium on Logic in Computer Science (LICS 1989), pages 198--203. IEEE Computer Society Press, June 1989.
[12]
R. Jagadeesan, C. Pitcher, J. Rathke, and J. Riely. Local memory via layout randomization. In CSF '11. IEEE, 2011.
[13]
A. Jeffrey and J. Rathke. Towards a theory of bisimulation for local names. Computer Science Report 02-2000, University of Sussex, 2000.
[14]
A. Jeffrey and J. Rathke. Java JR: fully abstract trace semantics for a core Java language. In Proceedings of the 14th European conference on Programming Languages and Systems, ESOP'05, Berlin, Heidelberg, 2005. Springer-Verlag.
[15]
J. Matthews and R. B. Findler. Operational semantics for multi-language programs. ACM Transactions on Programming Languages and Systems, 31(3), Apr. 2009.
[16]
F. McKeen, I. Alexandrovich, A. Berenzon, C. V. Rozas, H. Shafi, V. Shanbhogue, and U. R. Savagaonkar. Innovative instructions and software model for isolated execution. In HASP '13. ACM, 2013.
[17]
M. Milenković, A. Milenković, and E. Jovanov. Using instruction block signatures to counter code injection attacks. SIGARCH Comput. Archit. News, 33(1):108--117, Mar. 2005.
[18]
J. Noorman, P. Agten, W. Daniels, R. Strackx, A. Van Herrewege, C. Huygens, B. Preneel, I. Verbauwhede, and F. Piessens. Sancus: Low-cost trustworthy extensible networked devices with a zero-software trusted computing base. In Proceedings of the 22nd USENIX conference on Security symposium. USENIX Association, 2013.
[19]
M. Patrignani, D. Clarke, and F. Piessens. Secure compilation of object-oriented components to protected module architectures. In APLAS, volume 8301 of Lecture Notes in Computer Science, pages 176--191. Springer, 2013.
[20]
G. D. Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5, 1977.
[21]
R. Strackx, F. Piessens, and B. Preneel. Efficient isolation of trusted subsystems in embedded systems. In S. Jajodia and J. Zhou, editors, Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering: Security and Privacy in Communication Networks,. Springer, Sept. 2010.
[22]
E. Sumii and B. C. Pierce. A bisimulation for dynamic sealing. In Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '04, pages 161--172, New York, NY, USA, 2004. ACM.
[23]
G. Tan, S. Chakradhar, R. Srivaths, and R. D. Wang. Safe Java native interface. In In Proceedings of the 2006 IEEE International Symposium on Secure Software Engineering, 2006.
[24]
P. Wadler and R. B. Findler. Well-typed programs can't be blamed. In Proceedings of the 18th European Symposium on Programming Languages and Systems: Held As Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, ESOP '09, pages 1--16, Berlin, Heidelberg, 2009. Springer-Verlag.
[25]
M. Wand. The theory of fexprs is trivial. Lisp and Symbolic Computation, 10(3):189--199, 1998.
[26]
S. Zdancewic, D. Grossman, and G. Morrisett. Principals in programming languages: a syntactic proof technique. In Proceedings of the fourth ACM SIGPLAN international conference on Functional programming, ICFP '99, New York, NY, USA, 1999. ACM.

Cited By

View all
  • (2019)Formal Approaches to Secure CompilationACM Computing Surveys10.1145/328098451:6(1-36)Online publication date: 4-Feb-2019
  • (2015)Formalizing a Secure Foreign Function InterfaceSoftware Engineering and Formal Methods10.1007/978-3-319-22969-0_16(215-230)Online publication date: 21-Aug-2015

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PLAS'14: Proceedings of the Ninth Workshop on Programming Languages and Analysis for Security
July 2014
83 pages
ISBN:9781450328623
DOI:10.1145/2637113
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 July 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. bisimulation
  2. fully abstract compilation
  3. memory protection
  4. multi-language semantics

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ECOOP '14

Acceptance Rates

PLAS'14 Paper Acceptance Rate 6 of 10 submissions, 60%;
Overall Acceptance Rate 43 of 77 submissions, 56%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Formal Approaches to Secure CompilationACM Computing Surveys10.1145/328098451:6(1-36)Online publication date: 4-Feb-2019
  • (2015)Formalizing a Secure Foreign Function InterfaceSoftware Engineering and Formal Methods10.1007/978-3-319-22969-0_16(215-230)Online publication date: 21-Aug-2015

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media