Module 1 : Analyse des risques et besoins de sécurité
Exercice 1.1 : Évaluation des critères DICP (20 min)
Rappel théorique
Les quatre critères fondamentaux de la sécurité sont :
- Disponibilité : le service doit être utilisable quand nécessaire
- Intégrité : les données doivent être exactes et complètes
- Confidentialité : les données ne doivent pas être divulguées aux personnes non autorisées
- Preuve/Traçabilité : il doit être possible d'attribuer les actions à leur auteur
L'évaluation de ces critères dépend du contexte métier et des enjeux liés à l'information ou au service.
Énoncé
Pour chacun des cas d'utilisation suivants, évaluez les besoins en termes de DICP selon l'échelle : 0 (pas important), + (important), ++ (très important). Justifiez brièvement votre évaluation.
- Un médecin consulte le dossier médical d'un patient
- Un client effectue un virement bancaire en ligne
- Un étudiant consulte ses notes sur le portail de l'université
- Un employé enregistre ses heures de travail dans le système de pointage
Exemple de format pour votre réponse:
1. Un médecin consulte le dossier médical d'un patient
- Disponibilité: ++ (justification...)
- Intégrité: ++ (justification...)
- Confidentialité: ++ (justification...)
- Preuve: + (justification...)
Solution
Afficher la correction
1. Un médecin consulte le dossier médical d'un patient
- Disponibilité : ++ (Le dossier doit être accessible en permanence, surtout en cas d'urgence)
- Intégrité : ++ (Des données médicales erronées peuvent avoir des conséquences graves)
- Confidentialité : ++ (Les données médicales sont sensibles et protégées par le secret médical)
- Preuve : ++ (Il est essentiel de tracer qui a accédé aux dossiers médicaux pour des raisons légales et éthiques)
2. Un client effectue un virement bancaire en ligne
- Disponibilité : + (Le service doit être disponible, mais une indisponibilité temporaire est acceptable)
- Intégrité : ++ (Le montant et les coordonnées bancaires doivent être exacts)
- Confidentialité : ++ (Les informations bancaires sont confidentielles)
- Preuve : ++ (Les transactions bancaires doivent être traçables pour des raisons légales)
3. Un étudiant consulte ses notes sur le portail de l'université
- Disponibilité : + (Une indisponibilité temporaire est acceptable)
- Intégrité : ++ (Les notes doivent être exactes)
- Confidentialité : + (Les notes sont personnelles mais pas hautement sensibles)
- Preuve : + (Il est important de savoir qui a consulté ou modifié les notes)
4. Un employé enregistre ses heures de travail dans le système de pointage
- Disponibilité : + (Le système doit être disponible pendant les heures de travail)
- Intégrité : ++ (Les heures doivent être exactes pour la paie et les statistiques)
- Confidentialité : + (Ces informations sont relativement confidentielles)
- Preuve : ++ (Il est important de savoir qui a enregistré quelles heures pour éviter la fraude)
Exercice 1.2 : Identification des menaces (20 min)
Rappel théorique
Une menace est un scénario qui peut porter atteinte à la sécurité du système. Le modèle STRIDE permet de catégoriser les menaces :
- Spoofing (usurpation d'identité) : se faire passer pour quelqu'un d'autre
- Tampering (altération de données) : modification non autorisée des données
- Repudiation (rejet d'une action effectuée) : nier avoir effectué une action
- Information disclosure (divulgation d'informations) : accès non autorisé à des informations
- Denial of service (déni de service) : rendre un service indisponible
- Elevation of privilege (élévation de privilèges) : obtenir des droits supérieurs
Énoncé
Pour un site e-commerce comprenant une zone client avec historique des commandes, paiement en ligne et profil utilisateur, identifiez : 1. Deux menaces pour chaque catégorie du modèle STRIDE 2. Pour chaque menace, indiquez un impact potentiel sur l'entreprise
Exemple de présentation :
Spoofing:
- Menace 1: Un attaquant utilise les identifiants volés d'un client
Impact: Perte de confiance des clients, atteinte à la réputation
- Menace 2: ...
Impact: ...
Solution
Afficher la correction
Spoofing (usurpation d'identité)
-
Menace 1: Un attaquant utilise les identifiants volés d'un client pour se connecter à son compte.
Impact: Perte de confiance des clients, atteinte à la réputation, possibles poursuites judiciaires. -
Menace 2: Un attaquant se fait passer pour le site e-commerce par phishing.
Impact: Atteinte à l'image de marque, perte de confiance des clients, responsabilité légale potentielle.
Tampering (altération de données)
-
Menace 1: Modification des prix des produits dans la base de données.
Impact: Pertes financières, incohérences dans la comptabilité. -
Menace 2: Altération de l'historique des commandes pour masquer des fraudes.
Impact: Difficultés de suivi des commandes, litiges avec les clients, pertes financières.
Repudiation (rejet d'une action effectuée)
-
Menace 1: Un client nie avoir passé une commande livrée.
Impact: Pertes financières, coûts de gestion des litiges. -
Menace 2: Un employé nie avoir modifié des informations sensibles.
Impact: Difficultés à identifier l'origine d'une fuite de données, obstacles aux investigations.
Information disclosure (divulgation d'informations)
-
Menace 1: Fuite de la base de données clients (noms, adresses, historiques d'achat).
Impact: Violation du RGPD avec amendes potentielles, atteinte à la réputation, perte de confiance. -
Menace 2: Accès non autorisé aux données de carte bancaire.
Impact: Non-conformité PCI DSS, amendes, perte de l'autorisation de traiter des paiements.
Denial of service (déni de service)
-
Menace 1: Attaque DDoS rendant le site inaccessible.
Impact: Perte de chiffre d'affaires pendant la durée de l'indisponibilité, atteinte à la réputation. -
Menace 2: Saturation de la base de données par des requêtes malveillantes.
Impact: Ralentissements du site, expérience utilisateur dégradée, pertes de ventes.
Elevation of privilege (élévation de privilèges)
-
Menace 1: Un attaquant exploite une vulnérabilité pour obtenir un accès administrateur.
Impact: Compromission complète du système, accès à toutes les données sensibles. -
Menace 2: Un client modifie ses paramètres pour accéder à des fonctionnalités réservées aux employés.
Impact: Accès à des informations confidentielles, possibilité de modifier des paramètres critiques.
Exercice 1.3 : Mesures de sécurité (20 min)
Rappel théorique
Pour contrer les menaces, on peut mettre en place des mesures : - Préventives : empêchent la réalisation de la menace - Détectives : détectent qu'une menace s'est réalisée - Correctives : corrigent les effets d'une menace réalisée
Ces mesures peuvent être techniques, organisationnelles ou juridiques.
Énoncé
Pour le scénario suivant : "Un attaquant utilise une injection SQL pour accéder à la base de données clients d'une application web".
- Proposez trois mesures préventives
- Proposez deux mesures détectives
- Proposez une mesure corrective
Solution
Afficher la correction
Mesures préventives:
-
Utiliser des requêtes préparées/paramétrées : Séparer les données des instructions SQL pour empêcher l'interprétation des entrées utilisateur comme du code.
-
Valider et filtrer les entrées utilisateur : Vérifier que les données correspondent au format attendu (type, longueur, caractères autorisés).
-
Appliquer le principe du moindre privilège : L'utilisateur de base de données utilisé par l'application ne doit avoir que les droits strictement nécessaires.
-
Utiliser un ORM (Object-Relational Mapping) : Ces outils gèrent automatiquement l'échappement des données et les requêtes préparées.
-
Mettre à jour régulièrement : Appliquer les correctifs de sécurité sur les frameworks, bibliothèques et SGBD utilisés.
Mesures détectives:
-
Mettre en place un système de détection d'intrusion (IDS) : Pour identifier les tentatives d'injections SQL.
-
Journaliser les requêtes SQL : Enregistrer les requêtes avec leur source pour analyse ultérieure.
-
Surveiller les activités anormales : Mettre en place une surveillance des requêtes inhabituelles ou excessives.
-
Auditer régulièrement : Examiner les logs de la base de données pour détecter des activités suspectes.
Mesures correctives:
-
Maintenir des sauvegardes régulières : Permettre la restauration de la base de données en cas de corruption.
-
Mettre en place un plan de reprise d'activité : Procédures documentées pour restaurer les systèmes compromis.
-
Isoler les systèmes compromis : Limiter la propagation de l'attaque dans l'infrastructure.
Points clés à retenir
- Analysez toujours les besoins DICP selon le contexte et les enjeux métier
- Catégorisez les menaces à l'aide de modèles comme STRIDE pour être exhaustif
- Mettez en place des mesures de sécurité préventives, détectives et correctives
- Évaluez les risques en fonction de la probabilité et de l'impact des menaces
- Priorisez les actions en fonction du niveau de risque et des contraintes (coût, temps, ressources)
Pour aller plus loin
Méthodologies
- EBIOS Risk Manager (ANSSI)
- MEHARI (CLUSIF)
- ISO 27005
- NIST SP 800-30
Outils
- PILAR (EAR/PILAR)
- OCTAVE
- MONARC (CASES)
- CORAS
Formations
- MOOC SecNumacadémie (ANSSI)
- Certifications ISO 27001
- Formations CLUSIF ```