Buffer-Overflow: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Was passiert beim Buffer-Overflow= Wenn ein Programm gestartet wird, weist ihm das Betriebssystem einen bestimmten Speicherbereich zu. In einem Teil davon li…“)
 
Zeile 7: Zeile 7:
 
=Quelle=
 
=Quelle=
 
*http://www.pcwelt.de/ratgeber/Buffer-Overflow-So-funktioniert-ein-Pufferueberlauf-Die-Hacker-Bibel-4838377.html
 
*http://www.pcwelt.de/ratgeber/Buffer-Overflow-So-funktioniert-ein-Pufferueberlauf-Die-Hacker-Bibel-4838377.html
 +
=Beispiel=
 +
*http://www-rn.informatik.uni-bremen.de/lehre/itsec/itsec05-2u.pdf

Version vom 15. November 2017, 17:33 Uhr

Was passiert beim Buffer-Overflow

Wenn ein Programm gestartet wird, weist ihm das Betriebssystem einen bestimmten Speicherbereich zu. In einem Teil davon liegt der eigentliche Programmcode. Dieser ist geschützt und kann nicht geändert werden. Darüber liegt der Heap , in dem das System globale Variablen und Konstanten ablegt. Dann folgt der Stack , der lokale Variablen und den Inhalt von Prozessorregistern aufnehmen kann. Im Stack liegen auch die Rücksprung-Adressen von Unterprogrammen, also von Verzweigungen im Hauptprogramm. Beim Buffer-Overflow wird eine lokale Variable mit mehr Inhalt gefüllt, als für Sie reserviert ist. Dadurch kann der Stack und damit die Rücksprungadresse überschrieben werden. Wenn die Rücksprungadresse ungültig ist, kommt es zum Programmabsturz. Der Trick der Hacker besteht jetzt darin, die Rücksprungadresse auf Programmsegmente zu lenken, die den eigentlichen Schadcode enthalten.

Buffer-overflow.png

Quelle

Beispiel