Ethical Hacking: Buffer Overflow Basics

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Buffer overflows are one of the flashiest forms of hacking. Mostly because they are the root of a lot of the higher profile attacks that you see in the movies. However, real buffer overflow attacks require a great deal of effort to find exploitable servers and create exploits. A buffer is a temporary data storage area that has a limited space allocated for any single task. To work with this design, programs should be written with error checking. Error checking is the process of verifying that buffers will receive the right type and the right amount of data. Failure to validate correct error checking procedures could result in weak security. Picture a bucket. A bucket can only hold a certain amount of water. As the bucket starts to fill, water begins to pour over the sides and out onto whatever surrounds the bucket, getting everything wet. Similarly, a buffer overflow occurs when input given to an application exceeds the allotted buffer memory. The input is still accepted and it overwrites other, critical data. The input could either be direct interaction or receiving a data file. It could also be a remote request that is supported on an open network service port. Basically, any time data has to be processed, there has to be enough memory for the processing to happen and proper instructions need to be present to handle the processing. Buffer overflows could be used to crash or cause erratic behavior in a program, provide incorrect results, and to create security breaches that could result in data being misinterpreted as instructions and executed. Because of infrequent patching, critical SCADA systems have been targeted by hackers utilizing buffer overflows. Since SCADA systems are often found in critical manufacturing, this could be quite harmful to our country’s critical infrastructure. The simplest way to prevent buffer overflow is not to allow more data to come in once the buffer is full. Boundary protection can stop the data after a buffer fills. However, just saying that oversimplifies the process. Stopping buffer overflows requires near constant monitoring as systems are updated and new services are added. Moreover, some argue that buffer overflows can never be prevented. By their nature, some programming languages are limited in handling the buffer and can lead to risk. For example, C programming (C and C++) is especially vulnerable to buffer overflows. C programming has functions that do not effectively check for boundaries. Buffer overflows are difficult to monitor and can have a huge impact on software and web applications. Being proactive about buffer overflow prevention and patching outdated systems infrastructure can go a long way to keep services protected.
Info
Channel: National Consortium for Mission Critical Operations
Views: 34,679
Rating: undefined out of 5
Keywords: Buffer Overflow, Software (Industry), Data Buffer, Hack, ethical hacking, Hacker (Interest), NCMCO, White Hat
Id: SOoJcrR4Ijo
Channel Id: undefined
Length: 3min 53sec (233 seconds)
Published: Mon Nov 24 2014
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.