The Game Of CyberThreats

La cybersécurité est un jeu de stratégie non équilibré entre attaquants et défenseurs, selon la Game Theory c’est un jeu dynamique non coopératif avec manque d’informations, où les attaquants sont toujours en avantage pour plusieurs raisons:

  • Le jeu se déroule sur le terrain adversaire la plupart du temps (Eh oui à l’encontre du football, jouer sur son terrain est un inconvénient majeur en Cybersécurité ).
  • Le nombre de tours est illimité pour un attaquant, il pourra essayer infiniment, et il suffit de trouver une seule faille chez les adversaires et le mur de défense ne sert plus à grand chose quelque soit sa solidité.
  • Un attaquant n’a rien ou peu de choses à perdre, contrairement au défenseur.

Clairement c’est un jeu hyper complexe pour les défenseurs, qui ne peuvent jamais gagner en réalité, ils peuvent juste espérer ne pas perdre (Une sorte de Squid Game!).

Plusieurs chercheurs en Game Theory, ont essayé dernièrement de proposer des pistes pour résoudre cette problématique, afin de prédire les actions des joueurs et établir une stratégie de défense fiable (trouver le Nash Equilibrium); Mais l’imprédictibilité du comportement des joueurs (les attaquants, utilisateurs…) en temps réel, et le manque d’informations sur des vulnérabilités inconnues, restent les principales difficultés pour cette approche.

Avant de parler de pistes pratiques pour trouver une stratégie de jeu (de défense), voici les principaux paramètres d’équilibrage qui sont offerts :

  • La cybersécurité est un jeu d’équipe! : la cybersécurité est aujourd’hui divisée en plusieurs domaines (Gouvernance, Gestion de risque, Architecture, Threat Intelligence…etc).
Map of Cybersecurity Domains By Henry Jiang

Ce découpage est souvent reflété dans l’organisation des équipes au sein des entités, et chaque joueur a son rôle décisif sur le terrain. Le manque de coordination entre les joueurs peut être fatal pour l’organisation, et peut même donner un avantage aux adversaires. Une politique de sécurité déconnectée des objectifs de l’entreprise, des analyses de risques génériques, des mesures compensatoires inadaptées (ou inapplicables), la multiplication des technologies faisant la même chose, des architectures dépassées, des processus non respectés …etc, sont parmi les signes de joueurs individualistes, ou de manque de coordination. Comme dans tous les jeux d’équipes, il faut avoir un manager, un chef d’orchestre, avec une vision globale, qui maitrise les enjeux, qui connait les points forts et les faiblesses de chaque joueur, et surtout un stratège (voir suite)

  • Maitriser son terrain : Si jouer sur son propre terrain est un inconvénient en Cybersécurité, le fait de ne pas maitriser son terrain est une défaite certaine. Les systèmes d’informations sont de plus en plus complexes, et la pression des objectifs métiers a raccourci drastiquement les cycles projets, et les équipes de sécurité sont de plus en plus confrontés à des problèmes de manque de visibilité (Shadow IT, BYOD, Vulnérabilités non inventoriées, installation hors process…etc). Cartographier son SI est une étape primordiale, et doit couvrir toutes les zones (du terrain), Applications métiers, solutions techniques supports, processus, configurations, vulnérabilités, contrats…etc.
  • Connaître l’adversaire (Think Like A Hacker!):

“Connaître exactement le jeu de ses adversaires, c’est leur avoir déjà à moitié gagné la partie” Emile de Girardin.

C’est même l’essence de la Game Theory, on peut pas prédire les actions des attaquants si nous nous maitrisons pas leur mode opératoire, pour faire il existe plusieurs possibilités :

  1. Regarder les matchs adversaires : Des frameworks comme MITRE ATT&CK, compilent les différentes techniques utilisées par des attaquants et offrent une bonne vision sur leur modus operandi, en se basant sur des attaques réelles observées chez d’autres organisations.
  2. Jouer des matchs amicaux (Hack Your Self Before Someone Does!) : Faire des exercices de pentesting, jouer des simulations avec des Red et Blue Teams..etc permet la montée en compétence et la préparation des équipes à des scénarios réels.
  • Avoir un plan de jeu : Avoir une stratégie de défense claire, compréhensible par tout le monde, avec comme objectif de maximiser les gains et limiter les pertes, est un prérequis majeur dans ce jeu; Mais en plus d’être un jeu de stratégie, la cybersécurité est un jeu très tactique, qui demande beaucoup d’agilité, et d’adaptabilité par rapport à des situations qui changent tout le temps.

« La stratégie sans tactique est la route la plus lente vers la victoire ; la tactique sans stratégie est le fracas annonciateur de la défaite. » Sun Tzu

Si la Game Theory a ses limites pour résoudre la problématique de la cybersécurité, elle nous offre l’idée ingénieuse de modéliser les interactions des joueurs pour trouver le Nash Equilibrium.

Et si la clé était tout simplement de tout modéliser ? Un modèle qui couvrent et le terrain et les joueurs et les interactions entre les joueurs. Les briques SI (Application, Serveurs, Equipement, OS…etc), les configurations, les processus, la politique (IAM, Règles…), les référentiels d’entreprise, Logs de connexions, Les vulnérabilités (CVE,CVSS…), les attaques paths (MITRE ATT&CK)…etc. Des technologies informatiques ne peuvent certainement pas seules répondre à ce besoin; Les meilleurs experts en cybersécurité seuls ne peuvent pas non plus; Il faut un mélange des deux et ajouter un troisième ingrédient, les mathématiques ! et ça donne la Data Science!

Mastering Data Science : Answers to the Most Common Questions and Answers (Rohan Mathawan)

La Cybersécurité est une problématique qui relève certainement du domaine de la data science, vu la taille, la diversité et la complexité des données à analyser. Aujourd’hui la Data Science est largement utilisée en Cybersécurité (Powered ML détection, Attack Response…etc), mais une branche en particulier répond précisément à notre besoin de construction de modèle : la Théorie des Graphes!

Le Knowledge Graph est un type de graph proposée par Google en 2012, qui reprend la structure de base d’un graphe mathématique (des noeuds liés avec relations), et l’enrichit avec des informations sémantiques (ontology), pour présenter les entités, les concepts et la relations entres ces éléments.

Exemple Knowledge Graph (Neo4j)

Avec un Knowledge Graph on peut modéliser les différents aspects du domaine de la cybersécurité d’une manière structurée et relationnelle, ce qui offre plusieurs avantages :

  1. Les graphes sont user freindly, et rien qu’avec leurs structure, on peut comprendre la relation entre les entités, comme avoir le lien entre le technique et le fonctionnel, mesurer l’impact (Ex : CVE →OS →Serveur →Application →Business), avoir la situation en temps réel, réaliser des analyse de risque plus réalistes, meilleure gestion des vulnérabilité …etc
  2. La structure en graphe nous offre la puissance des algorithmes de la théorie des graphes comme :
  • Paths finding : calculer les chemins possibles entre les entités et qui peuvent être exploités par un attaquant (Attack paths).
  • Similarity : calculer la similarité peut aider les experts à définir les baselines, de modéliser les droit d’accès…etc
  • Community Detection : Détecter des cluster (groupement) de données pour mieux comprendre la relation et l’interaction entre les différentes entités.
  • Centrality : calculer l’importance des entités, pour mieux concentrer les efforts, elle peut être aussi utilisée pour détecter des signaux d’attaques (DDOS, Scan…), détecter les SPFs …etc
  • Graph ML : construire un modèle (Link prediction, Node prediction…etc) pour la classification et l’analyse comportementale.

3. Le Knowledge Graph peut être une source de donnée fiable pour contextualiser les corrélations des SIEMs, diminuer les faux positive, et mener des réponses d’attaques ( Attack Response) plus efficaces.

L’utilisation des Knowledge Graphs peut changer radicalement les règles du jeu de la Cybersécurité (Si on peut pas gagner on peut changer les règles!), en offrant une meilleure approche pour bien maîtriser son terrain en mettant à plat les différentes briques, identifier les entités critiques, leur faiblesses, les chemins permettant de les atteindre, et mesurer l’impact réel des différents scénario les impactant; l’utilisation des graphes permet aussi de mieux connaitre son adversaire, d’une part en faisant des liens pertinents entre des bases de connaissance (CVE, MITRE ATT&CK …etc) et la situation réelle du système interne, et d’autre part en permettant de mener des simulations plus réalistes; Enfin l’utilisation des Knowledge Graph permet d’avoir une stratégie de défense proactive, dynamique, agile, et réactive en même temps.

Consultant en Sécurité et Réseaux