News
Contributed by: Lauren Gerber
Date: June 23, 2009
I can bet you all a state of the art computer that you don't know what percentage of CERT advisories deal with buffer overflow attacks. Sorry you have just lost yourself the latest and greatest computer imaginable because I win. The truth is that over sixty percent of CERT advisories deal with buffer overflow attacks. The frequent influx of buffer overflow vulnerability news is proof that there are more than enough opportunities for attackers to exploit them. Listed below are a few articles related to buffer overflow vulnerabilities:
Okay so let me reveal some information to you, about buffer overflows. A buffer overflow refers to a process in programming where particular data is kept in a buffer, outside of the original memory that the programmer had allocated for it. The additional data tends to overwrite memory, which may include other program variables, as well as the control of various data.
How are buffer overflow vulnerabilities triggered? Buffer overflows can be triggered by particular inputs that have been designed for the purpose of executing code, or modifying the way a particular program usually operates. Buffer overflows are actually one of the largest threats on the internet today. A buffer overflow can be seen as double edged sword due to the fact that they are easy to induce but at the same time very effective. Certain kinds of malicious code executed from a buffer overflow, can execute with administrative privileges. This enables the attacker to do practically anything he/she chooses to do to the server. You are correct in wondering how a buffer overflow is activated. You may be quite shocked to hear that buffer overflows actually came into existence due to a particular weakness within the popular C++ programming language. In either the programming language C or alternatively C++, there is no automatic bounds checking on the buffer and this allows users to be able to write past the buffer and perform rebellious deeds. What is bounds checking? It is any method of finding out if a variable is within certain bounds, prior to its use. If a bounds check fails then it should result in the generation of some type of signal. Bounds checking is very time consuming and due to this issue, it is not always done, which results in chaotic consequences. When unchecked buffers are discovered, patches are usually released in order to rectify the problem. It is unfortunately extremely difficult for administrators to keep such a vast amount of patches up to date on so many systems. Everyone should know that the specific methods used in order to exploit a buffer overflow vulnerability vary according to certain aspects. These aspects include the memory region, operating system as well as the architecture. You also get different types of buffer overflow exploits. The stack based overflow technique is the most common type of exploit. You also get Heap Based buffer overflows, which are similar to Stack based overflows, but are actually overflow buffers which are heaped up. One of the ways of preventing buffer overflows is seemingly unrealistic. It could be prevented if the possibility existed that programmers can be one hundred and twenty per cent perfect in everything that they did. This would result in no vulnerabilities, no unchecked buffers and definitely, no buffer overflow attacks. It may thus be quoted in conclusion:"C++ is an atrocity, the bletcherous scab of the computing world, responsible for more buffer overflows, more security breaches, more blue screens of death, more mysterious failures than any other computer language in the history of the planet Earth."- Eric Lee Green |
|||||
Software Downloads



User Comments