View Single Post
Old 02-09-2010, 10:02 PM   #6
Japo
Autonomous human
 
Japo's Avatar


 
Join Date: Mar 2006
Location: ,
Posts: 4,615
Default

http://en.wikipedia.org/wiki/Buffer_overflow

A buffer overflow is when a process writes more bytes to a memory address than how many it allocated there. The surplus is written on a consecutive space that's not reserved for it, so it may or not be reserved and used by other process. Most times it's the result of an unintended bug.

It is possible that the memory space where those bytes spill is being used to store instructions (machine code) instead of simple data, so they are sent directly for execution. Sometimes people find a vulnerability in a program, so that when they send some exact input the program creates a buffer overflow in a reproducible way, so an exploiter can send any code he wishes for execution. Don't take my word on this but I think this is more or less how it goes...

A BSOD in Windows has to be caused by an error in the Windows kernel (most times drivers). Any error that's kept limited to any application cannot create a BSOD, at most that single application will crash or eat CPU. Whether or not it's possible for a buffer overflow in an application to affect the Windows kernel, I don't know... Maybe? No?

Nowadays CPUs support DEP, and you can configure it in system properties > advanced. DEP protects against these attacks, but sometimes it will shut down a program because it has a buffer overflow bug that's harmless, and if you want to use the program and trust that it's not malicious you have to tell DEP to ignore it (for example).

That's probably the cause with Battlezone. I think 99 per cent of unintended buffer overflows are harmless, it's an internal error that will cause problems in the causing program itself at most.
__________________
Life starts every day anew. Prospects not so good...
Japo is offline                         Send a private message to Japo
Reply With Quote