Buffer overflow is an attack vector that can be exploited by sending more data to a fixed length block of memory (buffer) than the fixed length block of memory is allocated to hold. When there is excess data, it gets written to an adjacent buffer and will overwrite whatever data is being held there. Buffers are vulnerable to attack when applications fail to validate input from the client or other processes and flag or discard data when too much is sent to a memory buffer. Buffer overflow always ranks high in the Common Weakness Enumeration/SANS Top 25 Most Dangerous Software Errors and is specified as CWE-120 under the Common Weakness Enumeration dictionary of weakness types. Despite being well understood, buffer overflows continue to plague software from vendors both large and small. Vendors issue patches and updates for their software to fix buffer overflow vulnerabilities that have been discovered, but there is still a period of risk between the vulnerability being discovered and the patch being created and deployed. Techniques to exploit buffer overflow vulnerabilities vary based on the operating system and programming language, but the goal is always to manipulate a computer's memory to subvert or control program execution. Buffer overflows are categorized according to the location of the buffer in the process memory, the two main types being stack-based overflow and heap-based overflow. Read more... |
No comments:
Post a Comment