0x3000 · Domaine
Trouver les bugs
Le bug mémoire le moins cher est celui qu'on trouve avant la mise en production. Les sanitizers transforment une corruption silencieuse en rapport précis, et les fuzzers guidés par la couverture génèrent les entrées qui la déclenchent. Ensemble, ils forment le duo de détection le plus efficace pour les équipes C et C++.
Guides de ce domaine
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.
Les guides sont publiés d'abord en anglais. Les traductions suivront.
Autres domaines
Fondamentaux de la mémoire
Pile, tas, segments ELF et conventions d'appel : le terrain de chaque bug.
Classes de vulnérabilités
Débordements, use-after-free, double free, bugs d'entiers et de chaînes de format, et comment les repérer.
Mitigations d'exploitation
Canaris, NX/DEP, ASLR/PIE, RELRO, FORTIFY_SOURCE, CFI, CET et PAC, et comment les vérifier.
Triage des crashs
Lire signaux, backtraces, rapports de sanitizers et core dumps, et décider quoi corriger en premier.
Développement sécurisé
Langages sûrs pour la mémoire, C++ plus sûr et une stratégie de migration réaliste.
Parcours d'apprentissage
Un parcours légal et progressif, du C et de l'assembleur aux épreuves pwn de CTF et aux métiers de la sécurité.