Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. String oriented programming: When ASLR is not enough
 
conference paper

String oriented programming: When ASLR is not enough

Payer, Mathias  
•
Gross, Thomas R.
2013
Proceedings of the 2nd ACM SIGPLAN Program Protection and Reverse Engineering Workshop 2013, PPREW 2013
2nd ACM SIGPLAN Program Protection and Reverse Engineering Workshop 2013, PPREW 2013

Control-data attacks are a well known attack vector; these attacks either inject new code into running applications or reuse existing code in an unintended way to execute their malicious payload. Current software systems are protected against control-data attacks using numerous mechanisms like Data Execution Prevention (DEP), stack canaries, and Address Space Layout Randomization (ASLR). ASLR turns deterministic attacks into probabilistic attacks and reduces the probability of a successful attack. Unfortunately, the current ASLR implementation for Linux leaves some memory regions non-randomized. These static memory regions can be used to exploit applications that have ASLR, DEP, and stack canaries enabled. Format string exploits are an often overlooked attack vector that enables attacker-controlled memory writes in an application. A format string bug exists if a user-supplied string is passed as a first argument to any printf function. The only prerequisite for a successful format string exploit is that the attacker must be able to control that format string. This paper presents String Oriented Programming (SOP), an approach that exploits static memory regions in ASLR enabled applications. SOP uses a format string bug to exploit applications that are protected by a combination of weak ASLR, DEP, and stack canaries. Similar to return oriented programming or jump oriented programming, SOP does not rely on existing code but concatenates gadgets in the application using static program analysis. © 2013 ACM.

  • Details
  • Metrics
Type
conference paper
DOI
10.1145/2430553.2430555
Scopus ID

2-s2.0-84874142484

Author(s)
Payer, Mathias  

École Polytechnique Fédérale de Lausanne

Gross, Thomas R.

ETH Zürich

Date Issued

2013

Published in
Proceedings of the 2nd ACM SIGPLAN Program Protection and Reverse Engineering Workshop 2013, PPREW 2013
ISBN of the book

9781450318570

Editorial or Peer reviewed

REVIEWED

Written at

OTHER

EPFL units
HEXHIVE  
Event nameEvent acronymEvent placeEvent date
2nd ACM SIGPLAN Program Protection and Reverse Engineering Workshop 2013, PPREW 2013

Italy

2013-01-26 - 2013-01-26

Available on Infoscience
April 4, 2025
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/248655
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés