Comment se déroule ce type d’attaques ?
[EXCLUSIF] Il s’agit d’attaques s’appuyant sur du code injecté directement en mémoire vive ou utilisant des outils légitimes plutôt que d’écrire un fichier sur le disque dur.Elles peuvent par exemple prendre la forme d’un kit exploit conduisant la victime sur un site Internet pour tirer parti de vulnérabilités Java et ainsi télécharger du code dans la mémoire et l’exécuter. Le programme continue alors de s’exécuter une fois le navigateur fermé, configurant des canaux de contrôle, téléchargeant et exécutant la charge utile dans la mémoire.
Si ce programme est éphémère, car ne pouvant survivre à un redémarrage, il peut demeurer assez longtemps pour lancer par exemple une attaque par ransomware et persister sur les appareils mobiles qui ne sont pas éteints régulièrement. Afin de lancer des attaques plus avancées, il est nécessaire d’étendre la persistance, c’est-à-dire la durée d’action. Pour ce faire, les pirates utilisent des scripts, le gestionnaire de services et d’autres outils du système pour être en mesure de télécharger après le redémarrage du système compromis d’autres charges utiles directement dans la mémoire.
L’utilisation d’outils d’administration système déjà présents sur les systèmes d’exploitation plutôt que de logiciels développés par l’attaquant permet à celui d’échapper à la détection de l’antivirus et de limiter les preuves laissées dans les journaux systèmes.
Des attaques de ce type existent depuis au moins 2012. Mais à l’époque, afin de rester persistant sur le système infecté, leurs créateurs utilisaient un programme de téléchargement développé par leurs soins et donc détectable par les logiciels antivirus. Il s’agissait d’attaques très poussées pour l’époque, mais désormais, des kits d’exploit comme Angler permettent à tous les pirates, y compris les moins qualifiés, de lancer des attaques sans fichier.
Comment se protéger de ces cyberattaques ?
Si ces attaques sophistiquées échappent aux logiciels antimalware contrôlant les fichiers, elles nécessitent néanmoins l’exploitation de vulnérabilités applicatives du système ciblé, l’utilisation de la mémoire vive, des services systèmes, de la base de registre et enfin utilisent le réseau. Ce sont donc sur ces aspects que des mesures de protection peuvent être prises.
Une attention va devoir être portée sur le référencement des vulnérabilités présentes sur le parc applicatif et la planification de leur correction lorsque cela est possible. Si cela ne l’est pas immédiatement, il faudra référencer les exploits développés pour les vulnérabilités résiduelles et en fabriquer des signatures afin de permettre leur détection en amont.
Activer les mesures de détection comportementales des solutions antimalware installées sur les systèmes. Celles-ci peuvent détecter des malwares en mémoire, l’utilisation de script PowerShell lancés sous forme de service et les entrées suspicieuses dans la base de registre.
Puisque les attaques sans fichiers utilisent le réseau pour télécharger des instructions depuis un serveur de contrôle sur internet, il est pertinent de mettre en place des blocages lorsque des sites et adresses IP malveillantes sont accédés. Des alarmes peuvent également être mise en place pour détecter les balayages réseau initiés par un système interne, un préalable aux tentatives de propagation du malware une fois qu’il s’est installé dans le réseau de la victime. Enfin les connexions effectuées par des outils d’administrations systèmes doivent être limitées aux systèmes prévus à cet effet.
Les cyberattaques sans fichiers soulignent l’importance du maintien en condition de sécurité de son parc applicatif tandis que leur détection suppose la mise en place de contrôles systèmes et réseau assez classiques. Reste la difficulté de la réponse à incident, rendue complexe à cause de l’absence de fichier laissés par ces attaques et nécessitant par conséquent la collecte de données mémoires, services, registre, log, réseau dans l’espoir de comprendre précisément ce qui a été commis ou dérobé et qui se cache derrière.