Sources du module Sécurité des applications web. Ce module constitue une introduction à la sécurisation des sites et applications sur le web.
- Accéder à la démo live sur le traitement des données (validation, sanitize, escape)
- Accéder à la démo commentée et documentée sur le traitement des données (validation, sanitize, escape)
- Accéder à la démo Attaque Brute Force un système d'authentification, exemple de mini-projet illustrant un type d'attaque. S'en servir de base (plan) pour documenter une autre faille;
- Accéder à la démo Attaque Cross-site Request Forgery (CSRF)
Accéder à une checklist de mesures de sécurité
Quelques ressources pour approfondir le module Sécurité des applications web.
- Essential PHP Security, de Shiflett, publié chez O'Reilly, 2005. LP++
- The Web Application Hackers Handbook, de Dafydd Stuttard et Marcus Pinto, publié chez John Wiley & Sons Inc, 2011. LE+
- Hacking: The Art of Exploitation, 2nd Edition, de Jon Erickson, publié chez No Starch Press, 2008. LE++
- Writing secure code, 2nd edition, de Michael Howard et David LeBlanc, publié chez Microsoft Press, 2003. Tout le livre est bon. Voir partie II, chapitre 13 pour des problèmes spécifiques au web. LP++
- Threat Modeling: Designing for Security, 1st Edition , d'Adam Shostack, publié chez Wiley, 2014. LI++. Voir également l'introduction au threat modeling dans le chapitre 4 de Writing Secure code
- Web Security For Developers, de Malcolm Macdonald, publié chez No Starch Press, 2020. Introduction/Overview, couvre les menaces principales, pédagogique. Bien pour faire un tour d'horizon sans rentrer trop dans les détails et trouver des sujets à approfondir ensuite. LI
- Sécurité des applications web : Stratégies offensives et défensives, de Malween Le Goffic, publié chez ENI Éditions, 2024. LI+
- OWASP Top Ten : Top 10 Web Application Security Risks, document standardisé des risques de sécurité des applications web. Liste et classifie l'ensemble de risques reconnus comme critiques pour les applications web
- Common Weakness Enumeration (CWE), un groupe de travail qui maintient une liste des vulnérabilités connues des software et hardware
- OWASP Cheat Sheet Series, des synthèses sur les différents types d'attaque et leur prévention
- OWASP : Input Validation Cheat Sheet
- OWASP : Attacks, la liste des attaques les mieux connues
- OWASP : Secrets Management Cheat Sheet, conseils sur la gestion des secrets;
- OWASP : Cryptographic Storage Cheat Sheet, conseils sur le stockage de données chiffrées;
- OWASP : Password Storage Cheat Sheet, conseils sur le stockage de mots de passe;
- Sécurité : Chiffrement, hachage, signature , publié par la CNIL
- NIST Special Publication 800-63B : Digital Identity Guidelines, Authentication and Lifecycle Management, document de référence publié par le National Institute of Standards and Technology (NIST) sur les recommandations liées à la gestion de l'identité en ligne et des systèmes d'authentification.
- KeePassXC Application Security Review, de Zaur Molotnikov. Un audit du gestionnaire de mots de passe open source KeePassXC. Contient de nombreuses informations utiles sur son fonctionnement et ses détails d'implémentation. Télécharger le PDF (version 1.2)
- RFC 7519 : JSON Web Token (JWT), publié par l'IETF. Le document décrivant le standard JWT
- Guide RGPD du développeur, publié par la CNIL
- Guide RGPD de l'équipe de développement, publié par la CNIL. Plus récent
- Guide de la sécurité des données personnelles, publié par la CNIL
- Techniques d'anonymisation des données,
- Check list : Évaluer le niveau de sécurité des données personnelles de votre organisme, publiée par la CNIL
- Guide pratique : Les durées de conservation, publié par la CNIL. Pour bien définir la durée de conservation des données personnelles
- DAMN VULNERABLE WEB APPLICATION (DVWA), une application web PHP/MySQL extrêmement vulnérable. Son objectif principal est d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement légal, d'aider les développeurs web à mieux comprendre les processus de sécurisation des applications web et d'aider à la fois les étudiants et les enseignants à apprendre la sécurité des applications web dans un environnement de classe contrôlé. Regarder sur YouTube des usages du projet
- hydra, Hydra est un programme de craquage de mot de passe parallélisé qui supporte de nombreux protocoles pour attaquer
- Dépôt : démo Same Origin Policy, une démo de la Same Origin Policy
- Dépôt : démo JWT Authentification, une démo de l'implémentation du standard JWT
- KeePassXC Application Security Review, de Zaur Molotnikov. Un audit du gestionnaire de mots de passe open source KeePassXC. Contient de nombreuses informations utiles sur son fonctionnement et ses détails d'implémentation. Télécharger le PDF (version 1.2)
- Xkpassword, générateur de mots de passe basé sur le comic Password Strength d'xkcd
- 74 % des cyberattaques sont causées par des facteurs humains, notamment des erreurs
- Des dépendances imaginaires aux conséquences réelles : l'IA invente des noms de logiciels et les devs les téléchargent
- Dangers du chiffrement (cryptage) des données d'une base de données MySQL/MariaDB , de Frédéric Brouard, 2024
- Des chercheurs ont découvert que le modèle d'IA GPT-4 d'OpenAI est capable de pirater des sites web et de voler des informations dans des bases de données en ligne sans aide humaine, sur développez.com
- La sécurité des conteneurs, qu'est-ce que c'est ?, un très bon article de RedHat sur la sécurité des conteneurs, de l'application conteneurisée à l’infrastructure sur laquelle le conteneur est déployée
- Why Forced Password Changes Reduce Security, de Kev Quirk, ingénieur en sécurité depuis plus de 10 ans
- Don’t try to sanitize input. Escape output., de Ben Hoyt. Pourquoi faut-il préférer l'échappent au filtrage des input et quels impacts sur la sécurité
- Parcoursup : cachez ces vulnérabilités que je ne saurais voir !, un bel exemple de sécurité par obscurité
- Threat Modeling
- Threat Modeling Cheat Sheet, publié par l'OWASP
- File upload security and good practices checklist, une checklist de bonnes pratiques concernant l'upload (téléversement) de fichiers vers votre serveur
- xkcd explained : 936: Password Strength
- xkcd explained : 327: Exploits of a Mom
- Building the ultimate login and signup, vous pensiez que construire un formulaire de connexion/inscription sécurisé à une application web est nue tâche triviale ? Ici vous verrez que non, un décorticage méthodique de toutes les potentielles failles de sécurité à prévoir quand on design un système d'authentification. Donné par Matt Cotterell, un ingénieur en sécurité basé en Nouvelle Zélande
- Same-origin policy: The core of web security, OWASP Wellington, la Same Origin Policy (SOP) merveilleusement bien expliquée. La vidéo de référence sur le sujet. Une spécification implémentée par les navigateurs, à connaître (au moins vaguement) pour tous les développeur·euse·s (front ou back). Visionnage recommandé
- Running an SQL Injection Attack - Computerphile , une excellent démo d'injection SQL didactique, de Mike Pound, sur la très bonne chaîne Computerphile
- Never click on a Link!, slides de la présentation de Rasmus Lerdorf sur la sécurité d'une application web, notamment sur l'attaque via des URL (PHP)
- LP : Livre Parcouru
- LE : Livre Évoqué (entendu parler)
- LI : Livre Inconnu
- "+" : Recommandé
- "++" : Fortement recommandé
- "-" : Peu recommandé (rare que je la mentionne)
- "--" : Non recommandé (rare que je la mentionne)
Inspiré de Comment parler des livres que l'on a pas lu ?, de Pierre Bayard, publié chez Éditions de Minuit, 2007