Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Reconnaître les mécanismes de sécurité de .NET
- Expliquer les principales failles de sécurité applicative
- Mettre en oeuvre le Code Access Security et le Role Based Security
- Sécuriser des "Assemblys"
- Authentifier et autoriser l'accès aux applications ASP.NET
- Chiffrer des données avec le Framework .NET
- Créer des tests visant à éprouver la sécurité des applications
- Formuler des exigences de sécurité aux autres corps de métiers.
Prérequis
Avoir des connaissances en développement d'application en langage .NET ou langage assimilé.
Validez les prérequis
Afin de vérifier que vous disposez bien des prérequis nécessaires à cette formation, nous vous invitons à réaliser ce test.
Temps estimé : 4 minutes.
Passer le testPublic concerné
Pentesters et développeurs.
Programme
Jour 1
Rappels sur la sécurité applicative
- Fonctionnement de la pile d'exécution
- L'analyse de code statique et dynamique
- Le principe du moindre privilège
- L'hijacking de ressources
- Les overflows
- Les protections lors de l'exécution
- Le chiffrement des données au repos et en transit
Sécurité du Framework .NET
- La revue de code
- La validation des entrées
- Les "namespaces"
- Le sandboxing
- La gestion sécurisée des erreurs
- L'attribut APTCA (Allow Partially Trusted Callers Attribute)
Exemples de travaux pratiques (à titre indicatif)
- Créer une classe de filtrage des entrées utilisateur pour un identifiant, un ID et un email
- Ajouter à ce script une gestion sécurisée des erreurs
Chiffrement avec C#
- Rappel des bases du chiffrement
- Les fonctions de Hash
- Les algorithmes symétriques type AES
- Les algorithmes asymétriques RSA
- Windows Data Protection et File. Encrypt
- Générer des clés
- Générer des certificats
Exemple de travaux pratiques (à titre indicatif)
- Créer une classe de chiffrement symétrique et Hash de la donnée chiffrée
Jour 2
L'authentification
- Exploitation d'HTTP basic
- La classe FormsAuthenticationModule
- Le protocole IWA (Integrated Windows Authentication)
- La méthode Application_AuthenticateRequest
- Le contrôle des rôles et permissions
- La classe UrlAuthorizationModule
- Les "security attributes"
Exemples de travaux pratiques (à titre indicatif)
- Créer un outil d'authentification avec HTTP basic
- Proposer des mesures de sécurisation
- Implémenter certaines des mesures proposées
La sécurité applicative
- Anatomie d'une faille applicative
- Vulnérabilités de sécurité courantes dans les applications .NET et C#
- Présentation de l'OWASP et de ses projets
- Les Security Cheat Sheets
- Le Top 10
- Les guides de l'OWASP (Test Guide, Dev Guide...)
- L'ASVS (Application Security Verification Standard)
- Les grandes familles de vulnérabilités
- Les CVE (Common Vulnerabilities and Exposures)
- Les CWE (Common Weakness Enumerations)
- Le scoring CVSS (Common Vulnerability Scoring System)
Exemples de travaux pratiques (à titre indicatif)
- Estimation de la vulnérabilité d'un produit
- Exploitation :
- D'une injection d'entête HTTP
- D'une injection SQL
- D'une Cross-Site Scripting
- D'une Cross-Site Request Forgery
- D'une Server-Side Request Forgery
Jour 3
Exemples de travaux pratiques (à titre indicatif) - Suite
- Exploitation d'un vol de session
- Exploitation d'une désérialisation
- Exploitation d'une référence directe à un objet
La sécurité du code externe
- Le cas des librairies
- Le cas des API
Mettre en place du Secure Code
- Durcir son application avec l'OWASP ASVS et l'OWASP Dev Guide
- Les bonnes pratiques de sécurisation du code
- Validation et filtrage des entrées utilisateur
- Se protéger de la décompilation
- L'obfuscation du code
- Faire des tests et des validations
- La capture via proxy
- La capture via tcpdump ou Wireshark
- Les tests avec Postman
- Les vulnerability scanners
- Le DAST (Dynamic Application Security Testing)
- Le SAST (Static Application Security Testing)
- Filtrer les échanges
- Les WAF (Web Application Firewalls)
- Les IPS et les IDS
- Limiter l'exposition
- Rôle des firewalls, proxies et DMZ
- Outils et technologies de sécurité (Firewall, IPS, IDS...)
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.