Visual Studio .Net - Sécuriser les applications .NET

Référence : 19003-161222-14-SEC

Dans cette formation, vous apprendrez à sécuriser vos applications .NET et les ressources associées (IIS, SQL Server).

Infos pratiques

  • Durée : 3 jours soit 21 heures
  • Population visée : Ouvrier – Employé – Employé qualifié – Cadre – Cadre supérieur
  • Public concerné : Développeurs, analystes programmeurs, chefs de projets.

Programme

Objectifs pédagogiques

A l’issue de cette formation, l’apprenant sera capable de :

  • Comprendre l'importance de la sécurité ;
  • Présenter et expliquer les failles de sécurité ;
  • Concevoir et développer des applications .NET sécurisées ;
  • Déceler les principales failles de sécurités dans les applications .NET, et apporter des solutions appropriées.

Pré-requis

  • Idéalement, avoir suivi les formations :
  • Les fondamentaux du développement .NET avec le langage C# 6 sous Visual Studio 2015 ;
  • Développer des applications Web ASP.NET MVC 5 en C# sous Visual Studio 2015 ;
  • ou posséder les connaissances et compétences équivalentes.

Objectifs opérationnels et contenu de la formation

Présentation de la sécurité dans les applications .NET

  • L'importance de la sécurité
  • Contre qui et quoi se défendre ?
  • Les failles de sécurité classiques
  • Comment une attaque survient ?
  • Les challenges de la sécurité
  • Le modèle STRIDE

Conseils pour la création d'applications .NET sécurisées

  • Se protéger contre les attaques courantes
  • Réduire la surface d'attaque
  • Se méfier des données des utilisateurs
  • Gérer correctement les erreurs
  • Tester la sécurité
  • Utiliser le DotFuscator
  • Signer les assemblies
  • Travaux pratiques :
  • Décompilation et altération d'une assembly non signée
  • Mise en œuvre d'un code de piratage d'une application

 

Modélisation des menaces dans les applications .NET

  • Chronologie de développement d'une application sécurisée
  • Processus de modélisation des menaces

Validation des données dans les applications Web

  • Identifier les sources de données
  • Attaques par les cookies, HTTP et JavaScript Injection
  • Les contrôles de validation de données
  • Gestion des erreurs
  • Travaux pratiques :
  • Attaque par injection de JavaScript
  • Attaque par soumission de formulaire non sécurisé côté serveur
  • Attaque d'un site web et provocation d'un déni de service

Authentification Server Web IIS

  • Importance de la protection des serveurs Web
  • Authentification et Autorisations
  • Restreindre l'accès aux applications Web
  • Permissions sur les applications Web dans IIS
  • Les modes d'authentification
  • Scénarii d'authentification dans une application Intranet / Internet
  • Emprunt d'identité et délégation
  • Gestion de l'identité de l'utilisateur
  • Améliorations de la sécurité dans IIS
  • Travaux pratiques :
  • Sécuriser un site Web.
  • Configurer correctement IIS pour l'hébergement d'une application Web

Sécuriser une application ASP .NET et ses ressources

  • Présentation
  • Authentification Windows et personnalisée
  • Gestion des autorisations
  • L'API de sécurité du Framework .NET
  • Traitement des requêtes HTTP
  • Créer un handler HTTP personnalisé
  • Travaux pratiques :
  • Sécuriser le web config et crypter les données sensibles
  • Mettre en place les directives appropriées de sécurisation applicative
  • Observation des requêtes GET et POST, mise en place d'un sniffer de trames réseaux

Concepts de sécurité basée sur les rôles

  • Présentation
  • Identités et entités de sécurité
  • Création d'identités et d'entités de sécurité Windows
  • Création d'identités et d'entités de sécurité génériques
  • Vérification de l'identité et de sécurité

 

Sécurité d'accès au code

  • Présentation
  • Sécurité d'accès au code dans une application.NET
  • Bases fondamentales de la sécurité d'accès au code
  • Vérifications de sécurité
  • Travaux pratiques :
  • Création d'une application et mise en place des politiques de sécurité
  • Accès aux ressources basées sur les rôles

Sécuriser l'accès aux bases de données SQL Server

  • Scénarii d'authentification SQL Server
  • Choix d'authentification sous SQL Server
  • Les chaînes de connexion et pools de connexions
  • Crypter le fichier de configuration
  • Les attaques SQL Injection
  • Travaux pratiques :
  • Mise en œuvre d'une application se connectant aux données et mise en œuvre des conditions d'injection SQL puis correction de la faille de sécurité

Protéger les données, leur transfert et leur l'intégrité

  • Introduction à la cryptographie
  • Cryptage, hachage et signature
  • Cryptage symétrique et asymétrique
  • Vérifier l'intégrité des données avec le hachage
  • Communication sécurisée avec SSL
  • Les API de cryptage et de protection de données
  • Cryptographie dans le Framework .NET
  • Les limites de la classe String et la classe SecureString
  • Travaux pratiques :
  • Mise en œuvre d'un cryptage Rijndael
  • Mise en œuvre d'une politique de vérification de l'intégrité des données basées sur la hashage

Tester la sécurité des applications .NET

  • Scénarios de tests
  • Créer un plan de test de sécurité
  • Trouver les interfaces à tester
  • Tester l'authentification, les autorisations
  • Tester les pages ASP .NET

Méthodes et moyens

  • Explications théoriques suivies de pratiques guidées puis mises en autonomie
  • 1 vidéoprojecteur par salle
  • Stage en mode « In Class » 2 téléviseurs et 1 caméra HD par salle
  • 1 ordinateur par stagiaire

Méthodes d’évaluation des acquis

  • Exercices de synthèse et d’évaluation
  • Evaluation de fin de stage

Profil formateur

Nos formateurs sont certifiés à l’issue d’un parcours organisé par nos soins. Ils bénéficient d’un suivi de compétences aussi bien au niveau technique que pédagogique.

Support stagiaire

  • Support papier ou électronique (dématérialisé)
  • Les exercices d’accompagnement peuvent être récupérés sur clef USB