0x3000 · Bereich
Bugs finden
Der billigste Speicherfehler ist der, den man vor dem Release findet. Sanitizer machen aus stiller Korruption präzise Berichte, und coverage-gesteuerte Fuzzer erzeugen die Eingaben, die sie auslösen. Zusammen sind sie das wirksamste Werkzeugpaar für C- und C++-Teams.
Leitfäden in diesem Bereich
How ASan, UBSan, MSan, TSan and HWASan work, which flags and runtime options to use, how to read an ASan report line by line, and how to run sanitizers in CI.
Write a fuzz harness, build it with sanitizers, run libFuzzer and AFL++, manage corpora and dictionaries, and run continuous fuzzing in CI with OSS-Fuzz or ClusterFuzzLite.
Leitfäden erscheinen zuerst auf Englisch. Übersetzungen folgen.
Weitere Bereiche
Speicher-Grundlagen
Stack, Heap, ELF-Segmente und Aufrufkonventionen: das Terrain jedes Bugs.
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.
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.