|
Introduction: Buffer Overflow Vulnerabilities
|
|
|
|
|
Contributed by Chad Brandt
|
|
|
|
Tuesday, 05 July 2005
Buffer overflows are a leading type of security vulnerability. This paper explains what a buffer overflow is, how it can be exploited, and what countermeasures can be taken to prevent the use of buffer overflow vulnerabilities.Introduction
Buffer overflow vulnerabilities are one of the most common vulnerabilities.
These kinds of vulnerabilities are perfect for remote access attacks because
they give the attacker a great opportunity to launch and execute their attack
code on the target computer. Broadly speaking, a buffer overflow attack occurs
when the attacker intentionally enters more data than a program was written to
handle. The data runs over and overflows the section of memory that was set
aside to accept it. The extra data overwrites on top on another portion of
memory that was meant to hold something else, like part of the program's
instructions. This allows an attacker to overwrite data that controls the
program and can takeover control of the program to execute the attacker's code
instead of the program. Peikari and Chuvakin point out that, "buffer overflows
result from an inherent weakness in the C++ programming language." (Peikari and
Chuvakin, 2004) The problem is that C++ and other programming languages (those
derived from C++), do not automatically perform bounds-checking when passing
data. When variables are passed, extra characters could be written past the
variable's end. The overflow consequence could result in the program crashing or
allowing the attacker to execute their own code on the target system.
Read Full
Article
Only registered users can write comments. Please login or register. Powered by AkoComment 1.0 beta 2! |