The Art of Software Security Assessment
Identifying and Preventing Software Vulnerabilities
Référence de 1200 pages sur l'audit de codes C/C++ pour la sécurité : interactions mémoire et entiers complexes, pièges du langage, et comment les vulnérabilités émergent à la frontière entre couches.
En tant qu'Associé Amazon, nous percevons une commission sur les achats éligibles. Le lien ci-dessus est sponsorisé.
- Auteurs
- Mark Dowd,John McDonald,Justin Schuh
- Publié
- 2006
- Éditeur
- Addison-Wesley Professional
- Pages
- 1200
- Langue
- English
À lire si
Auditeurs, chercheurs de vulnérabilités et développeurs de codebases C/C++. Le livre le plus profond en imprimé sur la lecture de code adversariale. Vieux, dense et toujours indépassé.
À éviter si
Développeurs web, quiconque travaille exclusivement en langages memory-safe, ou débutants sans exposition C/C++. Le livre est un primer d'audit de 1 200 pages ; rien d'autre ne rivalise en profondeur.
Points clés
- Les classes de vulnérabilités (corruption mémoire, problèmes d'entiers, format strings, race conditions) émergent des interactions entre couches ; le livre vous apprend à voir les frontières.
- Le chapitre sur les problèmes d'entiers est la référence canonique ; la plupart des CVE publiques en C/C++ jusqu'en 2025 remontent encore aux patterns nommés ici par Dowd/McDonald/Schuh.
- Les études de cas (Apache, Postfix, Solaris, OpenSSL) rendent les abstractions concrètes ; les lire dans l'ordre construit l'œil d'auditeur que rien d'autre ne construit.
Notes
À lire par morceaux en parallèle d'audits de code réels, pas de couverture à couverture. À coupler avec Hacking: The Art of Exploitation (Erickson) pour le côté offensif et avec Designing Secure Software (Kohnfelder) pour la vue design défensive. Le livre précède l'adoption de Rust mais le raisonnement se transfère proprement partout où le C/C++ continue d'expédier en 2026 (kernel, embarqué, cœurs de navigateurs). Le livre le plus important pour les chercheurs de vulnérabilités.
Que lire avant
Que lire avant The Art of Software Security Assessment →Intermédiaire · 2021
Real-World Cryptography
Tour pratique de David Wong des primitives, protocoles et pièges cryptographiques qui apparaissent réellement en production, avec une attention assumée à TLS, Noise, AEAD modernes, et post-quantique.
Intermédiaire · 2021
Designing Secure Software
Loren Kohnfelder, l'auteur PKI original, sur comment tisser la pensée sécurité à travers exigences, design, implémentation et opérations plutôt que de la boulonner à la fin.
Intermédiaire · 2014
Threat Modeling
L'introduction de praticien d'Adam Shostack à la modélisation des menaces : STRIDE, arbres d'attaque, et comment intégrer la pratique au cycle de vie logiciel réel.
Que lire ensuite
Que lire après The Art of Software Security Assessment →Avancé · 2011
The Tangled Web
Le livre le plus profond jamais écrit sur le modèle de sécurité étrange et accumulé du navigateur web.
Avancé · 2005
The Database Hacker's Handbook
La référence exhaustive 2005 de Litchfield, Anley, Heasman et Grindlay sur l'attaque et la défense d'Oracle, SQL Server, DB2, MySQL, PostgreSQL, Sybase et Informix — l'ère où le moteur de base de données lui-même était la cible facile.
Avancé · 2017
Attacking Network Protocols
James Forshaw, vétéran de Project Zero, sur comment capturer, parser et casser les protocoles depuis le wire jusqu'à la couche application, avec un fort focus sur la construction d'un tooling d'analyse réutilisable.
Explorer des livres similaires
Alternatives à The Art of Software Security Assessment →Intermédiaire · 2021
Real-World Cryptography
Tour pratique de David Wong des primitives, protocoles et pièges cryptographiques qui apparaissent réellement en production, avec une attention assumée à TLS, Noise, AEAD modernes, et post-quantique.
Avancé · 2011
The Tangled Web
Le livre le plus profond jamais écrit sur le modèle de sécurité étrange et accumulé du navigateur web.
Avancé · 2005
The Database Hacker's Handbook
La référence exhaustive 2005 de Litchfield, Anley, Heasman et Grindlay sur l'attaque et la défense d'Oracle, SQL Server, DB2, MySQL, PostgreSQL, Sybase et Informix — l'ère où le moteur de base de données lui-même était la cible facile.