Logiciels malveillants : comment détecter et contenir les techniques d’évasion avancées
Nick Lexis, CISSP et ancien RSSI de l’Université de Saint Louis, examine des techniques utilisées par les malwares pour échapper à la détection et monte comment empêcher ces contre-mesures.
Nick Lexis, CISSP et ancien RSSI de l’Université de Saint Louis, aux Etats-Unis, examine quelques techniques utilisées par les logiciels malveillants pour échapper à la détection et revient pour nous sur les mesures prendre pour empêcher le succès de ces contre-mesures.
Tant qu’il y aura des cibles à exploiter et de l’argent à faire, les logiciels malveillants continueront de progresser. Pour rester pertinents et continuer de gagner leur vie, les auteurs de logiciels malveillants vont adopter des techniques d’évasion avancées et intégrer de nouvelles fonctionnalités afin de répondre aux demandes de leurs clients qui souhaitentmener des attaques toujours plus efficaces et plus rentables. Les exemples de logiciels malveillants gagnant en sophistication ne manquent pas, dont la récente adaptation de Zeus aux systèmes 64 bits, ou encore l’évolution du logiciel malveillant iBanking pour viser les terminaux Android.
En plus de nouvelles fonctionnalités, une nouvelle idée à récemment émergée : celle consistant à vivre de sa victime, à savoir à utiliser des outils légitimes ou intégrés pour conduire des attaques, et ainsi empêcher la détection par les logiciels antivirus. Le logiciel malveillant Poweliks en est le plus récent exemple.
Les avancées des logiciels malveillants
Poweliks est un logiciel malveillant sans fichier, conçu pour télécharger d’autres composants qui assureront le contrôle du système compromis. Poweliks nécessite un vecteur d’infection initiale distinct pour compromettre le système local et installer le logiciel malveillant qui n’est autre qu’un fichier Word malicieux. Après l’infection initiale, le logiciel malveillant est installé et enregistré dans le registre sous la forme d’une librairie dynamique (DLL) encodée qui est extraite et injectée dans les processus dllhost.exe légitimes qui vont se charger de l’exécuter.
Enregistrer une DLL dans le registre n’est une méthode d’installation de logiciel malveillant sur un poste de travail, mais cela rend la détection plus difficile parce que tous les antivirus ne vérifient pas le registre. Cela dit, pour ceux qui le font, trouver une clé contenant une quantité de données conséquente doit probablement mettre la puce à l’oreille. Poweliks utilise aussi des commandes PowerShell pour finaliser son attaque. Les commandes PowerShell peuvent d’ailleurs être utilisées pour éviter la détection et profiter des ressources disponibles sur l’hôte à infecter : PowerShell est en effet installé sur de très nombreux systèmes et dispose de fonctionnalités avancées pour interagir avec le système d’exploitation.
D’autres logiciels malveillants ont également continué à progresser pour rester rentables pour leurs auteurs. Bien qu’arrivé à maturité, Zeus continue d’intégrer de nouvelles fonctionnalités. L’une d’entre elles permet d’améliorer les attaques par ingénierie sociale où le logiciel malveillant fait apparaître un faux message d’alerte pour pousser l’utilisateur à l’installer. De la même manière, iBanking.Android utilise désormais un faux logiciel de sécurité pour amener l’utilisateur à l’installer. Il intercepte ensuite les SMS utilisés pour l’authentification à double facteur.
Les contrôles nécessaires à la détection
La détection des logiciels malveillants avancés peut se faire de différentes manières. Les logiciels malveillants à plusieurs étages, comme Poweliks, et les attaques les utilisant, peuvent donner aux entreprises plus de temps pour détecter le logiciel malveillant parce que chaque étape nécessite du temps. Mais chacune d’entre elles ne sera pas nécessairement détectée : ces étapes ne sont pas forcément malicieuses en elles-mêmes. Dans le cas de Poweliks, c’est la corrélation des étapes et des actions qui peut aider à détecter et à contenir l’activité malicieuse.
Par exemple, les scripts PowerShell sont utiles aux administrateurs systèmes et utilisateur avancés. Mais peu d’utilisateurs finaux en développent et en utilisent. Dès lors, s’il est difficile de détecter les commandes PowerShell malicieuses, car les usages légitimes de la technologie de scripting de Microsoft sont nombreux, il est possible d’exiger que les scripts exécutés par les utilisateurs finaux soient signés, par exemple. Cette règle n’arrêtera pas un attaquant très motivé, mais peut déjà en freiner ou en décourager plus d’un.
Et si détecter les activités de Poweliks avec PowerShell peut être difficile, détecter son infrastructure de commande et de contrôle, via les connexions réseau, peut être plus facile. Dans un billet de blog, Trend Micro mentionne une IP spécifique qui peut être utilisée comme un indicateur de compromission. Les organisations peuvent ainsi surveiller leur réseau et les connexions suspectes. De manière générale, surveiller le réseau à la recherche de connexions anormales peut aider à identifier un système compromis nécessitant une investigation plus étendue. Les logs NetFlow permettent ainsi d’identifier les systèmes qui communiquent le plus avec l’extérieur, ou ceux qui enregistrent un nombre significatif d’échecs d’authentification.
Les nouvelles versions de Zeus et de iBanking peuvent être identifiées de la même manière que PoweLiks, puisqu’elles se reposent aussi sur la sensibilisation à la sécurité. La variante de Zeus peut être détectée en surveillant les connexions réseau. Et iBanking peut l’être avec un logiciel de protection locale chargé de chercher les fichiers malicieux.
Mais la détection n’est qu’une partie d’un contrôle effectif des logiciels malveillants en entreprise : un plan de réponse rigoureux aux incidents impliquant des logiciels malveillants est essentiel pour minimiser l’impact d’un système compromis.
Conclusion
Sans surprise, les logiciels malveillants vont continuer d’avancer et d’automatiser certaines des techniques d’attaque manuelles les plus efficaces. Certes, les systèmes de protection des entreprises vont gagner en sophistication, mais les logiciels malveillants trouveront inévitablement de nouvelles méthodes de contournement. Cela exigera une attention constante des entreprises afin de contrôler et de circonscrire les attaques potentielles. Les contrôles et technologies de sécurité des entreprises vont devoir être régulièrement renouvelés et testés pour garantir leur efficacité contre les attaques modernes. Mettre à jour les programmes et contrôles de sécurité lorsque de nouvelles attaques et vulnérabilités sont découvertes est essentiel pour garder une avance, même tout relative.
Il est également critique pour une entreprise de ne pas seulement évaluer comment elle administre ses systèmes, mais également comment elle évalue l’impact sur sa posture de sécurité de l’introduction de certaines fonctionnalités, comme les scripts PowerShell, parmi d’autres exemples.
Adapté de l’anglais