This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic
Monday, February 27 • 11:00 - 12:30
Low level exploits and countermeasures

Sign up or log in to save this to your schedule and see who's attending!

Learning objectives
  • the risks associated with the use of unsafe programming languages such as C and C++
  • common attack techniques such as return address clobbering, indirect pointer overwriting, return-to-libc attacks, ...
  • common defense techniques such as stack canaries, address space layout randomization, ...
  • Overview
    This module introduces common low-level security problems and solutions by example. Focusing on the C language, we discuss four common attack techniques that attackers can use to gain control over the execution of software:
    • Return address clobbering, where an attacker gains control by overwriting a return address on the stack
    • Function pointer overwrites, where an attacker redirects a function pointer to his own attack code
    • Return-to-libc attacks, where an attacker steers the execution of existing code in memory rather than injecting new code
    • Data-only attacks, where an attacker modifies critical data variables of the software under attack

    We also discuss four practical examples of defense techniques. These are selected because of their good trade-off in effectiveness versus deployment and performance cost:

    • Stack canaries
    • Non-executable data memory
    • Control Flow Integrity, and
    • Address Space Layout Randomization.

    The following paper is used as lecture notes for this module: Ulfar Erlingsson, Yves Younan, Frank Piessens, Low-level software security by example, Handbook of Information and Communication Security, pages 663-658, 2010.

    avatar for Frank Piessens

    Frank Piessens

    Professor, imec-DistriNet-KU Leuven
    Frank Piessens is a professor at the Department of Computer Science of the KU Leuven, Belgium. His research interests lie in software security, including security in operating systems and middleware, architectures, applications, Java and .NET, and software interfaces to security technologies. He is an active participant in both fundamental research and industrial application-driven projects, provides consultancy to industry on distributed system... Read More →

    Monday February 27, 2017 11:00 - 12:30
    Room: Van Hamaele

    Attendees (4)