Dans le but d’aider d’autres entreprises à analyser le code source à grande échelle, Microsoft a ouvert les requêtes CodeQL utilisées pour détecter les indicateurs de compromis (IoC) et les modèles de codage associés à Solorigate.
Un aspect clé de l’attaque Solorigate est le compromis de la chaîne d’approvisionnement qui a permis aux attaquants de modifier les binaires dans le produit Orion de SolarWinds. Comme ces fichiers binaires modifiés étaient distribués via des canaux de mise à jour légitimes, ils permettaient aux attaquants d’effectuer à distance des activités malveillantes, notamment le vol d’informations d’identification, l’élévation de privilèges et les mouvements latéraux pour voler des informations sensibles.
Microsoft a décidé d’ouvrir la source des requêtes CodeQL qu’il a utilisées dans son enquête afin que d’autres organisations puissent effectuer une analyse similaire sur leurs logiciels et systèmes.
Bien qu’il n’y ait aucune garantie que les cybercriminels seront contraints à la même fonctionnalité ou au même style de codage que ceux utilisés dans le piratage de SolarWinds, ces requêtes pourraient toujours être utiles aux organisations lorsqu’il s’agit de détecter de futures attaques.
Sommaire
Requêtes CodeQL
CodeQL est un puissant moteur d’analyse de code sémantique qui fait maintenant partie de GitHub et peut être téléchargé par les organisations qui souhaitent l’utiliser dans leurs propres efforts de sécurité.
Contrairement à d’autres solutions d’analyse, CodeQL fonctionne en deux étapes distinctes. Tout d’abord, le moteur d’analyse de code crée une base de données qui capture le modèle du code source compilé dans des binaires. Une fois la base de données construite, elle peut être interrogée à plusieurs reprises comme n’importe quelle autre base de données. Le langage CodeQL est également spécialement conçu pour permettre la sélection facile de conditions de code complexes à partir de la base de données.
Dans un nouveau billet de blog, l’équipe de sécurité Microsoft a expliqué comment elle agrège les bases de données CodeQL produites par les systèmes de construction ou les pipelines de l’entreprise dans une infrastructure centralisée, en disant:
«L’agrégation des bases de données CodeQL nous permet de rechercher sémantiquement dans notre multitude de bases de code et de rechercher des conditions de code pouvant s’étendre entre plusieurs assemblys, bibliothèques ou modules en fonction du code spécifique qui faisait partie d’une construction. Nous avons construit cette capacité pour analyser des milliers de référentiels pour les variantes de vulnérabilités nouvellement décrites dans les heures suivant la description de la variante, mais cela nous a également permis de faire une enquête de premier passage pour les modèles d’implants Solorigate de la même manière, rapidement.
Comme Microsoft a ouvert plusieurs requêtes C # utilisées pour évaluer les IoC au niveau du code, les organisations peuvent désormais les télécharger directement à partir du référentiel CodeQL GitHub.