Une version de cet article a été publiée dans Lecture sombre. Elle a été mise à jour et publiée ici.
S'il y a bien quelque chose qui va gâcher Noël dans le secteur de la cybersécurité, c'est une violation de données dévastatrice qui est en passe de devenir l'événement de cyberespionnage le plus important jamais enregistré au sein du gouvernement américain.
L'attaque de SolarWinds est d'une grande portée, les acteurs de la menace ayant initialement pénétré dans le logiciel dès la mi-2019. Ce vol de plusieurs mois a été découvert en décembre 2020 après avoir été utilisé pour infiltrer FireEye, une importante société de cybersécurité, et le cauchemar a commencé à partir de là. L'ampleur de la violation fait toujours l'objet d'une enquête, mais les principaux domaines d'infiltration comprennent les départements américains de l'État, de la sécurité intérieure, du commerce et du trésor, ainsi que l'Institut national de la santé.
Cet incident aura des répercussions permanentes, mais sa sophistication même est fascinante. D'un point de vue technique, il s'agit d'une infiltration à plusieurs niveaux impliquant des outils malveillants personnalisés, des portes dérobées et du code dissimulé, bien au-delà des compétences des script kiddies que l'on voit si souvent exploiter des erreurs plus évidentes.
Le blanchiment de code dans toute sa splendeur
CrowdStrike a poursuivi son travail de génie en procédant à une rétro-ingénierie de l'exploit et en détaillant ses conclusions pour que tout le monde puisse en prendre connaissance. Il apparaît maintenant que SolarWinds a été victime d'une brèche dans son infrastructure, permettant l'injection de codes malveillants dans les mises à jour du système, ce qui a permis à au moins quatre outils malveillants distincts d'ouvrir un accès sans précédent aux acteurs de la menace.
La méthode était secrète et permettait une précision stratégique qui semblait tout droit sortie d'un roman de Jason Bourne. Elle a permis de gagner du temps pour renifler, planifier et frapper les victimes en dehors du réseau SolarWinds exactement quand elles le souhaitaient, dans le cadre d'une attaque globale de la chaîne d'approvisionnement. Et tout cela a été réalisé à l'aide d'un code d'apparence tout à fait anodine.
Les cyberattaques sont souvent le résultat d'erreurs simples, mais coûteuses. Une fois découvertes, ces erreurs sont assez évidentes : pensez à un réseau mal configuré, à des mots de passe stockés en clair ou à un logiciel non corrigé qui est vulnérable à des exploits connus. Dans le cas présent, le code n'était pas du tout évident, et pas seulement pour les développeurs et les ingénieurs en sécurité. Une myriade de technologies de sécurité complexes et coûteuses n'ont pas non plus réussi à le détecter.
Les outils de contrôle de la sécurité et de test de pénétration sont devenus pratiquement inutiles.
Les professionnels de la sécurité ont tendance à être aussi rares que les excréments d'un cheval à bascule. Ils sont donc aidés dans leur quête pour sécuriser d'énormes quantités de données, de logiciels et d'infrastructures de l'entreprise par une pile technologique adaptée aux besoins de l'entreprise en matière de sécurité. Cela prend généralement la forme de composants tels que des pare-feu de réseau, des tests de pénétration automatisés, des outils de surveillance et de balayage, ces derniers prenant beaucoup de temps dans le processus de développement de logiciels. Cet outillage peut rapidement s'emballer et devenir difficile à gérer et à exécuter, de nombreuses entreprises utilisant plus de 300 produits et services différents.
SolarWinds disposerait d'une gamme impressionnante d'outils pour trouver et mettre en évidence les bogues de sécurité dans le code, les tentatives d'accès non autorisé au réseau, les compromissions potentielles dans n'importe quelle partie de l'infrastructure, et même les signes d'évasion de la détection. Il est sans précédent que ces acteurs de la menace aient pu injecter un code malveillant qui n'a pas été découvert, même par la pile de sécurité la plus avancée.
Le renforcement de l'infrastructure - en particulier le contrôle d'accès - est un élément fondamental des meilleures pratiques en matière de cybersécurité, mais si un pirate peut exploiter discrètement une minuscule fenêtre d'opportunité, un réseau peut être compromis de la même manière qu'une vulnérabilité dans un logiciel autonome.
Cette faille nous rappelle que, de manière générale, toute entreprise qui s'appuie fortement sur les seuls outils pour sécuriser son infrastructure réseau et ses logiciels prend un risque énorme. Il ne suffit pas toujours de protéger le code ; tout ce qui le stocke, l'exécute et le compile doit être également fortifié. L'idéal est de trouver un équilibre entre les outils et les personnes, en appliquant une stratégie solide qui permet d'évaluer et de réduire la surface d'attaque potentielle.
La sensibilisation des équipes à la sécurité permet une meilleure modélisation des menaces
La faille de SolarWinds a déjà commencé à avoir un impact significatif sur les opérations de sécurité, en particulier au niveau gouvernemental. Les experts estiment qu'elle pourrait remodeler à jamais les pratiques en matière de cybersécurité.
Nos vies sont alimentées par une infrastructure de plus en plus numérique qui, si elle n'est pas gérée de manière méticuleuse, peut être vulnérable aux attaques. Nous manquons cruellement de personnel en ce qui concerne l'expertise en matière de sécurité, mais nous ne faisons pas grand-chose pour combler cette lacune. La sensibilisation à la sécurité par l'homme est un élément sous-utilisé de la cybersécurité, tout comme le fait de faire de la prévention - plutôt que de la réaction - une priorité.
La sécurité des infrastructures est une entreprise complexe qui comporte de nombreux éléments mobiles, mais, de la même manière qu'ils sont positionnés dans la création de logiciels, les développeurs peuvent être un atout dans la réduction des risques structurels s'ils sont correctement formés et sensibilisés à la sécurité.
La modélisation des menaces tient rarement compte des attaques de la chaîne d'approvisionnement, bien que ce type d'attaque ait été mis en évidence dès 2012 comme un risque clé difficile à prévenir avec les techniques actuelles, ce qui fait que de nombreuses entreprises ne sont pas suffisamment préparées. Les développeurs de logiciels pourraient absolument jouer un rôle dans la prévention, et cela commence par s'assurer qu'ils sont bien formés et capables d'évaluer l'intégrité de leur code de l'intérieur. Le mécanisme de mise à jour a-t-il été conçu de manière sûre ? Le logiciel fonctionne-t-il avec une connectivité inutile qui pourrait faciliter une compromission malveillante ?
Lorsque la sécurité est synonyme de qualité logicielle, il est facile de voir l'immense valeur qu'un ingénieur sensibilisé à la sécurité peut apporter.