TUM Logo

Source Code and Backward Edge-based Protection Against Advanced Code Reuse Attacks

The security of software systems depends on the possibility for an attacker to exploit certain vulnerabilities which a given system might have. Complex software systems contain software bugs which if exploitable could be used by an attacker to craft code reuse attacks. These attacks are based on violations of the forward and backward edges in the control flow graph (CFG) of the attacked program. In this thesis, a tool is developed which can be used to protect against violation of backward edge attacks by enforcing the class hierarchy on backward edges after virtual calls and by using function signature information which helps to drastically reduce the legitimate target set for a function return (i.e., backward edges). The evaluation shows that the tool is precise, effective, and imposes low performance overhead on the hardened programs.

Source Code and Backward Edge-based Protection Against Advanced Code Reuse Attacks

Supervisor(s): Paul Muntean
Status: finished
Topic: Integrity Measures (CFI etc.)
Author: Matthias Neumayer
Submission: 2018-02-15
Type of Thesis: Bachelorthesis
Proof of Concept No

Astract:

The security of software systems depends on the possibility for an attacker to exploit certain vulnerabilities which a given system might have. Complex software systems contain software bugs which if exploitable could be used by an attacker to craft code reuse attacks. These attacks are based on violations of the forward and backward edges in the control flow graph (CFG) of the attacked program. In this thesis, a tool is developed which can be used to protect against violation of backward edge attacks by enforcing the class hierarchy on backward edges after virtual calls and by using function signature information which helps to drastically reduce the legitimate target set for a function return (i.e., backward edges). The evaluation shows that the tool is precise, effective, and imposes low performance overhead on the hardened programs.