CrowdStrike introduit l'analyse de mémoire accélérée Intel TDT dans le capteur CrowdStrike Falcon pour Windows afin d'augmenter la visibilité et de détecter les menaces en mémoire, ajoutant une autre couche de protection contre les menaces sans fichier. Ces dernières années, les acteurs de la menace ont accru leur dépendance aux attaques sans fichier ou sans logiciel malveillant. Le rapport CrowdStrike 2022 sur les menaces mondiales a noté que 62 % de toutes les attaques au quatrième trimestre 2021 étaient exemptes de logiciels malveillants, les attaquants s'appuyant plutôt sur des outils intégrés et des techniques d'injection de code pour atteindre leurs objectifs sans déposer un binaire malveillant sur le disque.
L'analyse de la mémoire augmente la couverture du capteur CrowdStrike Falcon dans la détection des menaces sans fichier, étendant la protection déjà fournie par Script Control et les indicateurs comportementaux d'attaque (IOA).
La technologie d'analyse de la mémoire permet au capteur Falcon de parcourir de grandes quantités de mémoire de processus de manière très performante, à la recherche de modèles malveillants indiquant une attaque sans fichier. Le moteur d'analyse de la mémoire intègre l'analyse accélérée de la mémoire (AMS) de la technologie Intel Threat Detection dans le capteur Falcon. Intel TDT AMS optimise les performances sur les processeurs Intel et décharge le calcul sur l'unité de traitement graphique intégrée (iGPU) d'Intel lorsqu'elle est présente. Avec des analyses hautes performances, plus de mémoire peut être analysée plus souvent afin de trouver des artefacts d'intrusion malveillante.
La fonction d'analyse accélérée de la mémoire sera disponible en version bêta à partir de la version 6.37 du capteur Falcon et est prise en charge par les processeurs Intel de sixième génération ou plus récents avec un iGPU activé, exécutant Windows 10 RS1 et supérieur.
Attaques sans fichier : une menace de l'accès initial à la persistance
Plus précisément appelées « attaques sans exécutable », la principale caractéristique d'une attaque sans fichier est qu'elle ne dépose pas de logiciel malveillant traditionnel ou de fichier exécutable malveillant sur le disque. Une attaque sans fichier peut s'appuyer sur d'autres types de fichiers, tels que des fichiers de documents militarisés, pour obtenir un accès initial, ou sur des scripts (parfois cryptés ou codés) pour faciliter l'exécution. Cependant, il est exécuté sans fichier exécutable à analyser — l'attaque elle-même est entièrement exécutée en mémoire.
L'accès initial est souvent réalisé par les mêmes techniques que les attaques basées sur les exécutables, telles que les exploits de navigateur ou d'application ou les attaques de phishing et d'ingénierie sociale. Une fois qu'elles ont pris pied, les attaques sans fichier doivent trouver de nouveaux moyens d'exécuter du code malveillant et de gagner en persistance. L'exécution d'une logique malveillante et d'un mouvement latéral est souvent effectuée par des applications «à double usage», également appelées binaires «vivant hors de la terre» ou «LOLbins». Ces attaques à double usage utilisent des applications, des scripts et des outils d'administration légitimes pour accomplir leur objectif malveillant. Les LOLbins incluent à la fois des applications natives et des outils de script tels que PowerShell, MSHTA, Windows Management Instrumentation (WMI), regsvr32 et le planificateur de tâches. Ces outils et techniques ont été utilisés dans des attaques sans fichier, notamment le logiciel malveillant Cobalt Strike, le cheval de Troie Helminth (voir CrowdStrike Intelligence Tipper : CSIT-16096 Logiciel malveillant basé sur PowerShell utilisé contre des cibles du secteur financier du Moyen-Orient) et PoshSpy.
L'exécution peut également être effectuée par des attaques par injection de code , dans lesquelles l'injection de shellcode ou le chargement de DLL réfléchissant est utilisé pour exécuter du code dans le processus compromis ou dans un processus distant. Le logiciel malveillant Cobalt Strike, Kovter (voir CrowdStrike Intelligence Tipper : CSIT-17083 Kovter Bot Analysis) et NotPetya sont connus pour utiliser l'injection de code, le chargement réflexif ou l'évidement de processus pour réaliser une exécution malveillante.
En ne supprimant pas et en n'exécutant pas un binaire malveillant lui-même, les attaques sans fichier doivent trouver d'autres moyens de gagner en persistance. La persistance nécessite à la fois un emplacement pour stocker le code ou les données et un moyen de déclencher le lancement de code ou de script malveillant. La suppression de scripts, le stockage de code ou de scripts malveillants dans le registre, ou l'utilisation de LOLbins comme WMI ou le planificateur de tâches sont toutes des stratégies pour atteindre la persistance. Ces techniques sont associées à une activité sauvage pour les logiciels malveillants Poweliks et Kovter, les attaques PoshSpy et la porte dérobée Helminth.
Chacune de ces étapes (accès initial, exécution et persistance) laisse derrière elle des artefacts uniques et révélateurs d'intrusion dans la mémoire. Bien que l'analyse de la mémoire soit déjà un outil d'investigation précieux, elle n'a pas besoin de se limiter aux réponses aux incidents post-violation, mais elle peut être utilisée pour détecter les attaques en cours.
L'analyse de la mémoire permet un nouveau niveau de visibilité et de protection
Historiquement, il y a eu un impact substantiel sur les performances du processeur lors de l'analyse de la mémoire, limitant sa capacité à être largement utilisée pour la détection des attaques. Pour faire face à la menace des attaques sans fichier de manière performante, CrowdStrike s'est associé à Intel Corporation pour intégrer son Intel TDT AMS dans notre capteur Falcon. Avec Intel TDT AMS, le capteur Falcon peut analyser de larges pans de la mémoire virtuelle d'un programme à la recherche d'artefacts d'une intrusion malveillante.
De l'exploitation à l'exécution et à l'impact, la plate-forme Falcon identifie et protège contre les attaques sans fichier grâce à des IOA comportementaux composés de données provenant de fonctionnalités telles que le contrôle de script, l'analyse de la pile d'appels et les données supplémentaires du mode utilisateur. L'analyse de la mémoire se connecte de manière transparente au système complexe d'événements et de comportements sur la plate-forme Falcon, offrant un nouveau niveau de visibilité et de protection.
Balayage de mémoire de modèle d'octet
L'analyse de la mémoire identifie un processus d'intérêt (le « processus cible ») et parcourt son espace mémoire pour identifier les artefacts malveillants. Ces artefacts peuvent inclure des modèles de shellcode, des chaînes uniques ou des correctifs malveillants.
Figure 1. Vue du débogueur du noyau d'un exemple de modèle d'octet malveillant trouvé dans la mémoire d'un processus suspect
A memory scan is defined by high-fidelity pattern specifications and rules around when and where the scan for those patterns should be performed. A triggering mechanism describes either a routine or potentially suspicious circumstance when the memory scan should be initiated. The memory pattern specification describes the pattern itself and provides optional hints as to the type of memory in which the pattern should be found. For example, shellcode might only be expected to fall in executable memory, but unique strings in read-only memory. These memory description down-selects provide both a performance and a precision benefit. Only the necessary memory is scanned and evaluated, which saves cycles and improves efficacy by allowing for more precise specifications.
Lorsqu'une analyse de modèle de mémoire est lancée, le composant d'analyse de mémoire acquiert les blocs de mémoire spécifiés du processus cible dans le processus d'analyse. Comme les autres charges de travail de l'arsenal en mode utilisateur de CrowdStrike Falcon, le processus d'analyse est exécuté en tant que conteneur sécurisé sur le point de terminaison. Une fois la mémoire acquise, le processus d'analyse parcourt la mémoire analysée à l'aide de l'algorithme de correspondance de modèles hautes performances Intel TDT AMS, qui a été optimisé pour s'exécuter comme une charge de travail massivement parallélisée.
Figure 2. Le processus de conteneur Falcon acquiert des pages de mémoire exécutable à partir du processus cible et exécute une analyse accélérée de la mémoire sur le contenu, en recherchant le modèle d'octet malveillant
Construire une solution haute performance
Traditionnellement, à la fois une opération gourmande en CPU et en temps, l'analyse de la mémoire est rendue possible grâce à des optimisations à tous les niveaux de la conception. Le partenariat avec Intel TDT AMS et les décisions de conception d'intégration donnent la priorité aux performances, ce qui se traduit par un algorithme de correspondance de modèles optimisé pour l'exécution sur le matériel Intel et qui tire parti des architectures multi- et multi-cœurs. L'ensemble du système bénéficie de choix judicieux d'algorithmes et d'une connaissance approfondie des composants internes de Windows, ce qui conduit à une conception qui maximise les performances des opérations chronophages. La flexibilité de conception permet à la mémoire d'être logiquement réduite aux seules parties importantes pour l'analyse, tandis que les barrières de sécurité sur la taille de l'analyse de la mémoire et les limites d'utilisation du processeur limitent la perturbation du système et l'expérience de l'utilisateur final.
Enfin, Intel TDT AMS décharge intelligemment les calculs de correspondance de modèles sur le GPU intégré Intel lorsqu'il est disponible, tirant parti à la fois du GPU à plusieurs cœurs et de l'architecture système sur puce avec un contrôleur de mémoire partagé. Les premiers tests ont montré qu'Intel TDT AMS exécutait la charge de travail lourde en calcul à 4 à 7 fois les performances des implémentations de CPU naïves.
CrowdStrike répond aux menaces dynamiques en temps réel
L'escalade continue des menaces et l'exploitation des vulnérabilités zero-day ne peuvent être arrêtées qu'avec une solution dynamique capable de répondre aux nouvelles menaces en temps réel.
La détection des attaques sans fichier commence au même point que la détection des attaques traditionnelles basées sur des logiciels malveillants. Les rétro-ingénieurs dédiés de CrowdStrike, les équipes de recherche et d'intervention et l'équipe de chasse aux menaces Falcon OverWatch™ analysent les données du monde réel et les scripts et outils malveillants en circulation 24 heures sur 24. Grâce à leurs recherches et aux mises à jour de contenu dynamiques de la plate-forme Falcon, les équipes d'intervention rapide de CrowdStrike peuvent déployer de nouvelles IOA comportementales à tout moment. Avec l'ajout de l'analyse de la mémoire au capteur CrowdStrike Falcon, ces équipes d'intervention rapide peuvent publier de nouvelles spécifications et règles de modèle de mémoire depuis le cloud vers les points de terminaison des clients CrowdStrike en quelques minutes.
Figure 3. L'événement résultant d'une analyse de mémoire, montrant que le résultat correspondait au modèle d'octet
Figure 4. Détection du shellcode malveillant post-exploitation chargé dans PowerShell (Cliquez pour agrandir)
Détails de la version de l'analyse de la mémoire CrowdStrike
L'analyse de la mémoire sera disponible en version bêta à partir de la version 6.37 du capteur Falcon. Les clients CrowdStrike peuvent contacter leur responsable de compte technique pour rejoindre la version bêta. La version bêta de l'analyse de la mémoire est actuellement disponible pour les systèmes équipés de processeurs Intel de sixième génération ou plus récents avec un processeur graphique intégré Intel activé et les pilotes associés, exécutant Windows 10 RS1 et supérieur. Une future version du capteur Falcon étendra les plates-formes et les processeurs pris en charge.