Papers
Efficient countermeasures for software vulnerabilities due to memory management errors
Submitted by Yves Younan on Sat, 2008-08-09 02:23On 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
Submitted by Yves Younan on Wed, 2006-12-06 18:03Authors: 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
Submitted by Yves Younan on Wed, 2006-12-06 17:53Authors: 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
Submitted by Yves Younan on Mon, 2006-10-09 15:12Authors: 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++
Submitted by Yves Younan on Tue, 2006-08-01 02:38Authors: 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
Submitted by Yves Younan on Tue, 2006-08-01 02:30Authors: 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
Submitted by Yves Younan on Tue, 2006-08-01 02:09Authors: 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
Submitted by Yves Younan on Tue, 2006-08-01 01:58On 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
