Buffer-Overflow: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 10: | Zeile 10: | ||
*Dann folgt der Stack , der lokale Variablen und den Inhalt von Prozessorregistern aufnehmen kann. | *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. | *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. | *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. | *Dadurch kann der Stack und damit die Rücksprungadresse überschrieben werden. | ||
| + | |||
*Wenn die Rücksprungadresse ungültig ist, kommt es zum Programmabsturz. | *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. | *Der Trick der Hacker besteht jetzt darin, die Rücksprungadresse auf Programmsegmente zu lenken, die den eigentlichen Schadcode enthalten. | ||
Version vom 7. Oktober 2020, 16:30 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.
