Ce document est une traduction de la version anglaise suivante https://www.crowdstrike.com/falcon-content-update-remediation-and-guidance-hub/. Cette traduction est uniquement fournie afin d’en faciliter la compréhension. En cas de conflit ou d’ambiguïté, la version anglaise prévaudra toujours.
—
Mis à jour le 26-07-2024 à 2110 UTC
Rapport préliminaire après incident (PIR)
mise à jour de la configuration du contenu ayant un impact sur l’agent Falcon et le système d’exploitation Windows (BSOD)
Ce document est le rapport préliminaire après incident (PIR) de CrowdStrike. Nous détaillerons notre investigation complète dans une prochaine analyse technique approfondie (Root Cause Analysis, RCA) qui sera rendue publique. Afin de faciliter la compréhension, tout au long de ce PIR, nous avons utilisé une terminologie générale pour décrire la plateforme Falcon. La terminologie utilisée dans d’autres documents peut être plus spécifique et plus technique.
Que s’est-il passé ?
Le vendredi 19 juillet 2024 à 04:09 UTC, dans le cadre de ses opérations ordinaires, CrowdStrike a publié une mise à jour de la configuration du contenu de l’agent Windows afin de recueillir des données de télémétrie sur d’éventuelles nouvelles cybermenaces.
Ces mises à jour, aussi nommées « Rapid Response Content », font partie intégrante des mécanismes de protection de la plateforme Falcon. Une mise à jour problématique de la configuration « Rapid Response Content » a entraîné une panne du système Windows.
Les systèmes concernés incluent les hôtes équipés d’un système d’exploitation Windows exécutant la version 7.11 et les versions ultérieures de l’agent, dont les machines étaient en ligne entre le vendredi 19 juillet 2024 04:09 UTC et le vendredi 19 juillet 2024 05:27 UTC et qui ont reçu la mise à jour. Les hôtes Mac et Linux ne sont pas affectés.
Le défaut dans la mise à jour du contenu a été corrigé le vendredi 19 juillet 2024 à 05:27 UTC. Les systèmes mis en ligne après cette période, ou qui n’ont pas été mis en ligne pendant la période mentionnée ci-dessus, n’ont pas été affectés.
Quelles sont l’origine et la cause du dysfonctionnement ?
CrowdStrike fournit des mises à jour de configuration de contenu de sécurité (Security Content) à nos agents de deux manières : le contenu de l’agent (Sensor Content), directement livré avec notre agent, et le contenu d’intervention rapide (Rapid Response Content), conçu pour répondre à l’évolution des cybermenaces, le plus rapidement possible.
Le problème rencontré vendredi concernait une mise à jour de « Rapid Response Content » avec une erreur non détectée.
Contenu de l’agent (Sensor Content)
Le « Sensor Content » offre un large éventail de fonctionnalités pour aider à répondre aux cyberadversaires. Il s’inscrit toujours dans le cadre d’une version de l’agent et non d’une mise à jour dynamique depuis le cloud. Il comprend des modèles de machine learning et d’intelligence artificielle (IA) sur l’agent. Son code est précisément écrit pour fournir des fonctionnalités réutilisables à plus long terme par les ingénieurs chargés de la détection des cybermenaces de CrowdStrike.
Ces fonctionnalités incluent des « Template Types », qui comportent des champs prédéfinis que les ingénieurs chargés de la détection des cybermenaces peuvent exploiter dans le « Rapid Response Content ». Les « Template Types » sont présentés sous forme de code. Tout contenu de l’agent, y compris les « Template Types », est soumis à un processus de contrôle qualité exhaustif, qui comprend des tests automatisés, des tests manuels, des étapes de validation et de déploiement.
Le processus de publication de l’agent commence par des tests automatisés, avant et après l’intégration dans notre base de code. Il comprend des tests unitaires, des tests d’intégration, des tests de performance et des tests de stabilité. Il aboutit à un processus de déploiement échelonné qui commence par l’utilisation en interne (« dogfooding ») chez CrowdStrike, suivi par des « early adopters ». Il est ensuite mis à la disposition de tous les clients. Ces derniers peuvent ensuite choisir quelles parties de leur parc d’agents doivent installer la dernière version de l’agent (« N ») ou une version plus ancienne (« N-1 ») ou deux versions plus anciennes (« N-2 ») par l’intermédiaire des politiques de mise à jour des agents.
L’événement survenu le vendredi 19 juillet 2024 n’a pas été déclenché par le contenu du « Sensor Content », qui est uniquement fourni avec la publication d’une mise à jour de l’agent Falcon. Les clients contrôlent l’intégralité du processus de déploiement de l’agent, qui comprend le « Sensor Content » et les « Template Types ».
Rapid Response Content
Le « Rapid Response Content » est utilisé pour effectuer diverses opérations d’analyse comportementale sur l’agent. Il utilise un moteur hautement optimisé. Le « Rapid Response Content » est une représentation de champs et de valeurs que l’on peut filtrer. Il est stocké dans un fichier binaire propriétaire qui contient des données de configuration. Il ne s’agit pas d’un code ou d’un pilote (« driver ») en mode noyau (kernel).
Le contenu d’intervention rapide est fourni sous forme de modèles d’instances (« Template Instances »), qui sont des instanciations d’un type de modèle (« Template Type ») donné. Chaque « Template Instance » correspond à un comportement spécifique que l’agent doit observer, détecter ou prévenir. Les « Template Instance » disposent d’un ensemble de champs qui peuvent être configurés pour correspondre au comportement souhaité.
En d’autres termes, les « Template Types » représentent une fonctionnalité de l’agent qui permet une nouvelle télémétrie et une nouvelle détection. Leur comportement d’exécution est configuré dynamiquement par le « Template Instance » (E.g.: un « Rapid Response Content »)).
Le « Rapid Response Content » offre visibilité et détection sur l’agent sans qu’il soit nécessaire de modifier le code de l’agent. Cette fonctionnalité est utilisée par les ingénieurs chargés de la détection des cybermenaces pour recueillir les données télémétriques, identifier les indicateurs de comportement de cyber-adversaires et mener des actions de détection et de prévention. Le « Rapid Response Content » utilise l’analyse comportementale heuristique, distincte des fonctionnalités de prévention et de détection de l’IA sur l’agent de CrowdStrike.
Test et déploiement du contenu d’intervention rapide
Le « Rapid Response Content » est fourni sous forme de mises à jour de la configuration du contenu de l’agent Falcon. Il existe trois systèmes principaux : le système de configuration de contenu (Content Configuration System), l’interpréteur de contenu (Content Interpreter) et le moteur de détection de l’agent (Sensor Detection Engine).
Le « Content Configuration System » fait partie de la plateforme Falcon dans le cloud, tandis que les deux autres sont des composants de l’agent Falcon. Le « Content Configuration System » est utilisé pour créer des « Template Instances », qui sont validées et déployées dans l’agent par le biais d’un mécanisme appelé « Channel Files ». L’agent stocke et met à jour ses données de configuration de contenu via des « Channel Files » écrits sur le disque de l’hôte.
L’interpréteur de contenu (« Content Interpreter ») sur l’agent lit le « Channel File » et interprète le « Rapid Response Content ». Il permet ainsi au moteur de détection de l’agent d’observer, de détecter ou de prévenir les activités malveillantes, en fonction de la configuration de la politique du client. Le « Content Interpreter » est conçu pour gérer avec fluidité les exceptions liées à un contenu potentiellement problématique.
Les nouveaux « Template Types » sont soumis à de nombreux tests et validations, tels que l’utilisation des ressources, l’impact sur les performances du système et le volume d’événements. Pour chaque « Template Type », une « Template Instance » spécifique est utilisée pour tester la résistance du « Template Type » en le comparant à toutes les données associées possibles afin d’identifier les interactions indésirables du système.
Les « Template Instances » sont créées et configurées à l’aide du « Content Configuration System ». Ce dernier inclut le « Content Validator » qui effectue des contrôles et la validation du contenu avant sa publication.
Chronologie des événements : test et déploiement du « Template Type »InterProcessCommunication (IPC)
Publication du contenu de l’agent : le 28 février 2024, l’agent 7.11 a été mis à la disposition des clients, introduisant un nouveau « Template Type » IPC pour détecter les nouvelles techniques d’attaque qui ciblent des « Named Pipes ». Cette version a suivi toutes les procédures de test du contenu de l’agent décrites ci-dessus dans la section prévue à cet effet.
Test de résistance du « Template Type » : le 5 mars 2024, un test de résistance du « Template Type » IPC a été exécuté dans notre environnement de validation, constitué de plusieurs systèmes d’exploitation et machines (et autre « workloads »). Le « Template Types » IPC a réussi le test de résistance et a été validé pour utilisation.
Publication de « Template Instance » via le Channel File 291 : le 5 mars 2024, suite à la validation réussie, une « Template Instance » pour IPC a été mise en production dans le cadre d’une mise à jour de configuration du contenu. Par la suite, trois « Template Instances » IPC supplémentaires ont été déployées entre le 8 avril 2024 et le 24 avril 2024. Ces « Template Types » ont fonctionné comme prévu en production.
Que s’est-il passé le 19 juillet 2024 ?
Le 19 juillet 2024, deux « Template Instances » IPC supplémentaires ont été déployées. En raison d’un bug dans le « Content Validator », l’une des deux « Template Instances » a été validée alors qu’elle contenait des données au contenu problématique.
Sur la base des tests effectués avant le déploiement initial du « Template Type » (le 5 mars 2024), de la confiance dans les contrôles effectués dans le validateur de contenu et des précédents déploiements réussis de Template Instance IPC, ces instances ont été mises en production.
Lorsqu’il a été reçu par l’agent et chargé dans l’interpréteur de contenu, le contenu problématique du Channel File 291 a entraîné un débordement de lecture de l’espace mémoire, ce qui a déclenché une exception logicielle. Cette exception inattendue n’a pas pu être gérée, ce qui a entraîné un arrêt critique du système d’exploitation Windows (BSOD).
Comment éviter que cela ne se reproduise ?
Résilience et tests logiciels
• Améliorer les tests de « Rapid Response Content » à l’aide des tests suivants :
• Tests locaux menés par les développeurs
• Test de mise à jour du contenu et de restauration
• Test de résistance, fuzzing et injection d’erreurs
• Tests de stabilité
• Test de l’interface du contenu
• Ajouter des contrôles et vérifications supplémentaires au « Rapid Response Content » par le « Content Validator ». Un nouveau contrôle est en cours de développement pour éviter que ce type de contenu problématique ne soit déployé à l’avenir.
• Améliorer la gestion des erreurs existantes dans l’interpréteur de contenu.
Déployer le « Rapid Response Content »
• Mettre en œuvre une stratégie de déploiement échelonné pour le « Rapid Response Content » dans laquelle les mises à jour sont progressivement déployées sur le parc d’agents installés, en commençant par un déploiement Canary.
• Améliorer la surveillance des performances de l’agent et du système, en recueillant des commentaires lors du déploiement du contenu d’intervention rapide afin d’orienter un déploiement progressif.
• Offrir au client un meilleur contrôle sur la livraison des mises à jour du « Rapid Response Content » en permettant une sélection granulaire du moment et de l’endroit où ces mises à jour sont déployées.
• Donner des informations sur les mises à jour du contenu via des notes de mise à jour auxquelles le client peut s’abonner.
Mis à jour le 26-07-2024 à 2110 UTC
Validation indépendante
• Assurer plusieurs révisions du code de sécurité par des tiers indépendants.
• Assurer des contrôles qualité indépendants de bout en bout, du développement au déploiement.
En plus de cet examen préliminaire après incident, CrowdStrike s’engage à publier l’analyse complète des causes approfondies une fois l’investigation terminée.