buffer overflow

(redirected from Buffer overruns)

buffer overflow

(programming)
What happens when you try to store more data in a buffer than it can handle. This may be due to a mismatch in the processing rates of the producing and consuming processes (see overrun and firehose syndrome), or because the buffer is simply too small to hold all the data that must accumulate before a piece of it can be processed. For example, in a text-processing tool that crunches a line at a time, a short line buffer can result in lossage as input from a long line overflows the buffer and overwrites data beyond it. Good defensive programming would check for overflow on each character and stop accepting data when the buffer is full.

See also spam, overrun screw.

buffer overflow

A common cause of malfunctioning software. If the amount of data copied into a memory buffer exceeds the size of the buffer, the extra data will overwrite whatever is in the adjacent bytes, and those bytes could hold numbers and codes the program constantly uses (see flag and variable). It only takes an error of one bit to crash software.

Certain copy instructions transfer strings of data within memory until some character such as a null or return is reached, signaling its end. Such instructions are potentially dangerous and can be avoided by using instructions that copy a fixed number of bytes.

Buffer Overruns Are Exploited
If software is written to assume the correct amount of data will always be input and makes no provisions otherwise, malicious hackers can exploit this situation by entering more and more data until the computer crashes. When it does, the computer's registers are examined to find out if it was attempting to execute an instruction in the overrun buffer area and if so, the precise location. The exploit is then carried out by appending machine instructions at the end of the input that the computer will execute.

Slammer Wreacked Havoc
In January 2003, the Slammer worm on the Internet caused a billion dollars worth of damage. Using randomly generated IP addresses, Slammer used the buffer overflow exploit to replicate itself. Within three minutes after the first Slammer packet was unleashed, the number of infected computers was doubling every eight seconds. Within 15 minutes, large sections of the Internet were overloaded and out of commission. See buffer and buffer flush.
References in periodicals archive ?
Additional techniques for halting SQL injection attacks include using static SQL instead of dynamic SQL, proper validation and testing of user input, enforcing appropriate limits to prevent buffer overruns, and avoiding the concatenation of user input to SQL.
TCS is also working on connected car solutions--helping to harden the solutions to prevent buffer overruns and other issues that could be exploited by hackers.
Static analysis has the ability to identify many of the programming defects that commonly create vulnerabilities, such as buffer overruns.
Incorrect initialization of variables, buffer overruns and incorrect handling of error conditions, can all lead to unexpected execution as the data is processed.
Topics include SQL injection, buffer overruns, format string problems, C++ catastrophes, information leakage, failure to protect stored data, and incorrect use of cryptography.
It can find serious semantic errors in code, such as buffer overruns, null pointer dereferences, race conditions, and resource leaks.
5-inch, half-height AIT-5 drive has a 96MB buffer to manage data throughput and minimize buffer overruns, and a sustained native transfer rate of up to 24MB/second that is optimized for the majority of Windows-based servers installed and shipping today.
Users of the toolkit can easily exploit vulnerabilities including buffer overruns in software including IOS.
The former will be provided with greater protection against port-based attacks, e-mail attacks, malicious Web content, and buffer overruns, and these features will be available in the first half of 2004.
The combined capabilities also provide benefits that extend beyond multi-core optimizations by assisting developers in locating vulnerabilities that would otherwise go undetected, such as uninitialized variables and possible buffer overruns.
Case studies explain techniques for evaluating vulnerabilities to brute force browsing, buffer overruns, cookie tampering, cross-site scripting, denial of service, format strings, integer overflows, password and spoofing attacks, and SQL injection.
Packet loss is a direct result of bit error rate (BER), jitter, network congestion, distance, router buffer overruns, and multiple service providers.