Maquillage des logiciels malveillants : une vraie fausse menace
Ce que certains présentent comme des « nouveaux » maliciels « inconnus » ne sont généralement que des logiciels malicieux connus maquillés pour tenter d’échapper à la détection. L’industrie le prend en compte depuis longtemps.
Selon HP, au dernier trimestre 2020, « 29 % des logiciels malveillants observés étaient précédemment inconnus ». Le constructeur s’appuie pour cela sur les données de VirusTotal. Et d’estimer « qu’il a fallu en moyenne 8,8. Jours pour que ces menaces soient enregistrées comme malveillantes ». Là, le communiqué dérape, présentant VirusTotal comme « utilisé par les anti-virus pour détecter un code malicieux connu », un peu comme tous les anti-virus allaient y chercher une liste de signatures. Un peu réducteur pour le travail des analystes chez tous les éditeurs… En fait la lecture complète du communiqué fait ressortir l’intention : promouvoir la solution de micro-virtualisation Sure Click issue du rachat de Bromium en 2019. Car voilà, explique Dr Ian Pratt, responsable de la sécurité des systèmes personnels chez HP : la meilleure façon de protéger contre les menaces inconnues « est de contenir et d’isoler les menaces par la virtualisation ».
Faudrait-il comprendre que les outils de protection des postes de travail et des serveurs sont complètement démunis, jusqu’à ceux de Deep Instinct pourtant mis à profit par HP pour Sure Sense ? Et surtout, tant nouveaux maliciels apparaissent-ils chaque jour ? Bien sûr que non.
Expert Cyber Sécurité chez Eset, Benoît Grunemwald rappelle que de nombreuses méthodes de maquillage sont en fait mises à profit pour leurrer les anti-virus : « les menaces utilisent énormément de packers, chiffrement et autres méthodes d’offuscation ». C’est sans surprise que l’éditeur a des atouts dans sa manche contre ces pratiques : « qui dit packer dit suspect, surtout pour la plupart des packers communément utilisés par les criminels. Pour les découvrir, nous allons nous reposer sur l’association de technologies, c’est-à-dire le multi-couche. La sandbox locale est le passage obligé, c’est la 1ère étape pour que le logiciel malveillant se dévoile. Si le fichier est inconnu (réputation faible), il part dans le cloud ». Là, il est confronté à un environnement d’exécution isolé « bien plus puissant et multi-systèmes, aux ressources quasiment illimitées, qui permet l’analyse en profondeur ».
Mais cela ne s’arrête pas là. Ce que Benoît Grunemwald décrit comme « la seconde arme fatale », c’est « l’analyse mémoire avancée. Car si la menace veut discuter avec le système, il faut qu’elle se dévoile en mémoire. C’est le meilleur endroit pour l’intercepter. De même, de nombreuses autres couches de protection s’activent au moment de l’exécution : protection contre les ransomwares, protection réseau, protection contre les vulnérabilités… »
Les signatures ne sont en fait plus utilisées que pour détecter vite les menaces connues, car « dans la plupart des cas l’analyse ADN permet de s’affranchir des signatures, et l’analyse comportementale (ML) encore plus quand il s’agit de malwares avancés ». Depuis 1998, chez Eset, souligne-t-il.
Chet Wizniewski, directeur de recherche scientifique chez Sophos, ne dit pas autre chose, soulignant que « nous sommes confrontés aux ‘packers’ depuis près de 30 ans. Les premiers programmes antivirus de base reposaient sur la détection d’une signature, c'est-à-dire qu'ils recherchaient une séquence spécifique d'octets qui leur permettait d’identifier le code malveillant. Toutefois, ce fonctionnement a cessé dans les années 1990 lorsque l'obfuscation et l'empaquetage sont apparus ».
Dès lors, chez Sophos aussi « de nombreuses techniques sont utilisées pour analyser le code obfusqué. Différents packers sont couramment utilisés par de nombreux groupes de cybercriminels et il suffit d’intégrer une logique à l’antivirus pour les décoder, comme pour voir le contenu d'un fichier zip, d'un document Word ou d'un PDF ». Mais parfois, les attaquants « s’appuient sur une routine de protection par chiffrement, dissimulant la clé dans le code ». Dans ce cas, « le malware doit se déchiffrer en mémoire pour s’exécuter et il faut le laisser faire. Ensuite, il ne reste plus qu’à analyser le code en mémoire en texte brut avant de l'autoriser ou non à poursuivre son exécution ».
Chet Wizniewski relève qu’il existe de nombreuses autres approches de maquillage du code malicieux. Mais pour, n’en déplaise aux alarmistes, celles-ci ne résistent généralement pas aux techniques de détection actuelles.
L’empaquetage ne fait pas non plus vraiment peur à Fabian Wosar, directeur technique d’Emsisoft : « nous utilisons l’émulation. Cela signifie que nous exécutons le code analysé dans un environnement émulé. Nous sommes souvent capables de pleinement démaquiller le code ainsi pour l’analysé en mémoire ». En outre, certains outils de maquillage ne sont utilisés qu’à des fins malicieuses, et là, « nous détectons les fichiers cachés avec ces outils ». Enfin, le module de blocage basé sur l’analyse comportementale « n’est pas affecté du tout par le maquillage, puisque l’on surveille en temps réel ce que fait le fichier ».
Chez Trend Micro, Renaud Bidou, directeur technique Europe du Sud, ne s’inscrit pas sur une ligne différente : « l’usage de packers, le chiffrement du code, l’application de technique de polymorphisme ou encore le déploiement directement en mémoire sans passer par le disque (‘fileless’) sont aujourd’hui des techniques couramment utilisées ». Et ce n’est plus une surprise pour personne : « cet état de fait a été pris en compte depuis plus d’une dizaine d’années avec le développement au fil du temps et des innovations de différentes technologies ». Et là encore, on retrouve les techniques évoquées par ses confrères et concurrents.
Thierry Gourdin, responsable avant-vente chez Kaspersky, décrit quant à lui deux processus de prétraitement en parallèle : l’un statique, l’autre dynamique. Le premier se concentre sur l’extraction du code maquillé avant son analyse à l’aide d’un modèle entrainé sur des attributs statiques. Le second s’appuie sur l’émulation, pour confronter le comportement du code à… un modèle d’analyse comportementale.
Christophe Auberger, évangéliste cybersécurité chez Fortinet, souligne lui aussi que « les packers sont une chose assez classique aujourd’hui ». Et si, « on estime que 95 % des maliciels détectés aujourd’hui n’existaient pas hier et n’existeront pas demain », ce n’est pas parce qu’ils sont originaux : « c’est de l’empaquetage, de l’offuscation… mais il n’y a pas 50 000 souches différentes aujourd’hui ». S’il revient sur les techniques détaillées par ses confrères et concurrents, il aborde aussi la question des signatures dites polymorphiques : « aujourd’hui, chaque signature est capable de détecter en 500 et 1000 variants d’un même malware ». De quoi ajouter au crédit des signatures avant même d’aborder les techniques plus avancées, notamment comportementales.