Understanding Buffer Overflows
5 January 2010 | No Comments »The majority of software vulnerabilities that have been discovered and exploited are buffer overflows. Research has shown that two out of every three software vulnerabilities found are of this type. This is why it is important to understand and defend against buffer overflow attacks.
When a user interacts with an application, it has to validate the input, because the input could contain incorrect data, control sequences or to much data for the application to work with. When one of these events takes place, a buffer overflow can occur. Attackers who realize this exploit essentially try to overwrite the memory on an application stack by sending too much data to the input buffer.
Overflow attacks often arise from a bug in the application or from improper use languages such as C or C++. At the time these overflows occur, the valid data can be overwritten with the data from an attacker. The code the attacker feds back into the program is most likely malicious code that can cause damage to computers or steal user data.
In most buffer overflow attacks, the attacker tries to intercept a program function that reads input and calls a subroutine. Applications make a subroutine call and it places all input parameters on the stack.
The subroutine returns by also placing the return address on the stack by calling the function. Attackers can overwrite the return address by sending data that is longer the fixed memory space on the stack.
So basically what happens here is the attacker intercepts the application communication and can then insert his own malicious code. The end result of this type of attack is the malicious code may now be executed with the privileges of the legitimate application.
Most buffer overflow attacks are used to root a system or to launch a DoS attack. Rooting a System means the system has been hacked and the attacker has root or superuser privileges. It is important to understand how buffer overflow occur and the attacks used against them. It is hard to detect buffer overflow attacks so implementing preventative measures is critical.
Matt has been practicing computer security for over 5 years now. You can check out his latest website Active Directory Tools which provides a list of useful tools for Network Administrators.
Article Source: http://EzineArticles.com/?expert=Matt_A_Roberts