Thursday, September 29, 2011

Buffer Overflow Attacks and Their Countermeasures


Buffer overflow problems always have been associated with security vulnerabilities. In the past, lots of security breaches have occurred due to buffer overflow. This article attempts to explain what buffer overflow is, how it can be exploited and what countermeasures can be taken to avoid it.

Knowledge of C or any other high level language is essential to this discussion. Basic knowledge of process memory layout is useful, but not necessary. Also, all the discussions are based on Linux running on x86 platform. The basic concepts of buffer overflow, however, are the same no matter what platform and operating system is used.

Buffer Overflow: the Basics

A buffer is a contiguous allocated chunk of memory, such as an array or a pointer in C. In C and C++, there are no automatic bounds checking on the buffer, which means a user can write past a buffer. For example:

int main () {     int buffer[10];     buffer[20] = 10; } 

The above C program is a valid program, and every compiler can compile it without any errors. However, the program attempts to write beyond the allocated memory for the buffer, which might result in unexpected behavior. Over the years, some bright people have used only this concept to create havoc in the computer industry. Before we understand how they did it, let's first see what a process looks like in memory.

Thursday, August 4, 2011

Get all your serial


Get all your serials

YouSerials is a search engine for software serials. The idea is to have a backup of all software registration numbers that we use. Each serial key can be voted on by other users, increasing or decreasing its reputation based on its authenticity. It’s also useful if your Operating system had crashed and you need a reinstall but don’t have all the serials stored or are lost.