Quand on pense antivirus, on pense immédiatement protection des données et des terminaux. Mais des chercheurs en sécurité de Rack9 Labs ont récemment montré l'inverse, à savoir une exploitation possible permettant de compromettre ces logiciels pour détourner leur usage à des fins de destruction de fichiers et de corruption système. Dans le cadre de leur recherche, Rack9 Labs s'est servi des fonctions de jonctions d'annuaire (directory junctions) propre au système d'exploitation Windows et de symlinks que l'on retrouve sur les environnements MacOS et Linux.

En tout, 28 logiciels antivirus sont concernés par cette possibilité de détournement. A savoir pour Windows : Avast Free Anti-Virus, Avira Free Anti-Virus, BitDefender GravityZone, Comodo Endpoint Security, F-Secure Computer Protection, FireEye Endpoint Security, Intercept X (Sophos) Kaspersky Endpoint Security, Malwarebytes, McAfee Endpoint Security, Panda Dome et Webroot Secure Anywhere. Du côté de macOS on trouve : AVG, BitDefender Total Security, Eset Cyber Security, Kaspersky Internet Security, McAfee Total Protection, Microsoft Defender (BETA), Norton Security Sophos Home et Webroot Secure Anywhere. Et pour Linux : BitDefender GravityZone, Comodo Endpoint Security, Eset File Server Security, F-Secure Linux Security, Kaspersy Endpoint Security, McAfee Endpoint et Security Sophos Anti-Virus.

Des risques d'escalades de privilèges

« Ce que la plupart des logiciels antivirus ne parviennent pas à prendre en considération est la petite fenêtre de temps entre l'analyse initiale du fichier qui détecte le fichier malveillant et l'opération de nettoyage qui a lieu immédiatement après. Un utilisateur local malveillant ou un auteur de malware est souvent en mesure d'exécuter une condition de concurrence critique via une jonction d'annuaire (Windows) ou un lien symbolique (Linux et macOS) qui tire parti des opérations de fichiers privilégiés pour désactiver le logiciel antivirus ou interférer avec le système d'exploitation pour le rendre. inutile, etc. », indique Rack9 Labs. « Les jonctions d'annuaire peuvent être effectuées par n'importe quel utilisateur et ne nécessitent pas de privilèges d'administrateur, ce qui le rend parfait pour exploiter un logiciel antivirus sous le système d'exploitation Windows. Un symlink (lien symbolique) est plus couramment utilisé sous Linux et macOS où tout utilisateur non privilégié peut les exécuter. Il convient de noter que Windows possède également des liens symboliques, mais par défaut, ils ne peuvent pas être exécutés par un utilisateur non privilégié et ne fonctionneront donc pas pour exploiter le logiciel antivirus ».

Dans le cadre de ses tests, Rack9 Labs a été en mesure d'effacer « facilement » d'importants fichiers relatifs au logiciel antivirus le rendant inactif, mais aussi de détruire des fichiers système importants pouvant causer une erreur de corruption significative nécessitant une réinstallation complète du système d'exploitation. « Il est important de noter que nous nous sommes principalement concentrés sur le comportement autodestructeur avec ces exploits. Dans certains cas, lorsque nous avons modifié nos exploits d'origine pour cibler certains répertoires et / ou fichiers, nous avons observé des changements d'autorisation de fichier et de propriété qui auraient pu facilement conduire à des vulnérabilités de type escalade de privilèges dans le système d'exploitation », précise Rack911 Labs.

Une fenêtre d'exécution limitée

Loin d'être compliquées à réaliser, les manipulations à effectuer pour entraver le bon fonctionnement d'un antivirus voire d'un système d'exploitation dans son ensemble, sont au contraire accessibles, la seule difficulté majeure résultant dans le timing d'exécution. « Une seconde trop tôt ou une seconde trop tard et l'exploit ne marchera pas », préviennent les chercheurs. Dans une vidéo, Rack911 Labs a par exemple montré comment il a pu exploiter un proof of concept contre McAfee Endpoint Security pour Windows afin d'effacer le fichier EpSecApiLib.dll, ou encore contre Kaspersky Internet Security pour macOS pour télécharger un fichier de test EICAR depuis une source alternative. « Une fois la chaîne de test téléchargée, le logiciel antivirus a immédiatement détecté le fichier comme logiciel malveillant et tenté de le nettoyer. Lors de nos tests, nous avons pu identifier un délai approximatif de 6 à 8 secondes qui permet à une condition de concurrence critique de se produire qui peut entraîner une attaque par lien symbolique entraînant la suppression de tout fichier en raison du fait que le logiciel s'exécute en tant que root », indique Rack9 Labs.