Préambule
Imaginez que vous êtes un développeur d'artefacts Endpoint. Après avoir travaillé pour assurer une protection contre les injections conventionnelles de shellcode ou les innovations en matière de ransomware, comment savoir si la protection fonctionne réellement avant de l'envoyer dans le monde entier ?
Tout d'abord, vous mettez en place votre système de bout en bout, ce qui implique la mise en place de plusieurs services, de l'infrastructure, de la configuration du réseau, etc. Ensuite, vous exécutez des logiciels malveillants ; les données que vous recueillez répondent à des questions sur la performance et l'efficacité, et peuvent constituer une ressource importante pour la recherche à l'avenir. Après avoir passé une journée à tester et à rassembler vos résultats, vous voudrez peut-être exécuter plusieurs centaines de hachages sur plusieurs types de systèmes d'exploitation et de machines, une tâche ardue si elle est réalisée entièrement à la main.
Pour automatiser ce processus et tester nos protections à grande échelle, nous avons créé Detonate, un système utilisé par les ingénieurs en recherche de sécurité pour mesurer l'efficacité de notre solution Elastic Security de manière automatisée. Notre objectif est de faire en sorte que les chercheurs en sécurité n'aient besoin que de quelques clics pour tester nos protections contre les logiciels malveillants. (Ainsi : clic, clic... boum !)
Dans cette série de billets, nous allons : - Présenter Detonate et pourquoi nous l'avons construit - Explorer le fonctionnement de Detonate et les détails de la mise en œuvre technique - Décrire des études de cas sur la façon dont nos équipes l'utilisent chez Elastic - Discuter de l'ouverture de nos tests d'efficacité à la communauté pour aider le monde à protéger leurs données contre les attaques.
Intéressé par d'autres articles sur Detonate ? Jetez un coup d'œil à la partie 2 - Into The Weeds : Comment nous faisons fonctionner Detonate, où nous expliquons le fonctionnement de Detonate et nous plongeons plus profondément dans la mise en œuvre technique.
Qu'est-ce que Detonate ?
À un niveau élevé, Detonate exécute des logiciels malveillants et d'autres logiciels potentiellement malveillants dans un environnement contrôlé (c'est-à-dire dans un bac à sable) où l'ensemble des capacités d'Elastic Security sont activées. Detonate accepte un hachage de fichier (généralement un SHA256) et effectue les actions suivantes :
- Prépare tous les fichiers nécessaires à la détonation, y compris le fichier malveillant.
- Fournit une instance de machine virtuelle (VM) dans un environnement sandbox, avec une connectivité limitée au monde extérieur.
- Attend la fin de l'exécution du fichier ; cela se produit, par exemple, lorsqu'un fichier de résultat d'exécution est trouvé ou que l'instance VM est arrêtée ou plus ancienne que le délai d'exécution de la tâche.
- Arrête l'instance de la VM en cours d'exécution (si nécessaire) et nettoie l'environnement "sandboxé".
- Génère un résumé de l'événement basé sur la télémétrie et les alertes produites pendant la détonation.
Les résultats de ces détonations sont mis à la disposition de l'équipe à des fins de recherche et de développement. En traitant a posteriori les journaux, les événements et les alertes collectés pendant la détonation, nous pouvons les enrichir avec des renseignements de tiers et d'autres sources pour évaluer l'efficacité des fonctions de protection nouvelles et existantes d'Elastic Security.
En quoi cela nous aide-t-il ?
Mesurer l'efficacité
Pour construire le meilleur EPP du marché, nous devons mesurer en permanence l'efficacité de notre produit contre les menaces les plus récentes. Detonate est utilisé pour exécuter plusieurs dizaines de milliers d'échantillons chaque mois à partir de nos flux de données. Les lacunes dans la couverture sont automatiquement identifiées et utilisées pour améliorer en priorité nos protections.
Soutenir les protections existantes
Nombre de nos protections sont associées à des artefacts (tels que des modèles d'apprentissage automatique et des définitions de règles) qui font l'objet de mises à jour régulières. Ces mises à jour doivent être testées afin d'identifier les régressions et d'y remédier avant qu'elles ne se retrouvent dans l'environnement d'un utilisateur.
Detonate fournit un cadre et une suite d'outils pour automatiser l'analyse impliquée dans ce processus de test. En exploitant un corpus de hachages avec des logiciels connus, bons et mauvais, nous pouvons valider nos protections avant qu'elles ne soient déployées auprès des utilisateurs.
Recherche des menaces
Certains de nos chercheurs en sécurité parcourent quotidiennement l'internet à la recherche de nouvelles menaces. En leur donnant une plateforme facile à utiliser pour tester les logiciels malveillants qu'ils trouvent dans la nature, nous comprenons mieux comment Elastic Security se défend contre ces menaces ou si nous devons mettre à jour nos protections.
Évaluation des nouvelles protections
En plus de tester les protections existantes, les nouvelles protections risquent d'avoir des interactions négatives avec notre suite existante de capacités superposées. Une nouvelle protection peut être facilement testée seule, mais les tests peuvent cacher des interactions ou des conflits involontaires avec des protections existantes. Detonate nous permet de personnaliser la configuration de la pile Elastic et des protections individuelles afin de trouver et d'identifier plus facilement de tels conflits à un stade précoce du développement.
Quelle est la suite ?
Dans cette publication, nous avons présenté Detonate & et son utilisation chez Elastic. Nous avons discuté des avantages qu'il offre à notre équipe lors de l'évaluation des performances de nos artefacts de sécurité.
Maintenant que vous savez de quoi il s'agit, nous allons expliquer comment fonctionne Detonate. Dans notre prochain article, nous nous pencherons plus en détail sur la mise en œuvre technique de Detonate et sur la façon dont nous sommes en mesure de créer cet environnement en bac à sable dans la pratique.