SoK: Eternal War in Memory

By László Szekeres, Mathias Payer, Tao Wei, Dawn Song. IEEE Symposium on Security and Privacy, 2013

842 citations recorded by the source corpus.

Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corruption attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms implementing stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps designers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency. We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.

Subfields: Artificial Intelligence, Materials Chemistry, Signal Processing

View Paper: https://www.semanticscholar.org/paper/602e4c977664087e5629a40637a1b97a381d28c9

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Nicholas Carlini
  2. David A. Wagner
  3. Zhenkai Liang
  4. Dawn Song
  5. Ahmad-Reza Sadeghi
  6. Christopher Krügel
  7. N. Asokan
  8. Giovanni Vigna

In Materials Chemistry

  1. David A. Wagner
  2. Nicholas Carlini

In Signal Processing

  1. Nicholas Carlini
  2. Christopher Krügel
  3. Giovanni Vigna
  4. David A. Wagner
  5. Lucas Davi
  6. Manuel Costa
  7. Ahmad-Reza Sadeghi
  8. Thorsten Holz

Citations in the corpus