The Center for Education and Research in Information Assurance and Security (CERIAS)

The Center for Education and Research in
Information Assurance and Security (CERIAS)

Mathias Payer - Purdue University

Students: Spring 2024, unless noted otherwise, sessions will be virtual on Zoom.

Code-Pointer Integrity

Feb 11, 2015

Download: Video Icon MP4 Video Size: 90.3MB  
Watch on Youtube Watch on YouTube

Abstract

Programs are full of bugs, leading to vulnerabilities. We'll discuss
power 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.


Ways to Watch

YouTube

Watch Now!

Over 500 videos of our weekly seminar and symposia keynotes are available on our YouTube Channel. Also check out Spaf's YouTube Channel. Subscribe today!