0x0000 · Bereich
Speicher-Grundlagen
Ohne ein Modell davon, wo Daten liegen, lässt sich über Speicherkorruption nicht sinnvoll nachdenken. Dieser Bereich behandelt den virtuellen Adressraum eines Prozesses, Auf- und Abbau von Stack-Frames, die Chunk-Verwaltung des Heap-Allocators und welche ELF-Segmente beschreibbar oder ausführbar sind.
Leitfäden in diesem Bereich
A defender's tour of a Linux process's address space: ELF segments, the stack and calling conventions, the heap, mmap, and why permissions and randomization matter.
Leitfäden erscheinen zuerst auf Englisch. Übersetzungen folgen.
Weitere Bereiche
Schwachstellenklassen
Überläufe, Use-after-free, Double Free, Integer- und Format-String-Bugs und wie man sie erkennt.
Exploit-Mitigationen
Canaries, NX/DEP, ASLR/PIE, RELRO, FORTIFY_SOURCE, CFI, CET und PAC und wie man sie prüft.
Bugs finden
AddressSanitizer, UBSan und coverage-gesteuertes Fuzzing mit libFuzzer und AFL++.
Crash-Triage
Signale, Backtraces, Sanitizer-Berichte und Core-Dumps lesen und entscheiden, was zuerst behoben wird.
Sichere Entwicklung
Speichersichere Sprachen, sichereres C++ und eine realistische Migrationsstrategie.
Lernpfad
Ein legaler, gestufter Weg von C und Assembler zu CTF-Pwn-Challenges und Security-Karrieren.