Buffer Overflow
Ein Pufferüberlauf tritt auf, wenn ein Programm mehr Daten in einen Puffer fester Größe schreibt, als dieser fassen kann, und dabei angrenzenden Speicher überschreibt — mit möglichen Abstürzen oder Codeausführung.
Zweck
Speicher-Sicherheitslücken verstehen und abwehren — der häufigste Sicherheitsfehlertyp in C/C++-Programmen.
Mechanismus
Mehr Bytes als die reservierte Länge in einen Stack-/Heap-Puffer zu schreiben, überschreibt angrenzenden Speicher (Rückkehradressen, andere Variablen). Ein Angreifer kann eine Rückkehradresse überschreiben, um zu Shellcode zu springen. Abwehr: Bounds Checking, ASLR, Stack Canaries, DEP/NX.
Anwendungsfälle
- C/C++-Sicherheitsaudit
- Exploit-Analyse
- Speichersicherheits-Abwehr