Zum Inhalt springen

Pufferüberlauf

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. Februar 2003 um 18:04 Uhr durch Fristu (Diskussion | Beiträge) (typos). Sie kann sich erheblich von der aktuellen Version unterscheiden.


Buffer Overflows gehören zu den verbreitetsten Sicherheitslücken aktueller Software, welche sich über das Internet ausnutzen lassen. Im wesentlichen können bei einem Buffer Overflow durch Designfehler im Programm zu große Datenmengen in einen unterdimensionierten Speicherbereich geschrieben werden, wodurch ungewollt nachfolgende Informationen im Speicher überschrieben werden. Dadurch kann der Angreifer bis in den Bereich des Stacks gelangen und die Rücksprungadresse des Unterprogramms mit beliebigen Daten überschreiben, wodurch dann auch übermittelter Assemblercode des Angreifers ausgeführt werden kann. Dieser Code ist in der Regel so genannter Shellcode und hat als Ziel das Öffnen einer Shell mit den Privilegien des Prozesses, welcher für den Buffer Overflow anfällig ist. Besonders begehrtes Ziel ist bei Unix-Systemen der Root-Zugang. Buffer Overflows in verbreiteter Server- und Clientsoftware werden auch von Internetwürmern ausgenutzt.

Buffer Overflow Attacken sind ein wichtiges Thema in der Computersicherheit & Netzwerksicherheit und können über jegliche Art von Netzwerken und auch lokal auf dem System ausgeführt werden. Behoben werden sie in der Regel durch kurzfristig gelieferte Patches der Hersteller.

Neben Nachlässigkeiten bei der Programmierung werden Buffer Overflows vor allem durch die auf der Von-Neumann-Maschine basierten modernen Computerarchitektur ermöglicht, gemäß welcher Daten und Programm im gleichen Speicher liegen. Durch diese Hardwarenähe sind sie auch nur unter assemblierten oder compilierten Programmiersprachen ein Problem, interpretierte Scriptsprachen sind, abgesehen von dem Interpreter selber, nicht anfällig, da es keine starren Variablengrenzen gibt.