Computers are often subject to external attacks that aim to control software behavior. Typically, such attacks arrive as data over a regular communication channel and, once resident in program memory, trigger pre-existing, low-level software vulnerabilities. By exploiting such flaws, these low-level attacks can subvert the execution of the software and gain control over its behavior. The combined effects of these attacks make them one of the most pressing challenges in computer security. As a result, in recent years, many mechanisms have been proposed for defending against these attacks. This chapter aims to provide insight into low-level software attack and defense techniques by discussing four examples that are representative of the major types of attacks on C and C++ software, and four examples of defenses selected because of their effectiveness, wide applicability, and low enforcement overhead. Attacks and defenses are described in enough detail to be understood even by readers without a background in software security, and without a natural inclination for crafting malicious attacks.
CITATION STYLE
Erlingsson, Ú., Younan, Y., & Piessens, F. (2010). Low-Level Software Security by Example. In Handbook of Information and Communication Security (pp. 633–658). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-642-04117-4_30
Mendeley helps you to discover research relevant for your work.