Vendredi matin 19 juillet 2024, beaucoup de responsables de système d’information importants se sont réveillés avec des alertes sur l’apparition d’écrans bleus, le fameux BSOD (ou Blue Screen of Death) de Microsoft Windows, revenant en boucle à chaque démarrage. Est-ce une attaque, est-ce un bug suite à une mise à jour ? Très vite le responsable est pointé du doigt, le logiciel Falcon de la société CrowdStrike. [Mise à jour 24/07/2024] Une société d’assurance estime les pertes cumulées des grandes entreprises américaine à 5,4 milliards de dollars.
Chronologie des premières heures
Les premiers rapports d’incident nous viennent de l’Océanie, avec des rapports de nombreux sites Web, chaînes de télévision ou radio dans l’impossibilité d’émettre leurs programmes normaux en Australie notamment (ici l’alerte du journal en ligne australien CyberDaily). Ici c’est déjà l’après-midi de ce vendredi de juillet. Peu à peu la même histoire émerge: des écrans bleus sur des machines Windows qui empêchent les systèmes de produire des contenus et peu à peu semblent mettre une partie de l’activité informatique humaine à l’arrêt.
Les aéroports et les gares sont aussi rapidement touchés, non pas les trains ou les avions eux-mêmes mais le fonctionnement des systèmes d’affichage ou d’embarquement. Et la même expérience se reproduit dans le monde entier, en Asie, en Afrique et en Europe, puis en Amérique, suivant les débuts d’activité de chacun dans son fuseau horaire. Tous décrivent le même chaos, dans l’impossibilité de réparer rapidement les systèmes touchés, soit l’activité est bloquée, soit elle est réorganisée manuellement quand c’est possible, dans les hôpitaux et les aéroports notamment.
Mon activité professionnelle en gendarmerie n’était pas directement impactée (nous fonctionnons sous Linux, système non concerné par ce bug précis), mais très vite les premiers témoignages nous sont remontés de RSSI et de CERTs français, vendredi matin.
La chronologie plus précise des événements clés est la suivante, selon les informations fournies par la société CrowdStrike (et que personne ne conteste) :
- 04:09 UTC (soit 06:09 du matin pour Paris, et déjà 14:09 à Sydney en Australie, encore jeudi 21:09 à Los Angeles ou 00:09 à New York): CrowdStrike diffuse une mise à jour de « contenu » pour les systèmes Windows utilisant leur logiciel Falcon
- 05:27 UTC (soit 07:27 du matin à Paris, 22:27 à Los Angeles), arrêt de la diffusion de cette mise à jour particulière
Ainsi, toutes les machines qui étaient actives et connectées à Internet dans ce créneau horaire ont été mises à jour avec la mauvaise version, beaucoup des machines concernées sont de toutes façons allumées en permanence et en tous cas pendant ces horaires dans les aéroports, hôpitaux, grandes surfaces, etc. On peut supposer que l’Europe a été moins touchée pour l’informatique des postes de travail qui ont été allumés après 7:30 vendredi matin.
Qu’est-ce que le logiciel Falcon de Crowdstrike ?
Falcon est un système dit d’EDR ou « Endpoint Detection and Response », c’est-à-dire un logiciel travaillant au plus près des systèmes d’exploitation pour tracer les activités suspectes dans les systèmes (la détection), remonter les alertes et aussi dans certains cas arrêter des actions malveillantes (la réponse). Ils vont donc plus loin que les antivirus classiques, car il ne s’agit pas uniquement de détections de signatures connues ou de comportements pouvant être suspects (comme l’écriture ou la suppression de certains types de fichiers), mais de véritables vigies au cœur des ordinateurs. Ces informations sont traitées en temps réel sur l’ordinateur, mais aussi remontées vers des plateformes dans les entreprises où ils sont déployés et chez les éditeurs, pour être analysées et éventuellement déployer des contre-mesures. Ces nouveaux types d’antivirus apparaissent au début des années 2010; on parle aussi parfois de XDR ou d’autres variantes décrivant une combinaison de fonctionnalités.
Pour citer d’autres noms, Microsoft intègre sa propre solution d’EDR aux systèmes Windows, appelée Defender, et des éditeurs européens, notamment français proposent des solutions concurrentes reconnues comme les sociétés TEHTRIS et HarfangLab.
Que s’est-il passé techniquement ?
La société CrowdStrike explique de façon détaillée les composants qui sont responsables de ce bug. Ce paragraphe sera un peu technique pour certains lecteurs, mais vous donnera quelques pistes de compréhension à la fois sur la complexité de la situation et les raisons de l’incident.
- Le composant de Falcon concerné est ce que CrowdStrike dénomme le « Rapid Response Content » destiné à s’adapter rapidement à l’évolution de la menace
- Ce composant est mis à jour très régulièrement, sous forme de mises à jour dites de « contenu » qui contiennent des fichiers binaires (dénommés par CrowdStrike « Template Instances ») qui viennent se brancher sur un type de motif devant être analysé (qu’ils dénomment « Template Types »). Selon CrowdStrike, ces fichiers binaires ne contiennent pas de code exécutable.
- Le 28 février 2024, une mise à jour du capteur est déployée (version 7.11 dans leur nomenclature), ciblant de nouvelles stratégies d’abus des « Named Pipes » sous Windows. Il s’agit d’une fonctionnalité des systèmes d’exploitation (Windows notamment) qui permet des communications entre process au travers d’un canal (« pipe ») à qui un nom particulier est attribué, référence unique.
- CrowdStrike indique que des tests de « stress » ont été réalisés comme à l’accoutumée avant le déploiement et que les phases de production de cette nouvelle fonctionnalité n’ont pas permis d’identifier de problèmes dans les mois qui ont suivi. Un validateur de contenu (Content Validator) s’assure que chaque mise à jour de contenu qui suivra soit conforme aux contraintes de ce nouveau module de détection.
- Le contenu déployé le 19 juillet passe les tests de cohérence du validateur de contenu. Or, le contenu fourni (les paramètres intégrés au format binaire dans cette mise à jour) entraîne une erreur de type lecture mémoire hors limite (« out-of-bounds memory read« ) déclenchant une exception dans l’exécution du programme.
- Celui-ci étant intimement lié à un pilote proche du système d’exploitation, il en arrête le fonctionnement brutalement, générant les messages d’erreur de type BSOD (littéralement écran bleu de mort du système), et malheureusement dans ce cas un redémarrage en boucle sans possibilité de récupération.
Comment qualifier cet incident ?
Il y a de nombreuses façons d’évaluer un incident dans l’exploitation d’un système d’information. Dans le cas qui nous occupe, voici les paramètres:
- Atteinte à la disponibilité des systèmes et des données (confidentialité, intégrité et disponibilité sont les trois champs classiques de la sécurité des systèmes d’information)
- Au passage, il faut noter que s’agissant des données à caractère personnel éventuellement concernées, une évaluation de l’impact sur la disponibilité doit être mis en œuvre dans le cadre du RGPD pour envisager ou non la déclaration de l’incident auprès des autorités concernées (la CNIL en France). On peut supposer que dans beaucoup de cas, la disponibilité n’aura pas entraîné d’impact majeur empêchant le respect des droits des personnes, toutefois cela dépendra de la durée de remise en service des systèmes.
- Impact: suivant le type de victime et l’heure de survenance de l’incident il a pu entraîner un arrêt total ou freiner de façon importante l’activité d’acteurs essentiels tels que des hôpitaux ou des opérateurs de transport notamment. Microsoft déclare que seules 8,5 millions de machines ont été touchées, toutefois ce chiffre est à rapporter au nombre de clients de CrowdStrike et les secteurs professionnels concernés (les particuliers ne sont pas clients de ce logiciel particulier).
- Durée importante de remédiation: dans beaucoup de cas il a fallu intervenir sur chaque machine individuellement pour supprimer le fichier fautif avant qu’il puisse redémarrer, avec le frein particulier du chiffrement Bitlocker intégré à la plupart des systèmes Windows modernes qui nécessite de saisir une clé de récupération spécifique à chaque ordinateur. Ces clés sont normalement stockées de façon centralisée dans l’entreprise, ou auprès de Microsoft.
- Le bug concerne un logiciel de sécurité.
- Depuis les premières heures de l’incident on sait, grâce à la réaction de CrowdStrike notamment, que l’incident n’est pas d’origine malveillante mais accidentelle.
Pour beaucoup d’acteurs, il s’agit avant tout d’un incident de production. Toutefois, il faut bien à mon sens le prendre en compte en tant qu’incident de sécurité des systèmes d’information au vu de l’ensemble des paramètres évoqués. Le seul caractère accidentel ne suffit pas à l’en exclure.
En outre, la situation n’a pas manqué d’être aussi exploitée par les cybercriminels, comme le rappelle le bulletin d’actualité du CERT-FR:
Le CERT-FR a connaissance de tentatives d’exploitation malveillantes de la situation (phishing, fausses pages d’information, incitation à l’installation de logiciels malveillants). Le CERT-FR vous invite à la plus grande prudence et vous recommande de télécharger les outils de remédiation et d’appliquer les recommandations uniquement à partir des sites officiels des éditeurs.
Comment le prévenir ?
Plusieurs niveaux de responsabilité sont impliqués:
- Évidemment la société CrowdStrike elle-même devra réviser ses procédures d’assurance qualité (et elle s’y est déjà engagée dans ses différentes publications), pour diminuer les chances qu’un tel incident puisse se reproduire. Le patron de Crowdstrike est bientôt convoqué devant le parlement américain pour s’en expliquer.
- Microsoft accuse la réglementation européenne d’être pour partie responsable de cet incident, parce qu’elle l’oblige à ouvrir ses systèmes à des logiciels de sécurité concurrents. Or les obligations européennes imposées depuis 2009 prévoient que ces logiciels aient accès aux mêmes fonctionnalités que les logiciels de sécurité de Windows – qui ne sont pas plus à l’abri de bugs que les solutions concurrentes. Certains critiquent en réalité l’architecture choisie par Microsoft qui autorise ces actions de sécurité avec un accès direct au cœur du système d’exploitation, plutôt que par des interfaces qui pourraient être elles-mêmes sécurisées (comme le permet par exemple MacOS).
- Enfin, une partie de la réponse est certainement dans les plans de continuité d’activité mis en place dans les organisations dont ce type de scénario démontre qu’il faut peut-être dans certains cas déployer des solutions de sécurité différentes sur certaines parties du parc informatique ou encore disposer de machines de secours non connectées qui peuvent être déployées rapidement en cas de mise à jour fautive, ou disposer de solutions de réinstallation rapide de sauvegardes pour certains postes de travail critiques. Ces choix ne sont pas simples, parfois coûteux et doivent être adaptés à chaque situation.
Mises à jour
Plusieurs informations nouvelles sont progressivement publiées par les acteurs et commentateurs:
- 2024-08-06: Publication par CrowdStrike d’un document détaillant les causes profondes de cet incident « root cause analysis » (résumé disponible ici). On y comprend un peu mieux comment les paramètres n’ont pas été correctement validés dans le processus de déploiement de cette mise à jour
- 2024-07-27: Article de blog « Windows Security best practices for integrating and managing security tools » par David Weston, responsable de la sécurité du système d’exploitation chez Microsoft, sur les enjeux de l’accès au noyau du système d’exploitation, partant d’une analyse de l’incident CrowdStrike