Skip navigation.
Home

Papers

Efficient countermeasures for software vulnerabilities due to memory management errors

On this page you will find my PhD thesis: Efficient countermeasures for software vulnerabilities due to memory management errors Author: Yves Younan Published as: PhD Thesis, Katholieke Universiteit Leuven ISBN: 978-90-5682-936-0 Date: May 2008 Abstract: Despite many years of research and large investments by companies, the development of secure software is still a significant problem. This is evidenced by the steady increase in vulnerabilities that are reported year by year. Fast spreading worms like the Code Red worm, which caused an estimated worldwide economic loss of $2.62 billion, will often exploit implementation errors in programs to spread rapidly.

Extended protection against stack smashing attacks without performance loss

Authors: Yves Younan, Davide Pozza, Frank Piessens and Wouter Joosen Published in: Proceedings of the Twenty-Second Annual Computer Security Applications Conference (ACSAC 2006), Miami Beach, Florida, U.S.A., IEEE, IEEE Press Date: December 2006 Abstract: In this paper we present an efficient countermeasure against stack smashing attacks. Our countermeasure does not rely on secret values (such as canaries) and protects against attacks that are not addressed by state-of-the-art countermeasures. Our technique splits the standard stack into multiple stacks. The allocation of data types to one of the stacks is based on the chances that a specific data element is either a target of attacks and/or an attack vector. We have implemented our solution in a C-compiler for Linux. The evaluation

Efficient protection against heap-based buffer overflows without resorting to magic

Authors: Yves Younan, Wouter Joosen, and Frank Piessens Published in: Lecture Notes in Computer Science Volume 4307/2006: Proceedings of the Eighth International Conference on Information and Communication Security (ICICS 2006), Raleigh, North Carolina, U.S.A., Springer-Verlag. Date: December 2006 Abstract: Bugs in dynamic memory management, including for instance heap-based buffer overflows and dangling pointers, are an important source of vulnerabilities in C and C++. Overwriting the management information of the memory allocation library is often a source

Protecting global and static variables from buffer overflow attacks without overhead

Authors: Yves Younan, Frank Piessens and Wouter Joosen
Published as: Technical Report CW463, Departement Computerwetenschappen, Katholieke Universiteit Leuven
Date: October 2006

Abstract: Many countermeasures exist to protect the stack and heap from code injection attacks, however very few countermeasures exist that will specifically protect global and static variables from attack. In this paper we suggest a way of protecting global and static variables from these type of attacks, with negligible performance and memory overheads.

Security of memory allocators for C and C++

Authors: Yves Younan, Wouter Joosen and Frank Piessens and Hans Van den Eynden
Published as: Technical Report CW419, Departement Computerwetenschappen, Katholieke Universiteit Leuven
Date: July 2005

Abstract: Most memory allocators ignore security issues. Instead they focus on maximizing performance and limiting fragmentation and waste. While these are very important issues for a memory allocator, in the days of worms that use code injection attacks to cause significant economical damage, security can not be ignored. This
paper evaluates a representative set of commonly used memory allocators for C and C++ with respect to their resilience against code injection attacks. We present a significant improvement for memory allocators in order to increase robustness against code injection attacks. We evaluate this new approach in terms of performance and

A Methodology for Designing Countermeasures against Current and Future Code Injection Attacks

Authors: Yves Younan, Wouter Joosen, and Frank Piessens
Published in: Proceedings of the Third IEEE International Information Assurance Workshop 2005 (IWIA2005), College Park, Maryland, U.S.A., IEEE, IEEE Press
Date: March 2005

Abstract:

This paper proposes a methodology to develop countermeasures against code injection attacks, and validates the methodology by working out a specific countermeasure. This methodology is based on modeling the execution environment of a program. Such a model is then used to build countermeasures. The paper justifies the need for a more structured approach to protect programs against code injetion attacks: we examine advanced techniques for injecting code into C and C++ programs and we discuss state-of-the-art (often ad hoc) approaches that typically protect singular memory locations.

Code injection in C and C++: A Survey of Vulnerabilities and Countermeasures

Authors: Yves Younan, Wouter Joosen and Frank Piessens
Published as: Technical Report CW386 by Departement Computerwetenschappen, Katholieke Universiteit Leuven
Date: July 2004

Abstract

Implementation errors relating to memory-safety are the most
common vulnerabilities used by attackers to gain control over the
execution-flow of an application. By carefully crafting an exploit
for these vulnerabilities, attackers can make an application transfer
execution-flow to code that they have injected. Such code injection
attacks are among the most powerful and common attacks against
software applications.
This report documents possible vulnerabilities in C and C++ ap-
plications that could lead to situations that allow for code injection
and describes the techniques generally used by attackers to exploit

An overview of common programming security vulnerabilities and possible solutions

On this page you will find my master's thesis:

An overview of common programming security vulnerabilities and possible solutions

Author: Yves Younan
Published as: Master's Thesis, Vrije Universiteit Brussel
Date: August 2003

Programming security vulnerabilities are the most common cause of software se-
curity breaches in current day computing. While these can easily be avoided by
an attentive programmer, many programs still contain these kinds of vulnerabil-
ities. This document will describe what the most commonly occuring ones are
and will then explain how these can be abused to make a program do something
it did not intend to do. We will then take a look at how a recent vulnerability

Syndicate content