Se préparer à une attaque cyber demande de l'entraînement. On ne compte plus aujourd'hui les sociétés spécialisées dans les cyber range, ces exercices d'entraînement permettant de comprendre et appréhender les enjeux d'une cyberattaque. Comment cela marche ? L'objectif est de comprendre son fonctionnement et déroulé en se mettant dans la peau d'une équipe red team (attaquants) ou blue team (défenseurs). Mais cela nécessite du temps et de l'investissement. Microsoft apporte avec son CyberBattleSim une réponse pour les entreprises qui n'auraient pas ces deux moyens à leur disposition avec un simulateur de cyberattaque.
Sans remplacer un véritable cyber range, il a tout de même le grand mérite d'exister. Surtout que Microsoft a ouvert le code source Python et son interface sous OpenAI Gym publiés sur Github. OpenAI Gym a été utilisé pour servir les environnements interactifs d'apprentissage par renforcement pour permettre aux chercheurs de développer et entraîner de nouveaux algorithmes d'entraînements d'agents autonomes pour comprendre comment ceux-ci opèrent. « CyberBattleSim fournit un moyen de construire une simulation très abstraite de la complexité des systèmes informatiques, permettant de cadrer les défis de la cybersécurité en contexte d'apprentissage par renforcement », explique Microsoft. L'apprentissage par renforcement est une catégorie d'apprentissage machine dans lequel des agents autonomes apprennent comment prendre des décisions en agissant en fonction de leur environnement.
Simuler l'attaque au moment du déplacement latéral
Le but de la simulation de lutte contre les cybermenaces est de comprendre comment un attaquant parvient à voler des informations confidentielles. En apprenant ses techniques d'intrusion, les défenseurs peuvent ainsi mieux anticiper les risques et les failles et enclencher des actions de remédiation. Mais il ne faut pas perdre de vue que les équipes de défense ont toujours un coup de retard par rapport aux attaquants qui déterminent en amont quel vecteur d'attaque utiliser alors que les défenseurs doivent se préparer sans savoir où la frappe va avoir lieu. En somme le rôle d'un gardien de but contre une équipe entière qui peut marquer aussi par derrière et au-dessus de lui...
Alors comment fonctionne CyberBattleSim ? Ce dernier est centré tout d'abord sur la modélisation de menaces post intrusion et déplacement latéral d'un cyberattaquant dans le système d'information d'une entreprise. « L'environnement est constitué d'un réseau de nœuds informatiques. Il est paramétré par une topologie de réseau fixe et un ensemble de vulnérabilités prédéfinies qu'un agent peut exploiter pour se déplacer latéralement à travers le réseau », explique Microsoft. « L’objectif de l’attaquant simulé est de s'approprier une partie du réseau en exploitant ces vulnérabilités implantées. Pendant que l'attaquant simulé se déplace sur le réseau, un agent de défense surveille l'activité du réseau pour détecter la présence de l'attaquant et contenir l'attaque ».
Représentation visuelle du mouvement latéral dans une simulation de réseau informatique. (crédit : Microsoft)
Simuler sans réel exploit de vulnérabilité...
Dans l'exemple simulé ci-dessus l'attaquant enfreint le réseau à partir d'un nœud Windows 7 (sur le côté gauche, pointé par une flèche orange). Il procède à un mouvement latéral vers un nœud Windows 8 en exploitant une vulnérabilité dans le protocole de partage de fichiers SMB, puis utilise des informations d'identification mises en cache pour se connecter à une autre machine Windows 7. Il exploite ensuite une faille distante IIS pour posséder le serveur IIS, et utilise finalement des chaînes de connexion divulguées pour accéder à la base de données SQL.
« Cet environnement simule un réseau informatique hétérogène prenant en charge plusieurs plateformes et aide à montrer comment l'utilisation des derniers systèmes d'exploitation et la mise à jour de ces systèmes permettent aux organisations de tirer parti des dernières technologies de durcissement et de protection sur des OS comme Windows 10 », fait savoir Microsoft. « L'environnement de simulation Gym est paramétré par la définition de la configuration du réseau, la liste des vulnérabilités prises en charge et les nœuds où elles sont implantées. La simulation ne prend pas en charge l'exécution de code machine, et donc aucun exploit de vulnérabilité n'y a réellement lieu ».
... ni analyse du trafic réseau réel
Les scénarios de cyberattaques traitées dans le cadre de CyberBattleSim sont variés et vont du vol d'identifiants au leak de propriétés de noeuds pour de l'escalade de privilèges en passant par l'exploit de vul de sites Sharepoint via compromission des credentials SSH. Microsoft précise par ailleurs que l'environnement Gym autorise une grande souplesse de personnalisation et de paramétrages pour simuler des cyberattaques. L'éditeur a par ailleurs inclus un outil de benchmark pour mesurer et comparer la réussite d'actions de défense cyber basées sur l'apprentissage automatique.
« La simulation dans CyberBattleSim est simpliste, ce qui présente des avantages : sa nature hautement abstraite interdit l'application directe aux systèmes du monde réel, offrant ainsi une protection contre une utilisation néfaste potentielle d'agents automatisés entraînés avec elle. Cela nous permet également de nous concentrer sur des aspects spécifiques de la sécurité que nous souhaitons étudier et expérimenter rapidement avec des algorithmes d'apprentissage automatique et d'IA récents : nous nous focalisons actuellement sur les techniques de mouvement latéral, dans le but de comprendre comment la topologie et la configuration du réseau affectent ces techniques. Avec un tel objectif à l'esprit, nous avons estimé que la modélisation du trafic réseau réel n'était pas nécessaire, mais ce sont des limitations importantes que les contributions futures peuvent chercher à résoudre ». Des limites clairement assumées par Microsoft qui, encore une fois, ne remettent cependant pas en cause la pertinence de sa démarche pour accompagner les entreprises dans leur simulation cyber.