Heap overflow

Heap overflow

A heap overflow is a type of buffer overflow that occurs in the heap data area. Memory on the heap is dynamically allocated by the application at run-time and typically contains program data.

Exploitation goes as follows: if an application copies data without first checking to see if it fits into the chunk (blocks of data in the heap), the attacker could supply the application with a piece of data that is too large, overwriting heap management information (metadata) of the next chunk. This allows an attacker to overwrite an arbitrary memory location with four bytes of data. In most environments, this may allow the attacker control over the program execution.

The Microsoft JPEG GDI+ vulnerability [http://www.microsoft.com/technet/security/bulletin/MS04-028.mspx MS04-028] is an example of the danger a heap overflow can represent to a computer user.

Detecting and Preventing Heap Overflows

Recent releases of GNU libc (which incorporate the Doug Lea allocator) can detect heap overflows after the fact. The [http://www.diehard-software.org DieHard] allocator prevents library-based heap overflows and reduces the likelihood of heap overflows having any effect on a running program. DieHard also makes it impossible to overwrite heap metadata by storing it separately from the heap.

External links

* [http://www.w00w00.org/files/articles/heaptut.txt "w00w00 on Heap Overflows", a more detailed explanation of heap overflows]
* [http://doc.bughunter.net/buffer-overflow/heap-corruption.html http://doc.bughunter.net/buffer-overflow/heap-corruption.html]
* [http://www.heise-online.co.uk/security/A-Heap-of-Risk--/features/74634 Heap Overflow article at Heise Security]
* [http://webmasters-forums.com/Heap-Files-%28-Unordered-Files-%29-t-601.html Information About Heap Files] : Essential Informations ( Basics ) about Heap Files.

ee also

* Buffer overflow
* Stack overflow
* Stack buffer overflow
* Exploit
* Shellcode


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Heap-Overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

  • Heap Overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

  • Heap overflow — Dépassement de tas En informatique, un dépassement ou débordement de tas (en anglais, heap based buffer overflow ou plus simplement heap overflow) est un bogue semblable à un dépassement de tampon, mais contrairement à ce dernier où le… …   Wikipédia en Français

  • Heap (Speicher) — Der dynamische Speicher, auch Heap (engl. für Halde, Haufen), Halden oder Freispeicher ist ein Speicherbereich, aus dem zur Laufzeit eines Programms zusammenhängende Speicherabschnitte angefordert und in beliebiger Reihenfolge wieder freigegeben… …   Deutsch Wikipedia

  • Overflow — Contents 1 Computing and telecommunications 2 Water Overflow may refer to: Computing and telecommunications Buffer …   Wikipedia

  • Buffer overflow — In computer security and programming, a buffer overflow, or buffer overrun, is an anomalous condition where a process attempts to store data beyond the boundaries of a fixed length buffer. The result is that the extra data overwrites adjacent… …   Wikipedia

  • Buffer-Overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

  • Buffer Overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

  • Buffer overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

  • Pointer overflow — Pufferüberläufe (engl. buffer overflow) gehören zu den häufigsten Sicherheitslücken in aktueller Software, die sich u. a. über das Internet ausnutzen lassen können. Im Wesentlichen werden bei einem Pufferüberlauf durch Fehler im Programm zu große …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”