Menu Fermer

Modélisation des menaces avec notre modèle STRIDE-CX

STRIDE-CX (en ajoutant le contournement des défenses et l’exécution de code arbitraire) est une évolution du modèle de Microsoft STRIDE fusionné avec les impacts techniques de MITRE CWE et CWSS :

  • Usurpation d’identité (S) – Assume identity (Spoofing) menace l’identification et l’authentification
  • Altération des données, fichiers et répertoires (T) – Modify data (Tampering) menace l’intégrité
  • Dissimulation des activités (R) – Hide activities (Repudiation) menace l’imputabilité
  • Lecture des données, fichiers et répertoires (I) – Read data (Information disclosure) menace la confidentialité
  • Déni de service ou indisponibilité de la ressource (D) – (Denial of service) menace la disponibilité
    • Exécution instable (D) – DoS: unreliable execution;
    • Plantage, sortie et redémarrageDoS: Crash, Exit and Restart
    • Arrêt inattenduDoS: Stop
    • État inattenduDoS: Unexpected State
    • Épuisement des ressourcesDoS: resource consumption (mémoire, CPU, espace disque, réseau)
  • Gain de privilèges (E) – Gain privileges (Elevation of privileges) menace l’autorisation (droits d’accès)
  • Exécution non autorisée de code ou de commandes (X) – Execute unauthorized code or commands – Menace potentiellement tous les objectifs (le code peut servir à gagner des privilèges, à verrouiller des comptes, chiffrer des données, etc.)
  • Contournement d’un mécanisme de protection ou des défenses (C) – Bypass protection mechanism – Menace potentiellement tous les objectifs (le code peut servir à évader les mécanismes de surveillance, de contrôle d’accès, etc.)

Tout l’intérêt de faire l’inventaire des menaces, c’est de pouvoir les associer avec des mesures de contrôle (résistance) et des faiblesses. Nous donnons ci-dessous un tableau des mesures de contrôle possible, avec l’identifiant du référentiel dont elle est issue (ici l’exemle de CSF 2.0). Pour prendre connaissance de notre propre référentiel, cliquer sur le menu « Référentiels ».

  • Usurpation d’identité (S) :
    • PR.AC-1 (Gestion des identifiants et des accès)
    • PR.AC-6 (validation des identités, lien avec un moyen d’authentification, assertion)
    • PR.AC-7 (authentification)
    • RS.MI-1 (confinement des incidents)
  • Altération (T) :
    • PR.AC-2 (accès physique)
    • PR-DS-1 (données au repos)
    • PR-DS-2 (données en transit)
    • PR-DS-6 (vérification de l’intégrité logicielle et informationnelle)
    • PR-DS-8 (vérification de l’intégrité matérielle)
    • PR.IP-3 (contrôle de la configuration)
    • PR.MA-1 (maintenance)
    • PR.PT-1 (journalisation)
    • PR.PT-2 (supports amovibles)
    • DE.CM-2 (surveillance physique)
    • DE.CM-4 (détection de code malveillant)
    • DE.CM-5 (détection de code mobile non autorisé)
    • DE.CM-7 (surveillance des accès non autorisés)
    • RS.MI-1 (confinement des incidents)
  • Dissimulation / Répudiation (R) : [Dépendance avec le PR.AC-1, PR.AC-6, PR.AC-7]
    • PR.PT-1 (journalisation)
    • DE.CM-1 (surveillance du réseau)
    • DE.CM-2 (surveillance physique)
    • DE.CM-3 (surveillance du personnel)
    • DE.CM- 6 (surveillance des fournisseurs)
    • DE.CM-7 (surveillance des accès non autorisés)
    • RS.MI-1 (confinement des incidents)
  • Divulgation (I) :
    • PR-DS-1 (données au repos)
    • PR-DS-2 (données en transit)
    • PR-DS-1 (données au repos)
    • PR-DS-5 (fuite de données)
    • PR.IP-6 (destruction des données)
    • PR.PT-2 (supports amovibles)
    • PR.AT-1 (formation du personnel)
    • PR.PT-1 (journalisation)
    • DE.CM- 6 (surveillance des fournisseurs)
    • DE.CM-7 (surveillance des accès non autorisés)
    • RS.MI-1 (confinement des incidents)
  • Déni de service (D) :
    • PR.DS-4 (gestion des capacités)
    • PR.IP-4 (sauvegardes)
    • PR.PT-3 (principe de fonctionnalité minimum)
    • PR.PT-4 (contrôle des communications et des réseaux)
    • PR.PT-5 (redondance)
    • RS.MA-01 (exécution du plan de gestion des incidents)
    • RS.MI-1 (confinement des incidents)
  • Gain de privilèges (E) :
    • PR.AC-3 (gestion des accès distants)
    • PR.AC-4 (gestion des privilèges)
    • PR.AT-2 (sensibilisation des comptes à privilège)
    • PR.PT-1 (journalisation)
    • DE.CM-7 (surveillance des accès non autorisés)
    • RS.MI-1 (confinement des incidents)
  • Contournement (C) + :
    • PR.AC-3 (gestion des accès distants)
    • PR.AC-5 (intégrité des réseaux)
    • PR.MA-2 (maintenance)
    • PR.PT-3 (principe de fonctionnalité minimum)
    • PR.PT-4 (contrôle des communications et des réseaux)
    • DE.CM-1 (surveillance du réseau)
    • RS.MI-1 (confinement des incidents)
  • Exécution de code ou commande (X) + :
    • PR-DS-6 (vérification de l’intégrité logicielle et informationnelle),
    • PR.IP-3 (contrôle de la configuration)
    • PR.PT-1 (journalisation)
    • PR.PT-3 (principe de fonctionnalité minimum)
    • DE.CM-4 (détection de code malveillant)
    • DE.CM-5 (détection de code mobile non autorisé)
    • DE.CM-09 (surveillance matérielle et logicielle, environnements d’exécution)
    • RS.MI-1 (confinement des incidents)

Idéalement, nous ajouterions une correspondance avec les faiblesses ou vulnérabilités des systèmes. Ci-dessous une tentative avec des catégories haut-niveau de OWASP (appelés TOP 10 des « risques »), mais il est préférable de sélectionner les faiblesses CWE qui sont les plus pertinentes avec le degré adéquat de pr0fondeur.

A01 – Contrôle d’accès défaillant – Broken Access Control
A02 – Échecs cryptographiques – Cryptographic Failures
A03 – Injection
A04 – Conception non sécuritaire – Insecure Design
A05 – Mauvaise configuration de sécurité – Security Misconfiguration
A06 – Composants vulnérables et obsolètes – Vulnerable and Outdated Components
A07 – Échecs d’identification et d’authentification – Identification and Authentication Failures
A08 – Intégrité défaillante des logiciels et des données – Software and Data Integrity Failures
A09 – Échec de la journalisation et de la surveillance de sécurité – Security Logging and Monitoring Failures
A10 – Falsification des requêtes côté serveur – Server-Side Request Forgery (SSRF)

Vous pouvez accéder aux détails sur le site d’OWASP :
https://owasp.org/www-project-top-ten/

Les menaces du modèle STRIDE-CX sont assez haut-niveau, mais elles gardent une certaine hiérarchie dont il faut prendre conscience. Comme on l’a vu précédemment, un cheminement d’attaque suit des phases, séquentielles au début et à la fin, non séquentielles entre les deux, car il faudra que l’attaquant s’adapte au degré de résistance qu’il rencontre jusqu’à atteindre ses objectifs tactiques et stratégiques.
Au sein de STRIDE, les TID représentent des objectifs tactiques de premier degré dans la plupart des cas (malheureusement pas tous), les SE représentent des objectifs tactiques de second degré. Il en va de même pour notre modèle STRIDE-CX ou CX sont aussi des objectifs tactiques.
Les objectifs tactiques sont des étapes intermédiaires nécessaires pour parvenir à des objectifs stratégiques. Et les objectifs tactiques de second degré sont des méthodes intermédiaires avant de passer aux objectifs tactiques du premier degré (les CID). Cette hiérarchie peut être représentée dans un « arbre d’attaques » simplifié.

Cette simplification de l’arbre d’attaques représente une combinatoire des possibles et a l’avantage de mettre en contexte les menaces du modèle STRIDE-CX pour comprendre les dépendances, mais il est imparfait. D’abord il faut comprendre que dans cette représentation, les CID s’appliquent seulement à l’actif étudié et non à tout actif faisant partie de son écosystème.
Dans nombre de cas, l’altération d’une donnée technique (comme un journal d’événements) servira au contournement des défenses. Mais on ne sélectionnera pas la menace Altération qui s’applique à un composant secondaire, on sélectionnera la menace qui représentera la conséquence, et le lie pourra être matérialisé par des tirets.
La représentation sera un peu différente si on veut schématiser un scénario spécifique au lieu d’une combinatoire des possibles, comme ci-dessous. Les menaces non utilisées (ou non mises en évidence) sont grisées pour clarifier le cheminement de l’attaque retenu.

Il faut aussi noter que des menaces de « même ordre » peuvent se succéder. On matérialisera cela par des flèches d’une menace à l’autre sans changer de niveau. C’est le cas de la dissimulation d’activités, mais ce pourrait être aussi des menaces connexes dans le schéma.

Cette présentation fait partie d’un cours d’une formation en ligne en cours de développement sur la Gestion des risques (modélisation des menaces) ou l’on explore les différentes manières de schématiser une analyse des menaces en vue d’une future scénarisation des risques.

© Copyright Services Cyber Cyriskintel Inc.