Nytro Posted December 23, 2012 Report Posted December 23, 2012 BUFFER OVERFLOW VULNERABILITIESEXPLOITS AND DEFENSIVE TECHNIQUESAuthors Peter Buchlovsky, Adam ButcherUID 319295, 309235Email msc33pxb@cs.bham.ac.uk, ug75ajb@cs.bham.ac.ukIntroductionBuffer overflows are a very common method of security breach. They generally occur in programswritten in low-level languages like C or C++ which allow the manual management ofmemory on the heap and stack.Server processes or low-level programs running as the superuser are the usual targets for suchattacks. If a hacker can find a buffer overflow vulnerability in such a process and can exploit it,it will usually give the hacker full control of the system.The analysis of Lhee and Chapin [8] has proved most helpful in our research.1.1 Array bounds checkingMost high-level programming languages claim to be safe. This means that programs writtenin these language have rigorously controlled access to memory. Thus they do not suffer frombuffer overflows or dangling pointers. This is in contrast to the C and C++ programming languageswhich have a more cavalier approach to memory access and safety. In C, array access isnot bounds checked. That means it is possible to write past the end (or indeed the beginning ifit is being written to backwards) of an array. This leads to a number of exploits that can used byattackers.Download:citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.104.8202&rep=rep1&type=pdf Quote