Plan du cours
Fondamentaux de la sécurité informatique et du codage sécurisé
- Fondamentaux de la modélisation des menaces : STRIDE, surfaces d'attaque et vecteurs d'escalade de privilèges
- Intégration dans le cycle de développement logiciel sécurisé (SDLC) : approche « shift left », revues de conception conscientes des menaces et défense en profondeur
- Principe du privilège minimum, défense par contrat et configurations sécurisées par défaut
- Atelier : Cartographier un microservice .NET selon un modèle de menaces et identifier les contrôles architecturaux
Sécurité des applications web dans ASP.NET
- Pipeline de requête ASP.NET, ordre d'exécution des middlewares et points d'interception des filtres
- Risques du protocole HTTP : injection d'en-têtes, frappe de requêtes (request smuggling) et erreurs de configuration CORS
- Gestion de session, persistance de l'état et meilleures pratiques de sécurité des cookies
- Appels de procédure à distance sécurisés et modèles de consommation d'API externes
- Travaux pratiques : Exploiter et corriger une chaîne de middlewares vulnérable dans un exemple d'application ASP.NET
Architecture de sécurité .NET et services intégrés
- Modèle de sécurité CLR : preuves, autorisations et évolution de la sécurité d'accès au code (CAS)
- ASP.NET Core Identity, schémas d'authentification et sécurité basée sur les jetons (JWT, OAuth2, OpenID Connect)
- API de protection des données : chiffrement, rotation des clés et sérialisation sécurisée des données
- Primitives cryptographiques dans .NET : générateur de nombres aléatoires (RNG), hachage, chiffrement symétrique/asymétrique et validation de signature
- Travaux pratiques : Implémenter l'émission sécurisée de jetons, la rotation des clés et la protection des données à travers une limite de microservice
Erreurs de codage courantes, vulnérabilités et atténuation
- Attaques par désérialisation, altération de ViewState et pièges liés à la terminaison ou au débordement de chaîne dans .NET
- Dérive de configuration : web.config / appsettings.json, exposition des variables d'environnement et gestion des secrets
- Vecteurs d'injection : SQL, commandes, XSS et LDAP dans l'accès aux données et le routage en C#
- Paramètres par défaut non sécurisés, codage en dur et gestion des erreurs inadéquate conduisant à des fuites d'informations
- Travaux pratiques : Réingénierie inverse d'un module .NET vulnérable, application de patterns sécurisés et validation des correctifs avec des analyseurs statiques et dynamiques
Tests de sécurité, validation et amélioration continue
- Tests de sécurité statique des applications (SAST) : analyseurs Roslyn, Security Code Scan et intégration CI/CD
- Tests de sécurité dynamique des applications (DAST) : OWASP ZAP, workflows Burp Suite et numérisation automatisée
- Protection runtime : garde-fous d'application, pratiques de sécurité de la mémoire et journalisation/audit sécurisés
- Gestion des correctifs, suivi des dépendances et réponse aux avis de sécurité .NET/ASP.NET
- Travaux pratiques : Construire un portail de sécurité pré-commit et un pipeline pour une solution .NET
Sources de connaissances et écosystème de développement sécurisé
- Guides officiels de sécurité Microsoft, documentation de sécurité .NET et références de durcissement d'ASP.NET
- Bases de données CVE, flux d'avis et workflows de divulgation responsable pour les dépendances open source
- Écosystèmes de bibliothèques sécurisées : PGP, opérations cryptographiques, échafaudages d'authentification et cryptographie conforme
- Élaboration de normes internes de codage sécurisé, renforcement des compétences des développeurs et programmes de « security champions »
- Atelier : Constitution d'une boîte à outils de développement sécurisé personnalisée et établissement de pratiques de surveillance continue
Pré requis
- Maîtrise solide des fondamentaux de la programmation C# et de l'environnement .NET
- Connaissance d'ASP.NET pour le développement web (Pages Razor, MVC ou APIs minimalistes)
- Compréhension des concepts de base de HTTP, du routage et des serveurs web
- Aucune certification préalable en sécurité n'est requise, mais une expérience professionnelle en codage est attendue
Nos clients témoignent (5)
Très bien pour comprendre comment un pirate informatique pourrait analyser des sites pour détecter leurs faiblesses et les outils qu'il pourrait utiliser.
Roger - OTT Mobile
Formation - .NET, C# and ASP.NET Security Development
Traduction automatique
les blagues ringardes. J'adore la session de deux jours parce que les laboratoires sont géniaux.
Kevin Galacgac - Human Edge Software Philippines, Inc.
Formation - .NET, C# and ASP.NET Security Development
Traduction automatique
Le formateur est vraiment en phase avec nous et s'assure que personne ne soit laissé de côté sur le sujet actuel. Il explique bien chaque sujet et fournit un exemple facile à comprendre.
Edgarico Llaneta - Human Edge Software Philippines, Inc.
Formation - .NET, C# and ASP.NET Security Development
Traduction automatique
La formation pratique et les exemples.
Lord-Sam Lamparero - Human Edge Software Philippines, Inc.
Formation - .NET, C# and ASP.NET Security Development
Traduction automatique
I was benefit from the exercises (SQL injection, XSS, CRSF. .).