Un malware sans fichier est un type de logiciel malveillant qui utilise des programmes légitimes pour infecter un ordinateur. Il ne dépend d'aucun fichier et ne laisse aucune empreinte, ce qui complique considérablement sa détection et sa suppression. Les cyberadversaires sont parfaitement au fait des stratégies utilisées par les entreprises pour bloquer leurs attaques, et mettent au point des malwares ciblés de plus en plus sophistiqués pour contourner les défenses en place. C'est une course contre la montre, car les techniques de piratage les plus efficaces sont généralement les plus récentes. Les malwares sans fichier réussissent à contourner la vaste majorité des solutions de sécurité, à l'exception des plus sophistiquées.
Si les attaques de malwares sans fichier sont devenues monnaie courante à partir de 2017, bon nombre d'entre elles existaient déjà auparavant. Frodon, Number of the Beast et The Dark Avenger faisaient partie des premiers malwares de ce type. Plus récemment, les attaques sans fichier les plus médiatisées ont sans doute été le piratage du Comité national du parti démocrate aux États-Unis et la compromission d'Equifax.
Leur nature insidieuse contribue également à leur efficacité. Certains prétendent que les malwares sans fichier sont « indétectables ». Ce n'est pas tout à fait vrai, mais il est clair que ces attaques sans fichier échappent souvent à la détection des antivirus, des listes blanches et d'autres solutions de sécurité des terminaux traditionnelles. En fait, le Ponemon Institute affirme que les attaques sans fichier ont 10 fois plus de chances de réussir que les attaques basées sur des fichiers.
Les attaques sans fichier entrent dans la catégorie plus large des attaques dites à caractéristiques observables faibles, un type d'attaque furtive qui échappe à la détection de la plupart des solutions de sécurité et entrave les investigations numériques. Bien qu'ils ne soient pas considérés comme des virus traditionnels, les malwares sans fichier fonctionnent de la même manière : ils s'exécutent dans la mémoire. Les infections sans fichier ne doivent pas être stockées dans un fichier ou installées directement sur un ordinateur, mais accèdent directement à la mémoire sans que jamais le contenu malveillant n'atteigne le disque dur. De nombreuses attaques furtives tirent parti de Microsoft Windows PowerShell, un outil utile et légitime employé par les administrateurs pour l'automatisation des tâches et la gestion de la configuration. PowerShell se compose d'un shell de ligne de commande et d'un langage de script associé, permettant aux adversaires d'accéder à pratiquement tous les composants de Windows.
Figure 1. Exemple de la chaîne de frappe d'une attaque sans fichier.
La figure ci-dessus illustre le déroulement d'une attaque sans fichier. À l'instar de la plupart des menaces avancées actuelles, les attaques sans fichier utilisent souvent l'ingénierie sociale pour inciter les utilisateurs à cliquer sur un lien ou une pièce jointe dans un e-mail de phishing. Les attaques sans fichier sont généralement utilisées dans un but de déplacement latéral, c'est-à-dire qu'elles se propagent d'un équipement à un autre afin d'obtenir des droits d'accès à des données importantes sur le réseau de l'entreprise. Pour éviter d'attirer l'attention, les malwares sans fichier se dissimulent au sein d'applications approuvées incluses dans la liste blanche (comme PowerShell et les exécutables de script Windows tels que wscript.exe et cscript.exe) ou dans le système d'exploitation pour lancer des processus malveillants. Ces attaques exploitent le modèle d'approbation utilisé par les applications de sécurité, qui exclut les programmes sur liste blanche de leur surveillance.
Dans le scénario ci-dessus, il est important de noter que le cybercriminel n'a pas eu à trouver de solution pour contourner les défenses antivirus et antimalware. La plupart des capteurs automatisés ne peuvent pas détecter les modifications apportées en ligne de commande. Un analyste qualifié peut identifier ces scripts, mais ignore souvent où les chercher.
Avec l'efficacité croissante dont fait preuve le secteur de la cybersécurité dans la correction des exploits, la durée de vie des attaques sans fichier est de plus en plus courte. Pour vous protéger contre les infections sans fichier, une des meilleures solutions consiste simplement à maintenir vos logiciels à jour. C'est particulièrement vrai pour les applications Microsoft, même si la suite Microsoft 365 inclut des mesures de sécurité améliorées. Microsoft a également mis à niveau son package Windows Defender pour détecter toute activité inhabituelle de PowerShell.
Pour contrer efficacement les attaques sans fichier, la clé est d'adopter une approche intégrée qui prend en charge l'ensemble du cycle de vie des menaces. En disposant d'une défense multiniveau, vous bénéficiez d'un avantage sur les attaquants, car vous êtes en mesure d'examiner chaque phase d'une campagne avant, pendant et après une attaque.
Deux éléments sont particulièrement importants :
Pour interrompre les attaques sans fichier, vous devez adopter une approche globale capable de monter en charge et d'implémenter rapidement les mesures appropriées, au moment opportun et partout où elles sont nécessaires.
Nos équipes de recherche comptent plus de 250 chercheurs partout dans le monde. Avec Trellix, vous bénéficiez d'une équipe d'experts qui analysent les objets et comportements suspects à la recherche de menaces, et développent des outils qui bloquent directement différentes variantes de menaces sans fichier. Nous avons publié plusieurs signatures capables de bloquer différentes variantes de menaces sans fichier, dont les suivants :
Menace sans fichier — Autoinjection par réflexion
Le chargement réflexif désigne le chargement d'un fichier exécutable portable (PE) à partir de la mémoire et non du disque. Une fonction / un script conçu à cet effet peut charger de manière réflexive un fichier exécutable portable sans être enregistré en tant que module chargé dans le processus et peut donc effectuer des actions sans laisser d'empreintes. PowerShell est l'une des applications les plus utilisées pour exécuter ces scripts spéciaux. Un tel événement indique une attaque sans fichier au cours de laquelle un script PowerShell tente d'injecter un fichier PE dans le processus PowerShell lui-même.
Menace sans fichier — Autoinjection EXE par réflexion
Le chargement réflexif désigne le chargement d'un fichier exécutable (EXE) à partir de la mémoire et non du disque. Une fonction / un script conçu à cet effet peut charger de manière réflexive un fichier exécutable (EXE) sans être enregistré en tant que module chargé dans le processus et peut donc effectuer des actions sans laisser d'empreintes. PowerShell est l'une des applications les plus utilisées pour exécuter ces scripts spéciaux. Un tel événement indique une attaque sans fichier au cours de laquelle un script PowerShell tente d'injecter un fichier EXE dans le processus PowerShell lui-même.
Menace sans fichier — Injection à distance et par réflexion de fichiers DLL
Le chargement réflexif désigne le chargement d'une DLL à partir de la mémoire et non du disque. Une fonction ou un script conçu à cet effet peut charger par réflexion un fichier DLL sans être détecté comme module chargé dans le processus et peut donc exécuter des actions sans laisser de traces. PowerShell est l'une des applications les plus utilisées pour exécuter ces scripts spéciaux. Cet événement indique une attaque sans fichier qui consiste en une tentative d'injection d'un fichier DLL dans un processus distant par un script PowerShell.
Menace sans fichier — Exécution de code malveillant à l'aide de la technique DotNetToJScript
Cet événement indique une tentative d'exécution d'un code shell malveillant à l'aide de la technique DotNetToJScript, utilisée par les attaques sans fichier courantes telles que CACTUSTORCH. Les vecteurs d'attaque DotNetToJScript permettent de charger et d'exécuter l'assembly .NET malveillant (DLL et EXE, par exemple) directement à partir de la mémoire à l'aide des bibliothèques .NET exposées via COM. Comme toute autre technique d'attaque sans fichier classique, DotNetToJScript n'écrit aucun élément de DLL ou EXE .NET malveillant sur le disque dur de l'ordinateur.