Livres sur la cybersécurité : Sécurité applicative
Le bloc pour les développeurs : les vulnérabilités que l'on introduit soi-même et les façons de ne pas les introduire.
Livres sur la cybersécurité : Sécurité applicative
Cinquième partie sur neuf. Le bloc pour les développeurs : les vulnérabilités que l'on introduit soi-même et les façons de ne pas les introduire.
Presque toute la liste est applicable au travail du lundi matin.
Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook (2e édition, 2011)
Un épais ouvrage de référence sur les attaques du web. Il ne dit rien des frontends modernes ni des API, mais sa classification des vulnérabilités et sa méthodologie de test restent les meilleures du genre.
Sujets : mécanismes d'authentification et de gestion des sessions, contrôle d'accès, injections en tous genres, attaques sur la logique de l'application, attaques sur l'utilisateur, méthodologie de parcours complet d'une application.
Michal Zalewski. The Tangled Web (2011)
Comment les navigateurs fonctionnent réellement et pourquoi le modèle de sécurité du web a cette allure. Écrit par celui qui a trouvé ces problèmes.
Sujets : origines et règle d'origine unique, le DOM et son isolation, les cookies et leurs limites, le traitement du contenu par le navigateur, en-têtes de sécurité, mécanismes hérités des années quatre-vingt-dix.
Malcolm McDonald. Web Security for Developers (2020)
Un livre compact et actuel pour ceux qui écrivent du code plutôt que de tester celui des autres. Une bonne porte d'entrée avant les deux précédents.
Sujets : fonctionnement du navigateur et de HTTP, injections, XSS et CSRF, stockage sûr des mots de passe, dépendances et vulnérabilités qu'elles apportent, configuration du serveur, défense contre les attaques automatisées.
Tanya Janca. Alice and Bob Learn Application Security (2020)
Sur l'intégration de la sécurité dans le processus de développement, plutôt que comme une étape distincte avant la mise en production.
Sujets : exigences de sécurité et conception, codage sûr, tests et outillage dans la chaîne, gestion des secrets, culture de collaboration entre développement et sécurité.
Adam Shostack. Threat Modeling: Designing for Security (2014)
Le seul livre qui apprenne à répondre de manière systématique à la question « qu'est-ce qui peut mal tourner ici » avant d'écrire le code.
Sujets : diagrammes de flux de données, méthodologie STRIDE, arbres d'attaque, priorisation des menaces trouvées, intégration de la modélisation des menaces au processus de travail.
Neil Madden. API Security in Action (2020)
La sécurité des API, de l'authentification de base aux systèmes distribués, avec du code qui tourne.
Sujets : authentification et autorisation dans les API, jetons et leur stockage, OAuth 2 et OpenID Connect, limitation du débit de requêtes, sécurité dans les microservices et Kubernetes, TLS mutuel.
Justin Richer, Antonio Sanso. OAuth 2 in Action (2017)
Le protocole démonté de l'intérieur : les auteurs proposent de construire de ses propres mains le client, le serveur d'autorisation et la ressource protégée.
Sujets : les flux OAuth 2 et lequel employer quand, erreurs d'implémentation courantes côté client et côté serveur, jetons d'accès et de rafraîchissement, JWT, lien avec OpenID Connect.
Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano. Secure by Design (2019)
La thèse du livre : la plupart des vulnérabilités viennent d'une mauvaise conception du domaine et non d'une vérification oubliée. Les auteurs montrent comment un modèle de domaine strict supprime des classes entières d'erreurs.
Sujets : types plutôt que validation, objets immuables, frontières de contexte, traitement des erreurs, sécurité dans les architectures cloud et distribuées, travail sur du code hérité.
Partie suivante : défense et réponse.
Toute la série :