Le rapport de FireEye à la fin de l’année dernière sur une attaque parrainée par l’État ciblant le logiciel Orion de SolarWinds a envoyé une onde de choc à travers l’industrie et les réverbérations de la découverte continuent de se propager. Pas moins de 18 000 clients de SolarWinds, dont au moins neuf agences gouvernementales américaines, ont été infectés via la faille SunBurst de la solution de surveillance et de gestion du réseau. De plus, selon une étude récente d’IronNet, l’impact financier moyen de cette attaque était de 11 % du chiffre d’affaires annuel, soit environ 12 millions de dollars par entreprise.
Le renseignement américain a blâmé l’attaque des pirates informatiques parrainés par la Russie, qui ont compromis plusieurs mises à jour logicielles d’Orion publiées entre mars et juin 2020, donnant aux mauvais acteurs une porte dérobée vers les systèmes exploités. Nos recherches ont révélé que la construction du logiciel Orion et l’infrastructure de signature de code étaient compromises, le code source de la bibliothèque affectée étant directement modifié pour inclure du code de porte dérobée malveillant qui a été compilé, signé et fourni via le système de gestion des versions de correctifs existant.
Et les attaques se sont poursuivies dans les mois qui ont suivi les révélations de SolarWinds. En mars, on a appris que Microsoft Exchange Server était victime d’une vulnérabilité zero-day exploitée par l’acteur d’État-nation chinois HAFNIUM, tandis qu’un mois plus tard, il a été annoncé que la société de couverture et de test de code Codecov était ciblée dans une chaîne d’approvisionnement. enfreindre. Selon un enquêteur, les pirates de Codecov auraient violé des centaines de réseaux clients après avoir collecté des informations d’identification sensibles à partir de son script Bash Uploader modifié.
Dans le même temps, les infrastructures critiques sont également ciblées. Dans deux affaires très médiatisées, des cybercriminels russes sont accusés d’attaques de ransomware sur Colonial Pipeline en mai et JBS Foods en juin, portant atteinte respectivement aux industries de transformation du carburant et de la viande. En outre, plus tôt cette année, deux groupes d’espionnage chinois et d’autres pirates informatiques sont soupçonnés d’exploiter le logiciel Pulse Connect Secure VPN pour voler des informations sensibles lors d’attaques qui ont touché les secteurs verticaux des transports et des télécommunications aux États-Unis et en Europe.
Les attaques de la chaîne d’approvisionnement ne sont pas nouvelles. Un rapport Symantec de 2019 a révélé que ces agressions avaient augmenté de 78% l’année précédente. Ce qui est inquiétant, c’est le niveau de furtivité et de sophistication. Les attaquants SunBurst ont pu rester indétectables aussi longtemps que possible en se fondant dans la base de code affectée et en imitant le style de codage et les normes de dénomination des développeurs. Ils n’ont pas non plus immédiatement commencé à extraire des informations ; au lieu de cela, le malware a été laissé dans le système jusqu’à deux semaines pour collecter des données et des informations d’identification avant de communiquer avec les attaquants.
L’attaque sera probablement utilisée comme modèle pour d’autres attaquants. De tels outils de surveillance et de gestion à distance (RMM) comme Orion deviennent de plus en plus la cible d’attaquants. Considérez l’attaque de la chaîne d’approvisionnement Codecov, qui a également fait des comparaisons, car les attaquants ont ciblé un outil d’automatisation des développeurs pour affecter simultanément des milliers de clients. Les dirigeants d’entreprise, les professionnels de la sécurité et les développeurs, tant du côté de la production que de la consommation, doivent s’assurer qu’ils disposent des outils nécessaires pour atténuer et prévenir ce type d’attaques.
Combler les lacunes
Le cas SolarWinds met en évidence le défi de la protection contre les attaques via une chaîne d’approvisionnement vulnérable. Dans ces cas, les cybercriminels ciblent le fournisseur et les produits d’une entreprise, en les utilisant comme des chevaux de Troie pour accéder aux systèmes d’une cible. Dans ce cas, ils ont utilisé le logiciel d’un tiers pour installer une porte dérobée pour accéder.
Alors que les produits de sécurité traditionnels peuvent découvrir des vulnérabilités, des violations de logiciels open source et des défauts de codage, ils ne sont pas équipés pour lutter contre les logiciels malveillants qui peuvent être intégrés par inadvertance ou de manière malveillante dans le code ou les certificats qui sont abusés pour exploiter la confiance.
Il existe plusieurs failles de sécurité dans la chaîne d’approvisionnement des logiciels qui doivent être comblées. Pour les développeurs et les acheteurs de logiciels, cela signifie comprendre des problèmes clés tels que :
- Analyses de code de sécurité : Les technologies de test de sécurité des applications (AST) telles que Static et Dynamic AST conçues pour identifier les vulnérabilités de sécurité potentielles et les faiblesses architecturales ne traitent pas les logiciels malveillants intégrés sans le savoir dans les logiciels publiés.
- Analyses binaires : Les outils antivirus et sandbox utilisés pour exécuter en toute sécurité du code suspect sans risquer de nuire à l’appareil hôte ou au réseau ne traitent pas les packages logiciels et les programmes d’installation, qui impliquent des fichiers volumineux et complexes.
- Certificats et signatures de code : Les fournisseurs de sécurité supposent généralement qu’une chaîne de confiance est en place, ce qui signifie que si le code est correctement signé, ils ne l’inspectent pas. Dans le cas de SolarWinds, les attaquants ont profité de l’hypothèse de confiance, plaçant le malware dans le processus de développement et la base de code.
- Sécurité du logiciel à des moments précis : Un logiciel peut être approuvé, exempt de menaces et vérifié à un moment donné, mais plus tard, il est découvert qu’il contient des logiciels malveillants après sa publication.
- Questions de conformité : Les logiciels conformes aux politiques de sécurité peuvent toujours être exploités par des attaquants avancés, il ne suffit donc pas de se renseigner sur la conformité.
De nouveaux processus sont nécessaires
Bon nombre des meilleurs esprits en matière de cybersécurité examinent l’attaque SolarWinds pour déterminer ce qui s’est passé, et davantage d’informations ne manqueront pas de remonter à la surface. Cependant, nous en savons déjà assez pour comprendre qu’il n’y a pas encore assez d’efforts pour protéger la chaîne d’approvisionnement. En particulier, considérez les fournisseurs de services gérés (MSP) et les fournisseurs de services de sécurité gérés (MSSP) ces dernières années, qui sont de plus en plus devenus la cible de pirates informatiques qui voient leur logiciel RMM comme un moyen d’accéder à l’infrastructure de leurs clients. Cela peut commencer à changer.
L’attaque de SolarWinds a mis en évidence le fait que nous avons besoin d’un processus d’analyse logicielle supplémentaire qui protège à la fois les développeurs de logiciels et les utilisateurs contre de telles attaques de la chaîne d’approvisionnement. Faire progresser ce processus signifie que nous devons prendre des mesures pour sécuriser ce que vous construisez et vérifier ce que vous achetez :
- Décomposer les images logicielles : Des packages de publication prêts pour la distribution commerciale et qui doivent être décomposés avant la publication ou l’utilisation de la solution, avec un système faisant partie du développement logiciel et un cycle de publication conçu pour rechercher la falsification de logiciels, la signature numérique et la construction -problèmes de qualité. De cette façon, les problèmes peuvent être trouvés et éliminés avant la distribution.
- Scannez les bibliothèques et le code : En analysant les bibliothèques tierces et open source, le code source et les images de référence, et en construisant pour plus de vulnérabilités connues, les développeurs et les consommateurs peuvent garantir l’intégrité du logiciel.
- Suivre les comportements des logiciels : Le système doit également exploiter des indicateurs comportementaux statiques qui peuvent trouver des différences de comportement entre les versions compilées du logiciel. Les descriptions peuvent déterminer l’effet que les actions du code logiciel auront sur la machine exécutant le logiciel et de telles différences peuvent indiquer des problèmes ou des menaces.
- Déterminer les risques de déploiement de logiciels : Les processus améliorés doivent également traiter une gamme de risques liés à l’utilisation du logiciel, notamment les vulnérabilités connues, les validations de certificats, les migrations activées, les composants tiers et les logiciels malveillants intégrés.
- Rechercher des anomalies : Rechercher plus que les logiciels malveillants signifie fournir une vue unifiée des packages logiciels, des signatures numériques, des atténuations de sécurité, de la composition, etc., et doit être effectué tout au long du processus d’assurance qualité et de déploiement.
SolarWinds n’est qu’un début
Les groupes, y compris ceux associés aux États-nations, continueront de cibler la chaîne d’approvisionnement alors qu’ils recherchent d’autres voies dans les systèmes des entreprises. L’Agence de l’Union européenne pour la cybersécurité s’attend à ce que les attaques de la chaîne d’approvisionnement logicielle se multiplient par 4 en 2021 par rapport à l’année dernière, et Gartner prédit que 45% des organisations subiront une attaque de la chaîne d’approvisionnement d’ici 2025. Les récentes attaques contre Colonial Pipeline, JBS Foods et Microsoft Exchange Server ne sont que les derniers points de preuve. Les mauvais acteurs derrière le malware SunBurst n’ont démontré qu’une seule façon de le faire et la portée qu’une telle attaque peut avoir.
Les développeurs et le personnel informatique qui déploient des logiciels et les unités commerciales qui les utilisent doivent mettre en place de nouveaux processus qui vont au-delà des solutions de sécurité traditionnelles dont nous savons maintenant qu’elles sont insuffisantes contre ce type d’attaques tierces. L’analyse des menaces et des vulnérabilités connues ne suffit pas. L’intégrité du logiciel doit être assurée tout au long du cycle de développement. Sinon, la porte restera grande ouverte pour ce genre d’attaques.