Modélisation des menaces Eric Mittelette Eric Vernié Microsoft France - DPE
Types d'attaques courants Échec de la connexion Attaques d'entreprise Données confidentielles Violations accidentelles de la sécurité automatisées Pirates Virus, chevaux de Troie et vers Déni de service (DoS) DoS
Qu'est-ce que la modélisation des menaces ? La modélisation des menaces est une analyse basée sur la sécurité dont les objectifs sont les suivants : Aider l'équipe produit à identifier les vulnérabilités du produit Évaluer les menaces relatives à une application Réduire les risques globaux à l'égard de la sécurité Identifier les ressources Découvrir les vulnérabilités Identifier les menaces Permettre d'établir la base des spécifications de conception en matière de sécurité
Avantages de la modélisation des menaces Permet de mieux comprendre votre application Permet de rechercher les erreurs Permet d'identifier les erreurs de conception complexes Permet d'intégrer de nouveaux membres à l'équipe Permet d'établir des programmes de test de sécurité bien conçus Risque Vulnérabilité Ressource
Processus de modélisation des menaces Identifier les ressources 1 Créer une vue d'ensemble de l'architecture 2 Décomposer l'application 3 Identifier les menaces 4 Documenter les menaces 5 Évaluer les menaces 6
Établissez la liste des ressources devant être protégées : Processus de modélisation des menaces Étape 1 : Identifier les ressources Établissez la liste des ressources devant être protégées : Données confidentielles, telles que les bases de données des clients Pages Web Disponibilité système Tous les autres éléments qui, s'ils étaient endommagés, pourraient empêcher le bon fonctionnement de votre application
Processus de modélisation des menaces Étape 2 : Créer une vue d'ensemble de l'architecture Identifier ce que fait l'application Créer un diagramme de l'architecture Identifier les technologies Autorisations NTFS (authentification) Autorisation de fichier Autorisation d'URL Rôles .NET Rôle défini par l'utilisateur SSL (Confidentialité/ Intégrité) Frontière sécurisée Alice Mirwault Laura Bartoli Victor Nahas IIS Authentification anonyme par formulaires IPSec (Privé/Intégrité) ASPNET (identité du processus) Microsoft ASP.NET Authentification de Microsoft® Windows SQL Server
Processus de modélisation des menaces Étape 3 : Décomposer l'application Identifier les frontières sécurisées Décomposez l'application Créez un profil de sécurité basé sur les domaines de vulnérabilité classiques Examinez les interactions entre les différents sous-systèmes Utilisez les diagrammes UML ou de flux de données Identifier le flux de données Identifier les points d'entrée Identifier le code privilégié Documenter le profil de sécurité
Processus de modélisation des menaces Étape 4 : Identifier les menaces Constituez une équipe Identifiez les menaces Menaces liées au réseau Menaces liées aux hôtes Menaces liées à l'application
Processus de modélisation des menaces Identifier les menaces à l'aide de STRIDE Types de menaces Exemples USurpation Falsification de messages électroniques Rediffusion de paquets d'authentification FalsificaTion Modification des données lors d'une transmission Changement des données dans des fichiers Répudiation Suppression d'un fichier important et déni de l'action Achat d'un produit et déni de l'action Divulgation d'Informations Exposition d'informations dans des messages d'erreur Exposition de code sur des sites Web Deni de service Submersion d'un réseau avec des paquets SYN Submersion d'un réseau avec des paquets ICMP falsifiés Elévation de privilèges Exploitation du débordement de mémoire tampon pour obtenir des privilèges système Obtention illégale des privilèges d'administrateur
Voir les informations relatives aux salaires Processus de modélisation des menaces Identifier les menaces à l'aide d'organigrammes des menaces 1.0 Voir les informations relatives aux salaires (I) 1.1 Le trafic n'est pas protégé (ET) 1.2 L'intrus voit le trafic 1.2.1 Espionner le trafic avec un analyseur de protocole 1.2.2 Écouter le trafic du routeur 1.2.2.1 Routeur non équipé d'un correctif (ET) 1.2.2.2 Endommager le routeur 1.2.2.3 Deviner le mot de passe du routeur Menace n°1 (I) Voir les informations relatives aux salaires 1.1 Le trafic n'est pas protégé 1.2 L'intrus voit le trafic 1.2.1 Espionner le trafic avec un analyseur de protocole 1.2.2 Écouter le trafic du routeur 1.2.2.1 Routeur non équipé d'un correctif 1.2.2.2 Endommager le routeur 1.2.2.3 Deviner le mot de passe du routeur
Processus de modélisation des menaces Étape 5 : Documenter les menaces Documenter les menaces à l'aide d'un modèle : Ne pas renseigner le champ Risque (pour l'instant) Description de la menace Injection de commandes SQL Cible de la menace Composant de l'accès aux données Risque Techniques d'attaque L'intrus ajoute des commandes SQL au nom d'utilisateur utilisé pour former une requête SQL Contre-mesures Utiliser une expression régulière pour valider le nom d'utilisateur et une procédure stockée avec des paramètres pour accéder à la base de données
Processus de modélisation des menaces Étape 6 : Évaluer les menaces Utilisez la formule suivante : Risque = Probabilité * Dommage potentiel Utilisez le modèle DREAD pour noter les menaces Dommage potentiel Reproductibilité Exploitation Utilisateurs Affectés Découverte
Processus de modélisation des menaces Exemple : Évaluer les menaces Dommage potentiel Utilisateurs affectés Ou Dommage Menace n°1 (I) Voir les informations relatives aux salaires 1.1 Le trafic n'est pas protégé 1.2 L'intrus voit le trafic Reproductibilité Exploitation Découverte Ou Probabilité 1.2.1 Espionner le trafic avec un analyseur de protocole 1.2.2 Écouter le trafic du routeur 1.2.2.1 Routeur non équipé d'un correctif 1.2.2.2 Endommager le routeur 1.2.2.3 Deviner le mot de passe du routeur
Sur MSDN, retrouvez tout un ensemble de ressources liées à la sécurité pour les développeurs Les meilleures articles techniques en français Les Webcasts (vidéos de formation) enregistrées lors des Rencontres Sécurité de décembre 2005, et ceux, à venir, des Journées Microsoft de la Sécurité Des cours en ligne, en français et gratuits Les derniers bulletins de sécurité Et le jeu concours « Sale bug ! » Chaque mois, un bug caché dans une portion de code Le mois suivant, la solution sur le site avec des liens vers des articles pour en savoir plus Et des lots à gagner, tout au long de l’année