Mathias Payer - Purdue University
Students: Spring 2025, unless noted otherwise, sessions will be virtual on Zoom.
Code-Pointer Integrity
Feb 11, 2015
Download:![Video Icon](/assets/images/icons/file-video.png)
![Watch on Youtube](/news_and_events/events/security_seminar/images/youtube_32x32.png)
Abstract
Programs are full of bugs, leading to vulnerabilities. We'll discusspower and limitations of code-pointer integrity (CPI), a strong but
practical security policy that enforces memory safety for all code
pointers, protecting against any form of control-flow hijack attack
(e. g., ROP or JOP).
Systems code is often written in low-level languages like C/C++, which
offer many benefits but also delegate memory management to
programmers. This invites memory safety bugs that attackers can
exploit to divert control flow and compromise the system. Deployed
defence mechanisms (e. g., ASLR, DEP) are incomplete, and stronger
defence mechanisms (e. g., CFI) often have high overhead and limited
guarantees (and are therefore not generally deployed).
In this talk we discuss code-pointer integrity (CPI), a strong
security policy that guarantees the integrity of all code pointers in
a program (e.g., function pointers, saved return addresses) and
thereby prevents all control-flow hijack attacks, including
return-oriented programming and jump-oriented programming. We also
introduce code-pointer separation (CPS), a relaxation of CPI with
better performance properties. Both CPI and CPS offer substantially
better security-to-overhead ratios than the state of the art, they are
practical (we protect a complete FreeBSD system and over 100 packages
like apache and postgresql), effective (prevent all attacks in the
RIPE benchmark), and efficient, resulting in very low to negligible
performance overhead.
About the Speaker
Mathias Payer is a security researcher and an assistant professor in
computer science at Purdue university. His interests are related to
system security, binary exploitation, user-space software-based fault
isolation, binary translation/recompilation, and (application)
virtualization. His research focuses on protecting applications even
in the presence of vulnerabilities, with a focus on memory corruption.
computer science at Purdue university. His interests are related to
system security, binary exploitation, user-space software-based fault
isolation, binary translation/recompilation, and (application)
virtualization. His research focuses on protecting applications even
in the presence of vulnerabilities, with a focus on memory corruption.
Ways to Watch
![YouTube](/assets/images/youtube_200.png)