Abstract
Low-level attacks often rely on guessing absolute or relative memory addresses. Layout randomization aims to thwart such attacks. In this paper, we study layout randomization in a setting in which arrays and functions can be stored in memory. Our results relate layout randomization to language-level protection mechanisms, namely to the use of abstract locations (rather than integer addresses). They apply, in particular, when each abstract location can hold an entire array which, concretely, compilation implements with a memory buffer at a random base address.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Abadi, M.: Protection in Programming-Language Translations. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 868–883. Springer, Heidelberg (1998)
Abadi, M., Planul, J.: On layout randomization for arrays and functions (2013), Long version of this paper, at http://www.msr-inria.inria.fr/~jplanul/libraries-long.pdf
Abadi, M., Plotkin, G.D.: On protection by layout randomization. ACM Transactions on Information and System Security 15(2), 8:1–8:29 (2012)
Chen, S., Sezer, E.C., Xu, J., Gauriar, P., Iyer, R.K.: Non-control-data attacks are realistic threats. In: Proceedings of the Usenix Security Symposium, pp. 177–192 (2005)
Druschel, P., Peterson, L.L.: High-performance cross-domain data transfer. Technical Report TR 92-11, Department of Computer Science, The University of Arizona (March 1992)
Erlingsson, Ú.: Low-Level Software Security: Attacks and Defenses. In: Aldini, A., Gorrieri, R. (eds.) FOSAD 2007. LNCS, vol. 4677, pp. 92–134. Springer, Heidelberg (2007)
Felleisen, M., Friedman, D.P.: Control operators, the secd-machine, and the lambda-calculus. In: 3rd Working Conference on the Formal Description of Programming Concepts, pp. 193–219 (1986)
Forrest, S., Somayaji, A., Ackley, D.H.: Building diverse computer systems. In: 6th Workshop on Hot Topics in Operating Systems, pp. 67–72 (1997)
Jagadeesan, R., Pitcher, C., Rathke, J., Riely, J.: Local memory via layout randomization. In: Proceedings of the 24th IEEE Computer Security Foundations Symposium, pp. 161–174 (2011)
McCamant, S., Morrisett, G.: Evaluating SFI for a CISC architecture. In: Proceedings of the 15th USENIX Security Symposium, pp. 209–224 (2006)
Mitchell, J.: Foundations for Programming Languages. MIT Press (1996)
Pappas, V., Polychronakis, M., Keromytis, A.D.: Smashing the gadgets: Hindering return-oriented programming using in-place code randomization. In: IEEE Symposium on Security and Privacy, pp. 601–615 (2012)
PaX Project. The PaX project (2004), http://pax.grsecurity.net/
Pierce, B.: Types and Programming Languages. MIT Press (2002)
Pucella, R., Schneider, F.B.: Independence from obfuscation: A semantic framework for diversity. Journal of Computer Security 18(5), 701–749 (2010)
Sotirov, A., Dowd, M.: Bypassing browser memory protections: Setting back browser security by 10 years (2008), https://www.blackhat.com/presentations/bh-usa-08/Sotirov_Dowd/bh08-sotirov-dowd.pdf
Wahbe, R., Lucco, S., Anderson, T.E., Graham, S.L.: Efficient software-based fault isolation. In: Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles, pp. 203–216 (1993)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Abadi, M., Planul, J. (2013). On Layout Randomization for Arrays and Functions. In: Basin, D., Mitchell, J.C. (eds) Principles of Security and Trust. POST 2013. Lecture Notes in Computer Science, vol 7796. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36830-1_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-36830-1_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-36829-5
Online ISBN: 978-3-642-36830-1
eBook Packages: Computer ScienceComputer Science (R0)