SolarWinds Sunburst, la plus grande cyberattaque de l’histoire ciblant la supply chain de l’industrie du logiciel

0
221

Ces dernières semaines, l’une des plus grandes attaques lancées contre la supply chain de l’industrie du logiciel a fait les gros titres. Il s’agit d’un véritable assaut dirigé contre un grand nombre d’entreprises publiques et privées, ayant frappé environ 18 000 victimes à travers le monde. Elle s’est ensuite concentrée sur des cibles plus réputées telles que Microsoft, FireEye ainsi que de nombreuses administrations. C’est là un rappel de la nécessité pour l’industrie du logiciel d’en faire davantage.

Tribune par Joseph Carson, Chief Security Scientist (CSS) & Advisory CISO Chez Thycotic

Décryptage de l’attaque

Tout a démarré le 9 décembre 2020, lorsque FireEye a révélé les détails d’un incident de sécurité impliquant le vol de certains de ses outils de pénétration Red Team. Après enquête, FireEye, comptant dans ses rangs certains des meilleurs analystes mondiaux en réponse aux incidents et en malware, a rapidement analysé l’attaque et a commencé à dévoiler les détails de son déroulement. La société a par la suite informé SolarWinds, le 12 décembre, de l’existence d’un cheval de Troie de type backdoor dissimulé dans son produit Orion. Ces détails sont effrayants car l’attaque cible l’un de nos plus importants mécanismes de sécurité et de confiance, servant notamment à la signature numérique des mises à jour de logiciels.

FireEye désigne les auteurs de l’attaque sous le nom de code UNC2452 (ou encore Dark Halo, SolarStorm ou Solarigate) car leur identité n’a pas encore été entièrement confirmée, de sorte que ceux-ci se verront vraisemblablement attribuer un identifiant de groupe APT ultérieurement. Il s’agit d’une campagne largement diffusée au niveau mondial, ayant de vastes implications. De nombreux éditeurs identifient désormais le backdoor ( les résultats du moteur de détection VirusTotal sont accessibles ici ). UNC2452 est soupçonné d’avoir des liens avec Kazuar selon Kaspersky.

FireEye a publié une analyse approfondie – et encore actualisée – du déroulement de l’attaque et des techniques employées par ses auteurs. Des détails supplémentaires sont disponibles sur le site de FireEye ici : Highly Evasive Attacker Leverages SolarWinds Supply Chain to Compromise Multiple Global Victims With SUNBURST Backdoor.

Mais prenons un peu de recul afin de retracer la chronologie des événements.

Implantation initiale : ciblage du référentiel et des outils de développement SolarWinds

Plus nous en découvrons sur ce qui s’est passé, plus cela devient complexe. Cet incident peut potentiellement semer le chaos dans les années à venir.

Crowdstrike a récemment révélé comment les auteurs de l’attaque ont secrètement eu accès au processus de fabrication de logiciels de SolarWinds, au moyen d’un malware nommé Sunspot. Fondamentalement, Sunspot leur a permis de surveiller et de connaître ce processus, notamment en matière d’exécution des logiciels, de façon à pouvoir y insérer du code malveillant pendant leur compilation. Cet article explique comment les assaillants ont exploité les outils de développement Microsoft Visual Studio et ajouté une porte dérobée dans le processus : SolarWinds Describes “Attackers Malicious Code Injection”.

L’infrastructure utilisée dans l’attaque montre que l’enregistrement des noms de domaine des serveurs de commande et de contrôle (C2) remonte à juillet 2018 et que le premier acteur malveillant a accédé à l’environnement SolarWinds en y effectuant des tests entre septembre et novembre 2019.

Une fois que les auteurs de l’attaque ont réuni suffisamment de renseignements sur le processus de fabrication de SolarWinds, il est probable qu’ils les ont exploités pour poursuivre les tests et la préparation de la phase suivante, consistant à implanter le malware Sunburst dans le logiciel Orion. Cela s’est produit à partir de février 2020 ; puis le malware s’est retiré et a effacé ses traces en juin de la même année.

Le malware a ainsi appris le fonctionnement du processus de fabrication des logiciels SolarWinds et s’est fait passer pour une connexion réseau légitime de façon à pouvoir y injecter un composant DLL malveillant sans éveiller les soupçons des développeurs. En l’absence d’erreurs lors de sa compilation, ce code malveillant a été validé et signé numériquement, n’attendant plus que la campagne suivante de mise à jour pour être diffusé à des victimes sans méfiance. Les diverses techniques employées rien que pour introduire le cheval de Troie dans le processus de fabrication des logiciels sans se faire remarquer sont déjà le signe d’une extrême complexité.

Diffusion de la charge malveillante via une nouvelle mise à jour

Les équipes informatiques ont appris à croire que, lorsque la mise à jour d’un logiciel est disponible et qu’elle est signée numériquement, celle-ci provient automatiquement de son éditeur. Il s’agit d’une pratique courante à travers le monde, dont la sécurité repose sur les certificats numériques.

C’est ainsi qu’au printemps 2020, à l’insu de nombreuses équipes informatiques à travers le monde, une mise à jour du logiciel SolarWinds Orion, signée numériquement, a été mise à la disposition de 18 000 clients. En conséquence, ce sont les services informatiques qui ont téléchargé et déployé cette mise à jour en laquelle ils avaient confiance mais qui renfermait le backdoor.

Étape suivante : mise en sommeil de SUNBURST

Une fois la mise à jour diffusée, le backdoor disposait de multiples techniques pour échapper à la détection et demeurer en sommeil pendant une durée de 12 à 14 jours. Un laps de temps suffisant s’est écoulé pour que, même si quelque chose avait été détecté d’une manière ou d’une autre, le lien ne puisse pas être établi directement avec cette mise à jour. Le cheval de Troie effectuait de nombreux contrôles pour vérifier qu’il s’exécutait bien dans un environnement authentique et non dans une « sandbox ».

Une fois le délai de sommeil passé et le cheval de Troie activé, celui-ci lançait la Phase 1, consistant à déterminer le profil du système et l’identité de la victime. Après quoi, il entrait en contact avec son serveur C2 via un sous-domaine afin de s’assurer de son unicité et d’informer les auteurs de l’attaque de la prise de contrôle de la nouvelle victime. Le code malveillant prétendait être un protocole d’amélioration du logiciel SolarWinds Orion (OIP), au moyen de faux noms de variables, le tout camouflé dans des données habituelles stockant des résultats de reconnaissance à l’intérieur de fichiers légitimes de configuration de plug-ins. Les informations collectées sur le profil du système étaient ensuite transmises au serveur C2.

Après l’accès initial, les auteurs de l’attaque ont fait appel à diverses techniques pour déguiser leurs actions tout en opérant des mouvements latéraux dans le réseau et les systèmes. Ce faisant, ils sont restés discrets et ont laissé peu de traces du passage du malware, réutilisant des identifiants authentiques pour accéder à l’environnement de la victime.

Grâce aux nombreuses victimes ayant transmis des informations au serveur C2, les assaillants disposaient d’une pléthore de cibles pour la Phase 2, très réputées pour bon nombre d’entre elles (notamment de multiples administrations) afin de déterminer à qui s’attaquer de manière plus poussée par la suite. Le backdoor initial Sunburst leur a permis d’exécuter des commandes à distance et de lancer une attaque de type « mains sur le clavier » (hands on the keyboard).

Voici certaines des commandes ayant servi au backdoor pour déclencher l’attaque :

  • CollectSystemDescription
  • UploadSystemDescription
  • RunTask
  • GetProcessByDescription
  • KillTask
  • GetFileSystemEntries
  • WriteFile
  • FileExists
  • DeleteFile
  • GetFileHash
  • ReadRegistryValue
  • SetRegistryValue
  • DeleteRegistryValue

La commande CollectSystemDescription a collecté les informations systèmes suivantes :

  • Nom de domaine de l’ordinateur local
  • Identifiant système du compte administrateur
  • Nom d’hôte
  • Nom d’utilisateur
  • Version du système d’exploitation
  • Répertoire système
  • Temps d’utilisation de la machine
  • Informations sur les interfaces réseau

Le malware a également eu recours à la stéganographie pour masquer ses communications (les détails figurent dans l’étude de FireEye).

Il est utile de relier cela au framework Mitre Att&ck. En cliquant sur le lien, vous accéderez à un navigateur interactif permettant d’explorer les techniques utilisées par UNC2452.

Microsoft a réalisé une excellente analyse du cheval de Troie : Analyzing Solorigate, the compromised DLL file that started a sophisticated cyberattack.

La capacité de ce malware a permis aux auteurs de l’attaque

  1. D’opérer des mouvements latéraux sur le réseau,
  2. D’accéder à des données pour les exfiltrer,
  3. D’élever leurs privilèges,
  4. D’intercepter les communications,
  5. D’accéder aux e-mails,
  6. D’accéder à d’autres supply chains de la victime, y compris chez ses partenaires et clients.

Phase 2 : mouvements latéraux et escalade des privilèges

Alors que la plupart des cyberattaques passées s’attachaient surtout à tromper des êtres humains, cette attaque paraît avoir fait exception, du moins pour l’instant. Après s’être ouvert une porte dans l’environnement de la victime via le cheval de Troie Sunburst, les assaillants pouvaient dorénavant accéder facilement à cet environnement à distance et y effectuer les modifications nécessaires pour échapper à une détection ultérieure.

Pour la plupart des attaques, cela signifie dérober des données sensibles et procéder à une escalade des privilèges. C’est précisément ce qu’on fait les auteurs de celle-ci au cours de la Phase 2, en cherchant à élever leurs privilèges, à voler des identifiants et à opérer des mouvements latéraux en quête de comptes et de ressources sensibles.

L’un des aspects les plus préoccupants de l’attaque est qu’elle ciblait et contrefaisait des jetons SAML. Cela a bien entendu eu un impact considérable en permettant aux assaillants, non seulement d’élever leurs privilèges, mais aussi de s’attaquer à des environnements cloud, par exemple Azure AD.

Message aux victimes : activez dès à présent votre réponse aux incidents

Si vous êtes victime de cette attaque impitoyable, vous devez agir de toute urgence car il n’y a pas de temps à perdre. Notre expérience de la réponse aux incidents nous enseigne notamment que les auteurs des attaques volent généralement des identifiants, en particulier d’administrateur local ou de domaine, leur permettant de revenir par la suite à travers un autre accès ouvert. Il arrive aussi couramment que ces identifiants soient revendus sur le Darknet à des cybercriminels qui s’en serviront par exemple pour des attaques de ransomware.

N’attendez pas qu’il soit trop tard. Si vous avez découvert que vous êtes effectivement victime de l’attaque, voici quelques mesures à prendre immédiatement :

  • Désactivez les comptes existants d’administrateur de domaine et transférez leurs droits à de nouveaux comptes.
  • Renouvelez régulièrement les identifiants d’administrateur local ou de domaine.
  • Verrouillez votre environnement SolarWinds Orion et appliquez-lui soigneusement le correctif de sécurité de SolarWinds.
  • Recherchez les comptes nouvellement créés après mars 2020 et procédez à un audit de leur activité.
  • Auditez et surveillez vos comptes à privilèges à la recherche d’activités suspectes.

A la lumière de ces découvertes, nous pouvons imaginer que d’autres acteurs étatiques et organisations criminelles cherchent à réutiliser cette technique et à en faire une arme pour d’autres attaques potentiellement plus dévastatrices. Cette attaque n’est qu’un début et c’est pourquoi il nous faut agir dès maintenant. Nous devons tirer les leçons de ces événements récents, c’est-à-dire que l’ensemble de notre secteur doit unir ses efforts pour trouver comment, au niveau mondial, réduire les risques que les attaques contre les supply chains deviennent la nouvelle menace qui empêche les RSSI, les dirigeants d’entreprises et les responsables gouvernementaux de dormir.