| sécurité opérationnelle
Qu’est-ce que la simulation d’adversaire avec Caldera ?
Aujourd’hui, les attaques sont de plus en plus complexes et étalées dans le temps. C’est pour cela que les experts parlent maintenant d’Advanced Persistent Threat (APT). En réponse, les mécanismes de détection ont également évolué, avec l’avènement des technologies d’Endpoint Detection & Response (EDR), qui agrègent et corrèlent des événements unitaires pour permettre de détecter des signaux faibles d’attaque. Ces EDR, parmi d’autres technologies, sont, en général, opérés au sein d’un Security Operation Center (SOC). Alors, comment s’assurer que ces mécanismes de détection sont correctement configurés, et quelle est leur efficacité ?
Quel est le rôle de la simulation d’adversaire ?
La simulation d’adversaire (adversary emulation en anglais) est une technique qui consiste à mettre en place des mécanismes internes, permettant de tester les solutions de détection d’une entreprise. En pratique, cela se présente sous la forme de serveur et/ou d’agents, qui simulent des attaques ou des exploitations de failles, de manière plus ou moins complexe et procédurière.
Afin de catégoriser et référencer les attaques correctement, différents frameworks de sécurité sont utilisés, tels que la Cyber Kill Chain ou la matrice ATT&CK du MITRE. La Cyber Kill Chain offre, par exemple, une liste de 227 techniques d’attaque réparties en 14 tactiques, et est très utilisée pour simuler les étapes d’une attaque complexe.
Qu’est-ce que Caldera ?
L’organisation à but non lucratif « MITRE », qui est à l’origine du framework « ATT&CK » cité précédemment, a également mis au point un outil Open Source de simulation d’adversaire : Caldera, disponible sur GitHub.
Son fonctionnement est plutôt simple. Il suffit de l’installer sur un serveur qui lui sera dédié, puis de déployer un agent qui aura une fonction identique à celle d’un Beacon sur des machines clientes. Le serveur peut ensuite agir de manière identique à un « Command and Control » (C2), en donnant des directives aux agents pour exécuter différentes attaques ou exploitations de données.
Ce qui rend cet outil intéressant, c’est, au-delà de donner des consignes à un agent en direct, qu’il permet d’élaborer ou de rejouer des scénarios d’attaques complets. En particulier ceux menés par des groupes APT ou par des entreprises ayant exercé une opération de test d’intrusion sur le SI.
Caldera propose nativement un certain nombre de commandes et d’outils. Ces derniers, appelés « Ability » permettent par exemple de faire de l’énumération, de télécharger des payloads ou des outils malveillants – tels que « Mimikatz », mais surtout de les exécuter. Cependant, certaines d’entre elles sont des modèles, et nécessitent donc d’être modifiées. Enfin, il est aussi possible de créer ses propres Ability basées sur des scripts « maison », pour une meilleure flexibilité. Une capacité intéressante de Caldera est celle d’obscurcissement, qui peut être utilisée pour cacher des commandes malveillantes, en les interprétant en base64 par exemple.
Quand et pourquoi l’utiliser ?
Caldera peut mettre à l’épreuve différents outils et moyens de détections, rejouer les différentes étapes d’un test d’intrusion ou d’un audit de sécurité, ou encore recetter un SOC.
Dans le premier de ces trois cas d’usages, Caldera cherche à éprouver les capacités de détection de plusieurs outils du même type (par exemple plusieurs EDR entre eux). De cette manière, vous pourrez comparer et choisir celui qui vous conviendrait le mieux, selon le contexte, vos attentes et les capacités de détection de Caldera. De plus, il est intéressant d’évaluer les possibilités d’investigation entre les différents outils car cela peut être un bon indicateur.
Pour le second cas, l’idée est de reproduire fidèlement le scénario d’attaque utilisé par la société ayant réalisé le test d’intrusion. Cette action vise à vérifier que le scénario échoue bien, une fois la mise en place effective des préconisations par les auditeurs.
Enfin, le dernier cas d’usage est celui où Caldera recette un SOC. En effet, le SOC récupère les données provenant de tous les outils de sécurité déployés et y ajoute une part de corrélation d’événements avec un SIEM (Security Information and Event Management). Cela permet ainsi d’affiner les détections, en se basant sur toutes les sources de données récoltées. L’utilisation d’un simulateur d’adversaire peut donc contribuer à la recette d’un SOC, et vérifier l’efficacité de ses détections face à des scénarios d’attaques complexes.
Dans un contexte où le concept de Purple Team est de plus en plus important, la simulation d’adversaires est sans doute l’élément clé de sa mise en place, afin de garantir une amélioration continue des outils de détection et des configurations des SI. Elle permet de tester tous les processus mis en place par le SOC pour s’assurer qu’ils fonctionnent de manière optimale. Cependant, son utilisation ne remplace en aucun cas une véritable opération de Red Team, elle n’est qu’un complément à celle-ci. La combinaison de ces deux facteurs contribuera à une stratégie de sécurité complète et viable.
Pierre Tabary – Geoffrey Noro
Consultants Sécurité Opérationnelle.