Skip to main content

A High-Level Model for an Assembly Language Attacker by Means of Reflection

  • Conference paper
  • First Online:
Book cover Dependable Software Engineering: Theories, Tools, and Applications (SETTA 2015)

Abstract

Many high-level functional programming languages are compiled to or interoperate with, low-level languages such as C and assembly. Research into the security of these compilation and interoperation mechanisms often makes use of high-level attacker models to simplify formalisations. In practice, however, the validity of such high-level attacker models is frequently called into question. In this paper we formally prove that a light-weight ML equipped with a reflection operator can serve as an accurate model for malicious assembly language programs, when reasoning about the security threats such an attacker model poses to the abstractions of ML programs that reside within a protected memory space. The proof proceeds by relating bisimulations over the assembly language attacker and the high-level attacker.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Felleisen, M., Hieb, R.: The revised report on the syntactic theories of sequential control and state. Theoret. Comput. Sci. 103(2), 235–271 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  2. Furr, M., Foster, J.S.: Checking type safety of foreign function calls. In: PLDI 2005, pp. 62–72. ACM (2005)

    Google Scholar 

  3. Jagadeesan, R., Pitcher, C., Rathke, J., Riely, J.: Local memory via layout randomization. In: CSF 2011, pp. 161–174. IEEE (2011)

    Google Scholar 

  4. Jeffrey, A., Rathke, J.: Towards a theory of bisimilarity for local names. In: Logic in Computer Science, pp. 56–66. IEEE (2000)

    Google Scholar 

  5. Larmuseau, A., Clarke, D.: Formalizing a secure foreign function interface. In: Calinescu, R., Rumpe, B. (eds.) SEFM 2015. LNCS, vol. 9276, pp. 215–230. Springer, Heidelberg (2015)

    Chapter  Google Scholar 

  6. Larmuseau, A., Clarke, D.: Modelling an Assembly Attacker by Reflection. Technical Report 2015–026, Uppsala University (2015)

    Google Scholar 

  7. Leroy, X., Doligez, D., Garrigue, J., Rémy, D., Vôuillon, J.: The Objective Caml system, release 4.02. Technical report, INRIA, August 2014

    Google Scholar 

  8. Li, P., Zdancewic, S.: Arrows for secure information flow. Theoret. Comput. Sci. 411(19), 1974–1994 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  9. Matthews, J., Findler, R.B.: Operational semantics for multi-language programs. TOPLAS, 31(3):12:1–12:44 (2009)

    Google Scholar 

  10. McKeen, F., Alexandrovich, I., Berenzon, A., Rozas, C.V., Shafi, H., hanbhogue, V., Savagaonkar, U.R.: Innovative instructions and software model for isolated execution. In: HASP 2013, pp. 10:1–10:1. ACM (2013)

    Google Scholar 

  11. Patrignani, M., Clarke, D.: Fully Abstract Trace Semantics of Low-level Isolation Mechanisms. In: SAC 2014, pp. 1562–1569. ACM (2014)

    Google Scholar 

  12. Plotkin, G.: LCF considered as a programming language. Theor. Comput. Science 5, 223–255 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  13. Strackx, R., Piessens, F.: Fides: Selectively hardening software application components against kernel-level malware. In: CCS 2012, pp. 2–13. ACM

    Google Scholar 

  14. Sumii, E., Pierce, B.C.: A bisimulation for dynamic sealing. In: POPL 2004, pp. 161–172. ACM (2004)

    Google Scholar 

  15. Wand, M.: The theory of fexprs is trivial. Lisp and Symbolic Computation 10(3), 189–199 (1998)

    Article  Google Scholar 

  16. Zdancewic, S., Grossman, D., Morrisett, G.: Principals in programming languages:a syntactic proof technique. In: ICFP 1999, pp. 197– 207. ACM

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Adriaan Larmuseau .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Larmuseau, A., Patrignani, M., Clarke, D. (2015). A High-Level Model for an Assembly Language Attacker by Means of Reflection. In: Li, X., Liu, Z., Yi, W. (eds) Dependable Software Engineering: Theories, Tools, and Applications. SETTA 2015. Lecture Notes in Computer Science(), vol 9409. Springer, Cham. https://doi.org/10.1007/978-3-319-25942-0_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-25942-0_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-25941-3

  • Online ISBN: 978-3-319-25942-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics