Flame : comment se protéger des certificats frauduleux ?
À chaque fois qu’un nouveau logiciel malveillant est découvert et devient le sujet du moment du monde de la sécurité, il est perçu comme unique et plus avancé que les autres, y compris lorsque la réalité diffère de la perception.
Les entreprises peinent assez naturellement à faire le tri de toutes les informations qui circulent sur un nouveau logiciel malveillant et à déterminer s’il constitue une réelle menace. La plateforme Flame, avec ses similitudes avec Stuxnet, a provoqué d’importantes discussions sur les méthodes qu'elle emploie. Et s’elle constitue une menace significative, la vérité est que nombre de ses fonctionnalités ont déjà été utilisées par ailleurs. Ici, nous allons tenter de produire une analyse de Flame afin de comprendre s’il est aussi unique que l’ont affirmé certains experts. Nous évoquerons également la manière dont les entreprises peuvent se protéger des méthodes d’attaque utilisées par Flame, y compris le recours à des certificats frauduleux.
Dissection de Flame Le laboratoire de cryptographie et de sécurité des systèmes (le Crysys) de l’université des technologies et d’économie de Budapest et Kasperky ont, avec d’autres, étudié Flame en profondeur. La plupart des techniques mises en oeuvre par Flame ne sont pas nouvelles, mais certaines fonctionnalités indiquent que ses auteurs disposent d’une expertise importante et que l’on trouve rarement dans les logiciels malveillants. Avec une taille de l’ordre de 20 Mo, Flame est plus gros que la plupart des échantillons de logiciels malveillants, mais c’est probablement le résultat des librairies employées dans son développement. L’utilisation de librairies partagées pourrait par ailleurs être le signe de l’implication de pratiques de développement professionnelles dans le cadre de l’élaboration de Flame : les développeurs de logiciels réutilisent généralement le code pour réduire l’effort de développement. Flame a infiltré des systèmes via des clés USB, en s’appuyant sur les mêmes exploits que Stuxnet et Duqu. Ces exploits pourraient avoir été achetés au marché noir ou développés par l’organisation à l’origine du logiciel malveillant. Flame a été utilisé pour conduire des attaques ciblées, et il est également possible que des intrusions physiques aient été utilisées pour infecter les systèmes visés. Le composant le plus préoccupant de Stuxnet est sa capacité à détourner Windows Update. Bien que Microsoft ait depuis lors comblé les vulnérabilités exploitées par Flame, son développement pose la question de la sécurité de toutes les mises à jour Windows et de tous les logiciels Microsoft. Flame a utilisé un certificat frauduleux, généré par collision MD5 avec un certificat peu sûr des Microsoft Terminal Services. Un certificat qui a ainsi pu ressembler à un certificat signé Microsoft. C’est préoccupant parce que les entreprises ont mis plusieurs années à faire confiance aux mises à jour Microsoft et dépendent aujourd’hui de l’écosystème de ces mises à jour pour assurer l’intégrité de leurs systèmes. Qui plus est, il reste à voir si Microsoft est capable de protéger les entreprises contre cette tactique si elle venait à être employée par d’autres logiciels malveillants. Bien qu’il ait été en activité depuis plusieurs années, Flame n’a semble-t-il infecté que peu de machines, par rapport à la plupart des logiciels malveillants. Il ne cible que des individus et des organisations spécifiques au Moyen-Orient, et tout particulièrement en Iran et en Afrique du Nord. Cela signifie que Flame ne constitue pas une menace pour la plupart des entreprises, mais puisqu’il utilise des méthodes d’attaque connues, les entreprises devraient toutefois se préparer à des attaques futures utilisant des éléments de Flame.
Se préparer à des attaques inspirées par Flame La plupart des entreprises n’auront jamais à se protéger de Flame parce qu’il s’agit d’un logiciel malveillant hautement ciblé. Mais cela signifie pas qu’il doive être totalement ignoré. Les entreprises ont besoin de se préparer à d'éventuelles attaques ciblées qui intègreront pareilles fonctionnalités. Et des protections sont disponibles contre celles-ci. Pour se protéger des certificats frauduleux, les entreprises peuvent recourir à des listes blanches, ou utiliser des autorités de certification spécifiques ou des correctifs de confiance. Par exemple, si une entreprise prévoit de pousser tous les correctifs via une infrastructure centralisée utilisant des logiciels signés par l’entreprise, et si tous les postes clients sont configurés pour ne faire confiance qu’à des logiciels signés par l’entreprise, elle est protégée contre Flame. Désactiver le service de spooling d’impression aurait bloqué l’exploit du spooler d’impression de ce logiciel malveillant. Les entreprises peuvent également superviser leurs systèmes étroitement et configurer des alertes pour qu’elles se déclenchent lorsque certains fichiers sont détectés ou exécutés, ou lorsqu’un trafic réseau potentiellement illégitime est identifié. Dans ce dernier cas, il peut s’agir de connexions vers des IP ou des DNS externes pour certains noms de domaine. Une telle analyse peut s’avérer très chronophage mais elle peut être automatisée. La plupart des auteurs de logiciels malveillants ne seront peut-être pas capables d’intégrer des techniques d’attaque aussi complexes que l’utilisation de certificats frauduleux. Mais à mesure qu’ils se professionnalisent, les auteurs de logiciels malveillants adoptent des techniques de développement professionnel pour rendre leurs outils encore plus sophistiqués. Ils peuvent même recourir à des toolkits de logiciels malveillants pour automatiser le processus et intégrer des techniques avancées. Parmi ces techniques professionnelles, on peut penser à la modularisation des logiciels, à la distribution automatique de mises à jours, à l’utilisation de connexions chiffrées, ou encore au déploiement d’architectures distribuées. La collision MD5 a requis des méthodes avancées de production de certificats frauduleux en raison de la chronologie de l’attaque. En utilisant l’outil Hashclash, des pirates pourraient réutiliser une partie du code de Flame tel qu’il a été décrit dans la présentation de la collision MD5 employée.
Conclusion Malgré toute l’excitation - inutile - entourant chaque apparition de nouveau logiciel malveillant, les entreprises ne devraient pas ignorer les découvertes des chercheurs. Les logiciels malveillants qui utilisent de nouvelles classes de vulnérabilités et qui attaquent de nombreux systèmes peuvent nécessiter une réaction immédiate, bien que les logiciels malveillants recyclent souvent des méthodes d’attaque ne nécessitant que peu, voire pas de réaction, compte tenu des mesures de sécurité déjà déployées. Flame a toutefois rassemblé de nombreuses techniques d’exploit différentes pour cibler des entreprises et des personnes spécifiques. Alors que les détails des méthodes employées par Flame sont rendues publiques, certaines d’entre elles pourraient être réutilisées par d’autres auteurs de logiciels malveillants. Et si la plupart d’entre elles étaient déjà connues et ont été utilisées dans d’autres toolkits, il n’en reste pas moins que beaucoup d’entreprises y gagneraient à exploiter les détails, désormais connus, de Flame pour lancer des exercices de sécurité sur leurs environnements.
A propos de l’auteur
Nick Lewis (CISSP) est architecture sécurité à l’université de Saint Louis. Il a obtenu son Master de Protection de l’Information à l’Université de Norwich en 2005, et un autre en Télécommunications, à l’université du Michigan, en 2002. Avant de rejoindre l’université de Saint en 2011, il a travaillé à l’université du Michigan et à l’hôpital pour enfants de Boston, ainsi que sur le projet Internet2.
Adapté de l’anglais par la rédaction.