Tools / System Design
What is the "Buffer overflow" attack?
Buffer overflow occurs when an application writes more data into an area of memory, called a buffer than was intended.
Buffers are created to contain a finite amount of data. When the data is longer than expected, data will overflow into one or more adjacent memory locations (buffers) replacing the original data. This results in:
- Erratic program behaviour.
- Data exposure to unauthorized parties.
- Processor tricked into running arbitrary code.
Mitigation strategies:
- Check the length of data and limit it to the expected size.
- Never assume that code will safely handle untrusted data.
- Use libraries explicitly created to perform string and other memory operations in a secure fasion.
More Related questions...