Plan du cours
I. Introduction au codage sécurisé et à la sécurité des applications Web
1. Paysage des menaces sur les applications Web modernes
- Vectorisation courante des attaques sur les applications Web
- Risques de sécurité dans les applications ASP.NET modernes
- Rôle du codage sécurisé dans le développement logiciel
- Introduction à la Fondation OWASP et à ses ressources
2. Principes du développement logiciel sécurisé
- Sécurité par conception
- Défense en profondeur
- Principe du moindre privilège
- Échec sûr (Fail securely)
- Paramètres par défaut sécurisés
- Fondamentaux de la modélisation des menaces
II. Cycle de vie du développement sécurisé (SDL)
1. Cycle de vie de développement logiciel sécurisé
- Sécurité tout au long du cycle de vie de développement
- Exigences de sécurité
- Architecture et conception sécurisées
- Pratiques de codage sécurisé
- Tests et validation de sécurité
- Déploiement et maintenance sécurisés
2. Évaluation des risques et modélisation des menaces
- Identification des actifs et des menaces
- Analyse de la surface d'attaque
- Vue d'ensemble de STRIDE
- Priorisation des risques de sécurité
III. OWASP Top 10 pour les applications ASP.NET
1. Comprendre l'OWASP Top 10
- Contrôle d'accès défaillant
- Échec cryptographique
- Injection
- Conception insécurisée
- Mausse configuration sécurité
- Composants vulnérables et obsolètes
- Échec d'identification et d'authentification
- Échec d'intégrité logicielle et des données
- Échec de la journalisation et de la surveillance de sécurité
- Contrefaçon de requête côté serveur (SSRF)
2. Application des recommandations OWASP
- Techniques de codage sécurisé
- Contrôles préventifs
- Pratiques de configuration sécurisée
- Exemples réels et démonstrations
IV. Sécurité de l'authentification et de l'autorisation
1. Fondamentaux de l'authentification
- Mécanismes d'authentification dans ASP.NET
- Sécurité des mots de passe
- Authentification multifacteur
- Gestion des sessions
- Gestion de l'identité
2. Autorisation et contrôle d'accès
- Autorisation basée sur les rôles
- Autorisation basée sur les attestations (Claims)
- Autorisation basée sur les politiques
- Prévention de l'élévation de privilèges
- Protection des ressources sensibles
V. Prévention des attaques par injection
1. Vulnérabilités d'injection
- Injection SQL
- Injection de commandes
- Injection LDAP
- Injection XML
- Vue d'ensemble de l'injection NoSQL
2. Techniques de codage sécurisé
- Requêtes paramétrées
- Validation des entrées
- Encodage des sorties
- Considérations de sécurité ORM
- Pratiques de sécurité pour l'accès aux bases de données
VI. Prévention du script inter-site (XSS)
1. Comprendre le XSS
- XSS stocké
- XSS réfléchi
- XSS basé sur le DOM
- Scénarios d'attaque
2. Prévention du XSS
- Encodage des sorties
- Validation des entrées
- Politique de sécurité du contenu (CSP)
- Gestion sécurisée du HTML et du JavaScript
- Fonctionnalités de sécurité ASP.NET pour la prévention du XSS
VII. Prévention de la contrefaçon de requête inter-site (CSRF)
1. Comprendre le CSRF
- Fonctionnement des attaques CSRF
- Scénarios d'attaque courants
- Impact sur le business
2. Protection contre le CSRF
- Jetons anti-falsification
- Cookie SameSite
- Gestion sécurisée des sessions
- Mécanismes anti-falsification ASP.NET
VIII. Configuration sécurisée des applications ASP.NET
1. Fonctionnalités de sécurité ASP.NET
- Sécurité de la configuration
- En-têtes HTTP sécurisés
- Configuration HTTPS et TLS
- Gestion des secrets
- Gestion sécurisée des erreurs
2. Protection des données sensibles
- API de protection des données
- Stockage sécurisé des identifiants
- Fondamentaux de l'encryption
- Gestion des clés
IX. Validation des entrées et traitement sécurisé des données
1. Validation des entrées utilisateur
- White-listing versus black-listing
- Validation côté serveur
- Considérations sur la validation côté client
- Sécurité des téléversements de fichiers
2. Traitement sécurisé des données
- Sécurité de la sérialisation
- Risques de désérialisation
- Intégrité des données
- Pratiques de journalisation sécurisée
X. Tests d'intrusion et vérification de la sécurité
1. Méthodologie de tests d'intrusion
- Planification des évaluations de sécurité
- Identification des vulnérabilités
- Concepts d'exploitation
- Signalement des résultats
2. Techniques de tests de sécurité
- Application Security Testing statique (SAST)
- Application Security Testing dynamique (DAST)
- Application Security Testing interactif (IAST)
- Analyse des dépendances et des composants
- Revue manuelle du code
XI. Sécurisation des applications ASP.NET
1. Application des pratiques de codage sécurisé
- Mise en œuvre sécurisée de l'authentification
- Mise en œuvre sécurisée de l'autorisation
- Sécurité des sessions
- Gestion des exceptions
- Journalisation et surveillance
- Considérations de déploiement sécurisé
2. Bonnes pratiques de sécurité
- Normes de codage sécurisé
- Gestion des dépendances
- Gestion des correctifs (Patch management)
- Amélioration continue de la sécurité
XII. Atelier pratique sur la sécurité
1. Identification et exploitation des vulnérabilités courantes
- Analyse du code ASP.NET insécurisé
- Identification des vulnérabilités OWASP Top 10
- Compréhension des techniques d'attaque
- Évaluation de la sécurité de l'application
2. Remédiation des problèmes de sécurité
- Application de correctifs de codage sécurisé
- Validation des atténuations
- Test des applications remédiées
- Exercice de revue de codage sécurisé
XIII. Résumé et bilan du cours
1. Révision des concepts clés
- Principes de conception sécurisée
- Stratégies d'atténuation des vulnérabilités OWASP Top 10
- Fonctionnalités de sécurité ASP.NET
- Cycle de vie de développement sécurisé
2. Discussion finale
- Bonnes pratiques de codage sécurisé
- Intégration de la sécurité dans les équipes de développement
- Ressources et outils OWASP supplémentaires
- Questions/Réponses et prochaines étapes
Pré requis
Expérience avec ASP.net
Expérience dans la création d'applications Web
Nos clients témoignent (5)
Introduction aux nombreux types de comportements dangereux.
Zhongqi
Formation - Secure Developer .NET (Inc OWASP)
Traduction automatique
Avoir une session individuelle avec Raymond était incroyable, il était vraiment génial et attentif à tous mes besoins de formation.
Joshua
Formation - Secure Developer .NET (Inc OWASP)
Traduction automatique
Le niveau élevé de connaissances des formateurs nous a permis d'obtenir une très bonne compréhension des sujets abordés.
Dafydd - TATA Steel
Formation - Secure Developer .NET (Inc OWASP)
Traduction automatique
les liens de référence
Abraham Gonzalez - ATEB Servicios
Formation - Secure Developer .NET (Inc OWASP)
Traduction automatique
Les connaissances du formateur sur le sujet étaient excellentes, et la façon dont les séances étaient organisées afin que l'audience puisse suivre les démonstrations a vraiment aidé à ancrer ces connaissances, par rapport à simplement s'asseoir et écouter.
Jack Allan - RSM UK Management Ltd.
Formation - Secure Developer .NET (Inc OWASP)
Traduction automatique