Vous êtes sur la page 1sur 13

Contournement dune passerelle antivirus

Guillaume Arcas and St ephane Clodic


guillaume.arcas@retiaire.org stephane.clodic@retiaire.org

R esum e Ce document d ecrit les strat egies et les techniques quun attaquant peut mettre en oeuvre pour contourner une passerelle antivirus. Apr` es une pr esentation des fondements th eoriques, nous les d etaillerons en nous pla cant dans la position de lattaquant. Nous illustrerons notre propos ` a partir dexemples de ltrage des protocoles SMTP et HTTP qui sont les plus couramment utilis es par les internautes... et les virus.

Introduction

Un article r ecent du magazine MISC [1] souvrait sur cette maxime : Quiconque - utilisateur ou administrateur - ignorerait encore la capacit e de nuisance des virus et vers informatiques sexpose ` a de graves et douloureuses d econvenues. *. Les tendances obersv ees ces derniers mois - professionnalisation et criminilisation de lactivit e - en renforcent la port ee et lacuit e. Si les d eveloppeurs dhier cherchaient une certaine forme de gloire et la renomm ee - par des moyens certes r epr ehensibles - les motivations de leurs successeurs sont plus sonnantes et tr ebuchantes - les moyens restant tout aussi sinon plus encore r epr ehensibles. Les co uts engendr es par les oeuvres des premiers etaient essentiellement indirects. Ils couvraient les op erations de restauration ou de reconstitution des donn ees perdues ou corrompues et de nettoyage ou de reconstruction des syst` emes infect es. Quand il y avait vol ou d etournement, c etait g en eralement celui de ressources syst` emes ou r eseaux. Les eets de celles des seconds sont beaucoup plus directs pour leurs victimes : le vol de donn ees, didentiants et didentit es ayant pour but de d etourner ou dextorquer des fonds. Les solutions antivirus occupent depuis ces derni` eres ann ees une place de choix dans larsenal d efensif des ordinateurs et des r eseaux connect es ` a Internet. Ces solutions prennent souvent la forme de passerelles sp ecialis ees dans lanalyse et le nettoyage de certains protocoles, au premier rang desquels SMTP, tant il est vrai que la messagerie electronique est encore (mais pour combien de temps ?) le principal point dentr ee et vecteur de propagation des infections informatiques. Depuis ses d ebuts, la lutte antivirale est une lutte continuelle entre l ep ee et le bouclier associ ee ` a un jeu du chat et de la souris lui-m eme doubl e dune course aux armements. Dit plus sobrement, les cr eateurs de virus nont pas tard e a inclure dans leurs productions des m ` ecanismes anti-antivirus dont les objectifs sont demp echer la d etection et dinterdire lanalyse du code. La pr esentation

Actes du symposium SSTIC05

exhaustive de ces techniques d epasse tr` es largement le cadre du pr esent document dans lequel nous nous int eresserons plus particuli` erement aux m ecanismes utilis es pour contourner les passerelles antivirus. Pourquoi sint eresser aux passerelles ? La nature profonde et les motivations des attaquants nous poussent ` a croire que ces protections seront t ot ou tard prises pour cibles comme le sont d ej` a les logiciels install es sur les postes de travail. Si les entreprises sont dans lensemble sensibilis ees et pour la plupart assez bien equip ees contre le risque viral, il nen est pas encore de m eme pour les particuliers. Or avec la d emocratisation r ecente et galopante des moyens de connexion permanente et ` a haut d ebit ` a Internet, cette cat egorie dutilisateurs risque de devenir une cible privil egi ee. Le fait que la plupart des internautes ne sont pas des professionnels de linformatique ni de la s ecurit e accro t leur exposition et leur vuln erabilit e` a lheure du click connect & go g en eralis e. Labsence de r` egles et d equipes dadministration, de d eploiement et de maintenance des syst` emes informatiques rend la t ache plus ais ee encore ` a lattaquant qui ira toujours au plus facile. Enn, voler 10 euros ` a 10.000 personnes que rien ne lie pr esente beaucoup moins de risque que voler 1 millions deuros ` a une soci et e du CAC40. Pour illustrer ce fait, citons un cas, survenu dans les tous premiers mois de lann ee 2005. Une equipe de pirates allemands a utilis e des virus et des proc ed es dhame connage (phishing) pour extorquer ` a plusieurs milliers dinternautes des petites sommes dargent. Le montant ainsi d etourn ea et e r einvesti dans la location de serveurs do` u ont et e lanc e de vastes op erations de reconnaissance et de compromission de syst` emes ` a travers le monde. Lobjectif nal etait vraisemblablement de constituer une arm ee de machines zombies destin ee ` a faire chanter des sites de commerce ou de jeux en ligne. La mise en oeuvre de passerelles antivirus commence ainsi ` a faire partie de la panoplie des services - gratuits ou payants - des fournisseurs dacc` es et de services1 . Il y a donc tout lieu de penser que les attaques contre ces passerelles seront t ot - si lon est pessimiste - ou tard - si lon est optimiste - int egr ees aux codes malveillants. Do` u lint er` et den comprendre le fonctionnement dans un premier temps, de dresser un etat de lart dans un second puis de suivre les quelques pistes non encore etudi ees an de mieux organiser la d efense.

2
2.1

Un (tout) petit peu de th eorie


Contexte

Commen cons par planter le d ecor : un attaquant souhaite faire entrer dans un syst` eme dinformation un code viral. Dans la suite de ce document et pour les besoins de la d emonstration, nous faisons les hypoth` eses et utilisons les d enitions suivantes : 1. Nous appellons indistinctement attaquant le cr eateur de virus et son code en action ;
1

Citons Yahoo !Mail et Cegetel

Actes du symposium SSTIC05

2. Par syst` eme dinformation nous comprenons aussi bien le r eseau dentreprise ou dune collectivit e que lordinateur individuel du particulier ; 3. Par contournement nous entendons tout dispositif technique - passif ou actif - visant ` a contrevenir ` a une politique de s ecurit e fond ee sur lanalyse de code ex ecutable potentiellement ou express ement malveillant . Cela inclut le camouage de code, le leurre des dispositifs de protection, lutilisation de canaux cach es ou de moyens d etourn es, les attaques contre les protocoles. 4. Le code malveillant a les caract eristiques propres aux virus et vers : notamment, il doit, une fois install e sur un h ote, chercher ` a se reproduire de mani` ere autonome, non discriminante et automatique. Il doit en outre pouvoir faire lobjet dune d etection via une signature. Il ne sagit donc pas dune attaque contre une cible unique pr ealablement identi ee, action qui selon nous rel` eve du piratage. Notre attaquant ne va pas d evelopper un code sp ecique pour arriver ` a ses - funestes et r epr ehensibles - ns. 5. Les techniques de contournement sont destin ees ` a etre int egr ees au code malveillant. Dans le cas dun ver, elles seront ainsi automatiquement exploit ees pour p en etrer dautres syst` emes. Elles devront donc id ealement etre g en eriques et non li ees ` a un produit en particulier. 6. Il existe au moins un logiciel utilis e pour mettre en oeuvre la politique antivirale en au moins un point du syst` eme cible. Ce logiciel utilise des signatures pour d etecter les chiers suspects ou infect es. Pour nir, pr ecisons que lobjectif de lattaquant est bien de passer ` a travers les mailles du let antivirus et non de le d etruire ou lendommager. Nous n etudierons donc pas les techniques qui visent ` a faire planter les logiciels antivirus ni celles qui portent atteinte ` a leur disponibilit e. Ces techniques ont en eet pour r esulter demp echer lanalyse virale... mais rendent souvent impossible le passage du code viral. Nous ne discuterons donc pas des attaques de type Archive Bombing qui consistent ` a faire parvenir a ` lantivirus une archive r ecursive ou compress ee de telle mani` ere que son extraction ou sa d ecompression font exploser les ressources m emoire ou physique du serveur. Nous nous pla cons donc bien dans loptique dun attaquant qui veut leurrer lantivirus. 2.2 Fonctionnement dune passerelle antivirus

Nous allons bri` evement d ecrire le fonctionnement dune passerelle antivirus. Cela nous permettra de mieux comprendre quels sont les angles dattaque que lon peut exploiter pour la leurrer. De la m eme fa con quun antivirus install e sur poste de travail traque les virus sur le(s) disque(s) et dans la m emoire de son h ote, une passerelle antivirus traque toute tentative dinfection ` a partir dun point de contr ole id ealement unique (notion de passage oblig e) sur le r eseau. La principale di erence avec le logiciel destin e au poste de travail tient en ce que lanalyse se fait quasiexclusivement sur le contenu des chiers ` a partir de leur signature ou empreinte.

Actes du symposium SSTIC05

Les notions danalyse heuristique ou d emulation, qui permettent dans certains cas de d etecter des codes pour lesquels ils nexiste pas de signature, ne sont, a notre connaissance, que rarement utilis ` ees sur des passerelles. La raison en est relativement simple et facile ` a comprendre : si un logiciel destin e au poste de travail connait lenvironnement logiciel et mat eriel (notamment le type de processeur) sur lequel il est install e - et notamment le syst` eme dexploitation de son h ote - une passerelle ne peut raisonnablement emuler et interpr eter les appels syst` emes et commandes sp eciques ` a plusieurs syst` emes dexploitation di erents et micro-processeurs. Une passerelle se doit donc d etre neutre en la mati` ere et ne doit faire aucune pr esomption qui soit bas ee sur des crit` eres tels que : syst` eme dexploitation cible, architecture mat erielle sous-jacente, logiciels pr esents ou non sur les h otes destinataires du code analys e, utilitaires de compression, etc. Nous reviendrons plus loin dans ce document sur les raisons evidentes - de cette neutralit e. Autre facteur qui compromet lemploi des m ethodes danalyse autre que par signature : le temps. Lutilisation dune passerelle nest en eet pas neutre sur la cha ne de ux prise dans son ensemble. Si la passerelle constitue un point de passage oblig e - chose souhaitable - elle repr esente une etape supl ementaire sur le trajet des donn ees. Dans le cas de protocoles non ou faiblement interactifs tels que SMTP, cette etape suppl ementaire et la latence quelle g en` ere ne sont pas bloquantes. Par contre, les protocoles fortement interactifs comme HTTP ou FTP ne peuvent supporter un temps danalyse trop long : les logiciels clients peuvent avoir comme f acheuse habitude de fermer les sessions trop lentes ( timeout ou lutilisateur perdre rapidement patience. Do` u la n ecessit e dutiliser les m ethodes les plus rapides. Ce sont les plus simples... et les plus simplistes ! Le tableau ci-dessous pr esente une vision l eg` erement simpli ee du traitement des ux soumis ` a la passerelle : Il est important de comprendre que lantivirus (terme qui d esigne dans la suite de cet article aussi bien la passerelle antivirus que le logiciel antivirus ` a proprement parler) nanalyse pas les paquets ` a la vol ee pris en dehors de leur contexte applicatif. La premi` ere cons equence est que lanalyse induit - nous lavons d ej` a dit in evitablement une latence dans le cheminement des ux, plus ou moins importante suivant la taille et le nombre de chiers contenus dans une session. Dans la plupart des cas, notamment dans celui des echanges de messages electroniques, cette latence na quune faible importance, compte tenu du caract` ere asycnhrone des echanges entre utilisateurs. Mais dans dautres cas, notamment dans celui des ux HTTP, cette latence peut etre p enalisante et constituer un point faible apparent aux yeux de lutilisateur et donc une tentation pour ce dernier d echapper a ` la passerelle. La seconde cons equence est que lantivirus doit savoir comment interpr eter des ux r eseau pour les remettre dans un contexte applicatif. Deux cas de gure : 1. Lantivirus utilise des fonctions de d ecodage embarqu ees dans son code. Lavantage que pr esente cette option est de rendre lantivirus autonome. Lin-

Actes du symposium SSTIC05 Etape 1. Reconstruction du contexte applicatif Entr ee Trac IP Sortie Session applicative

Exemple : dans le cas du trac SMTP, la sortie est le message electronique dans sa totalit e : en-t ete contenu, pi` eces jointes. 2. Recherche et extraction Session reconstruite Fichiers dans leur forme des chiers contenus l etape pr ec edente brute . dans la sessions Exemple : toujours dans dans le cas dun message electronique, il sagit des pi` eces jointes seules ou du contenu du message. 3. Analyse antivirus Fichiers extraits ` a Pour chaque chier un code l etape pr ec edente retour OK / INFECTE ; Voir tableau ci-dessous pour le d etail de cette etape. 4. Traitement du code Code retour : OK : chier remis dans sa retour OK/INFECTE forme dentr ee. INFECTE : message dalerte. Le chier peut etre joint tel quel, mis en quarantaine sur la passerelle ou d etruit. 5. Reconstruction Sortie pr ec edente Session reconstruite ` a de la session l etape 2. 6. R e emission Session Trac IP. sur le r eseau reconstruite Tab. 1. Traitement des ux soumis ` a la passerelle

conv enient est den alourdir le code et den multiplier les fonctions internes et, par voie de cons equence, le nombre potentiel de bogues. La maintenance et la mise ` a jour du code devient egalement probl ematique puisquil doit prendre en compte les evolutions du chaque protocole support e et la correction de chaque faiblesse pour chacun deux ; 2. Il fait appel ` a des programmes externes charg es de reconstruire le contexte applicatif. Exemple : le serveur mandataire Squid peut etre utilis e pour traiter les ux HTTP ou FTP. Lantivirus agit comme redirecteur. Lanalyse est donc pilot ee par le serveur Squid dont la conguration peut alors comporter des failles qui permettront ` a lattaquant de contourner lantivirus. Une fois reconstitu e le contexte applicatif, lantivirus doit identier les chiers contenus dans la session, les extraire et les analyser un par un.

Actes du symposium SSTIC05

Cette seconde etape suit un processus classique qui nest pas ` a proprement parler sp ecique au mode de fonctionnement de la passerelle et que r esume le tableau ci-dessous : Warning : TRIAL RESTRICTION Table omitted ! Notes : 1. Les etapes 1 et 2 peuvent etre successives, ` a savoir quune archive peut etre compress ee et sera donc d ecompresss ee avant den extraire les chiers contenus, ou optionnelles si le chier nest ni une archive ni compress e. 2. Dans certains cas, la derni` ere etape peut etre compl et ee par un nettoyage du chier quand le logiciel utilis e apporte cette fonctionnalit e. Pour la premi` ere etape, l` a encore, lantivirus peut sappuyer sur des fonctionnalit es de d ecompression et de d esarchivage internes ou bien sur les utilitaires du syst` eme sur lequel il est install e. Les avantages et les inconv enients sont les m emes que ceux d ecrits pr ec edemment pour linterpr etation des protocoles. Int eressons-nous ` a l etape 3. Ce sont les techniques danalyse statique qui sont utilis ees pour identier les codes viraux. Ces techniques reposent sur ce quil est convenu dappeler des signatures. Une signature peut etre : 1. Lempreinte cryptographique (hachage) dun chier. Ce type de signature a pour avantage de sappuyer sur un calcul able ou r eput e tel et d etre relativement facile et rapide ` a obtenir. Par contre, il ne permet pas de d etecter des variantes et il sut ` a lattaquant de ne modier ne serait-ce quun seul bit du chier qui a servi ` a calculer lempreinte pour rendre celle-ci inexploitable. Cela nest pas compliqu e` a obtenir : il sut dinclure des donn ees al eatoires dans les parties du code non utiles pour fausser le calcul de lempreinte. 2. Une suite d el ements caract eristiques du contenu du chier : suite hexad ecimale, texte, etc. Dans cette forme, une signature peut etre simple (constitu ee dune chaine unique) ou complexe (type : recherche la chaine hexad ecimale X ` a tel adresse du chier ET la chaine Y N octets plus loin, etc.) 3. La signature que le virus ins` ere dans dans les chiers infect es pour eviter la surinfection ; 4. Des caract eristiques externes dun chier : nom, taille, encodage, etc. 5. Un mix de tout cela. Id ealement, une signature virale doit permettre didentier ` a coup s ur un code malveillant et ne doit pas g en erer de faux positifs (surtout lorsque loption de d etruire un chier suspect a et e retenue). 2.3 Techniques de base de contournement

Compte tenu de ce qui a et e expos e pr ec edemment, il devrait apparaitre clairement ` a tout un chacun que les techniques de contournement sont multiples (pour ne pas dire l egion). Des deux tableaux qui pr ec` edent on peut tirer les angles dattaques suivants :

Actes du symposium SSTIC05

1. incapacit e` a traiter un protocole ; 2. incapacit e` a identier et extraire un chier dune session reconstitu ee ; 3. incapacit ea ` d ecoder le chier compress e / archiv e; 4. absence de signature ; nous consid` ererons dans la suite de cet article que ce cas de gure est exceptionnel m eme si cest un risque bien r eel auquel sont expos es les administrateurs syst` emes de mani` ere quotidienne ! Il est entendu que le terme incapacit e doit etre compris dans un sens tr` es large. Nous ne nous int eresserons cependant quaux cas dans lesquels cette incapacit e r esulte dune attaque et non dun bogue du logiciel. Par contre, nous retenons le cas dune attaque contre la conguration des logiciels utilis es. Pour contourner la passerelle, lattaquant peut donc agir sur : 1. le protocole ; 2. le format du vecteur de transport du code viral (par exemple le message electronique, la page web, etc.) ; 3. le format du chier contenant le code viral ; 4. la conguration de la passerelle (par exemple en faisant lhypoth` ese que lanalyse ne se fait pas sur tous les ux mais seulement sur les ux entrants) ; 5. le comportement de lutilisateur (ce dernier est en eet l element d eclencheur de linfection, bien entendu ` a linsu de son plein gr e...).

Vif du sujet

Nous allons dans cette section passer en revue les angles cit es pr ec edemment en les abordant dun point de vue pratique. 3.1 Techniques de contournement simples

Attaques fond ees sur le protocole Lobjectif de cette classe dattaques est simple : interdire la reconstruction de la session. La dicult e de la chose r eside dans le fait que si la passerelle ne doit pas pouvoir reconstruire cette session, le logiciel client destinataire nale doit pouvoir le faire sans probl` eme. A moins de tomber sur des logiciels qui, croyant bien faire, ne se formalisent pas trop des violations de certaines RFCs et passent outre certains types danomalies protocolaires, cette cat egorie dattaques pr esente peu dint er` et. Pour cette raison, nous nous int eresserons aux attaques fond ees sur le protocole plut ot quaux attaques contre un protocole. En eet, la fa con la plus simple dinterdire la reconstruction de la session est dutiliser les protocoles chir es. Cela ne constitue pas ` a proprement parler une attaque mais cest un moyen tr` es ecace. Ainsi, un mandataire Squid se contentera de faire transiter les ux via une directive CONNECT au nez et ` a la barbe de lantivirus. Il faut pour cela que le code viral sache utiliser ces protocoles. Il est possible que le code comporte les fonctionnalit es n ecessaires ` a la mise en oeuvre des

Actes du symposium SSTIC05

protocoles chir es. Cest le cas le plus favorable car le code serait autonome mais cest aussi le moins r ealiste compte tenu de la complexit e et du co ut de d eveloppement de ces fonctions et du caract` ere al eatoire de r eussite. Une attaque couramment utilis ee et qui sappuie sur le protocole consiste ` a emp echer non pas la reconstruction de la session mais sa transmission ` a lantivirus. Dans le cas dune passerelle SMTP, cela revient ` a interrompre ou g en erer une exception dans le dialogue SMTP. Le client (cest-` a-dire lattaquant) initialise une connexion normale avec le serveur. Ladresse envoy ee par lattaquant lors de la commande MAIL FROM est usurp ee mais valide. La phase denvoi des donn ees (DATA) est volontairement mal termin ee an que le serveur renvoie ` a lexp editeur apparent du message un avis derreur. Tr` es souvent, cet avis est accompagn e du message dorigine, pi` eces jointes incluses. Lexp editeur dont ladresse a et e usurp ee se voit donc remettre un message contenant neuf fois sur dix un virus, le tout, comble de lironie, en provenance de la passerelle antivirus... Cette m ethode permet ainsi des attaques par rebonds (ou par r eexion). Format du vecteur Les attaques de cette seconde classe ont pour objectif, la session etant reconstruite, demp echer la d etection ou lextraction des chiers quelle contient. En r esum e, il sagit pour lattaquant de cacher ` a lantivirus la pr esence de chiers pour que la session soit d eclar ee correcte et sans danger puis transmise ` a son destinataire nal. Lune des m ethodes les plmus r epandues consiste ` a jouer avec lencodage MIME. Cette m ethode pr esent egalement lint er` et d etre multi-protocoles. Elle peut servir ` a contourner autant que faire se peut les m ethodes de ltrage antispam et antiphishing fond ees sur la d etection dURL. SMTP Dans le cas dun message electronique, cela peut consister ` a utiliser un type dencodage MIME volontairement biais e ou obfusqu e . Une technique tr` es simple consiste ` a jouer sur la casse utilis ee pour les champs des en-t etes et varier, par exemple, lettres majuscules et minuscules. De nombreuses passerelles ne savaient alors plus traiter les messages ainsi format es. Il existe dautres techniques fond ees sur lencodage MIME. Il est ainsi possible de modier le type associ e` a une pi` ece jointe. Lattaquant d eclare un chier ex ecutable comme etant un chier son (Content-type : audio/x-wav). Dans certains cas, le logiciel client adaptera son comportement au type du chier joint alors que lantivirus aura fait conance au type d eclar e. Autre variante : la d eclaration du bon type de document mais sans indication du nom du chier joint. Lusage veut que dans pareil cas ce soit le clainet de massagerie qui d ecide de la fa con douvrir ce document sans nom. Malheureusement, de nombreuses passerelles antivirus ignoraient tout simplement ces pi` eces et ne les analysaient pas. Des attaques plus pr ecises existent enn, qui se fondent sur des particularit es de Microsoft Outlook, comme celle qui consiste ` a utiliser la syntaxe CLSID

Actes du symposium SSTIC05

comme extension du chier joint. Cette syntaxe se caract erise par lemploi daccolades dans lextension du chier, accolades qui pouvaient tromper les passerelles sur le type r eel du chier transmis. L` a encore, lobjectif de lattaquant est d echapper ` a lanalyse. HTTP Des techniques similaires sont aussi utilis ees pour passer outre les r` egles de ltrage des ux HTTP. Il existe m eme des outils qui automatisent les transformations et les op erations de camouage dURL. Citons ` a titre dexemple pHproxy (http ://ice.citizenlab.org/projects/phproxy/). Une trarnsformation des plus ais ees consiste ` a encoder les donn ees en BASE64, format que la plupart des outils de ltrage - antivirus inclus - ne traitent pas syst ematiquement. Autre exemple valable pour le serveur mandataire HTTP Squid : linsertion dune chaine de caract` eres dans une URL permettait, avec des versions 2.4 de cet outil, d echapper ` a certaines ACL, notamment celles responsables de la redirection des ux vers un antivirus. Format du chier La manipulation des formats de chiers est peut- etre encore - la m ethode la plus souvent employ ee pour tromper un antivirus. Lattaquant peut agir principalement sur deux manettes : le format darchivage et la compression. Il peut aussi ins erer du code viral dans des formats de chiers consid er es - ` a tort - comme s ur auparavant, comme ce fut r ecemment le cas avec les chiers JPEG (` a quand les virus PDF ?). Sans oublier quil peut egalement chercher ` a ins erer son code dans des formats de chiers non encore utilis es, et b en ecier ainsi dun eet de surprise. Archivage Agir sur le format darchivage dun chier consiste ` a exploiter le facteur temps qui joue contre lantivirus. Bien souvent, cela conduit les d eveloppeurs ou les administrateurs des passerelles ` a faire des choix pour r eduire les temps danalyse. Par exemple, il peut etre d ecid e de ne pas extraire les archives au-del` a dun certain seuil de r ecursion, la r ecursion dans ce contexte etant lde fait pour une archive den contenir elle-m eme une autre, cette derni` ere en contenant elle-m eme une autre, et ainsi de suite (eet Vache qui rit ). Dune part lextraction cons ecutive de plusieurs archives est un processus consommateur en temps. Dautre part, cela pr esente un danger : celui d epuiser les ressources - m emoire ou disque - de la passerelle dans les cas o` u larchive est volontairement pi eg ee. La solution consiste ` a d eclarer infect ee toute archive qui d epasse un certain seuil de r ecursion, avec le risque de g en erer de nombreux faux-positifs et de devoir c eder face au m econtentement des utilisateurs. En sens inverse, accepter de laisser passer un chier au-del` a de ce seuil sans analyser son contenu constitue une voie de p en etration royale pour les virus. Le pire des cas de gure reste celui o` u lantivirus poss` ede des limites internes ou utilise des param` etres de conguration non document es qui aboutissent ` a un

10

Actes du symposium SSTIC05

laisser passer inconscient. Ce cas de gure sest d ej` a vu : certains produits, toujours dans loptique de r eduire les temps de traitement, se contentaient par d efaut de ne rechercher les codes viraux que dans les premiers kilo-octets des chiers analys es. La multiplicit e des formats joue aussi en faveur de lattaquant, parfois dans des cas que lon attendrait pas. Des versions encore r ecentes de lantivirus ClamAV ne reconnaissaient pas le format TAR utilis e pour diuser le code m eme de ce logiciel. Le code etant accompagn e de chiers de test, il etait possible danalyse larchive avec le moteur ClamAV sans que celui-ci ny d etecte les chiers de test quil reconnaissait par contre fort bien une fois larchive extraite... Compression Les remarques pr ec edentes sappliquent egalement au mode de compression. Un chier peut etre compress e plusieurs fois dans le but de ralentir le processus danalyse. La compression r ecursive peut aussi etre utilis ee pour construire des chiers pi eg es dans louverture aboutit a ` la mise hors service de lantivirus par epuisement de ses ressources. Une autre m ethode plus subtile dutilisation de la compression pour leurrer lantivirus consiste ` a utiliser des formats peu utilis es dans lespoir - souvent exauc e - que la passerelle, ne sachant ouvrir les chiers ainsi compress es, ne saura les analyser. R ecemment, le format RAR a ainsi et e retenu dans ce but. Heureusement, ce type de faille est g en eralement rapidement combl ee par les editeurs. Il faudrait pour bien faire imposer ` a lensemble de ces utilisateurs lutilisation de quelques formats de compression - et darchivage - bien contr ol es, mais cela induit une bien trop grande contrainte, notamment vis-` a-vis des correspondants externes. Panachage Noublions pas de dire que les m ethodes pr ec edentes peuvent - et sont souvent - utilis ees conjointement, parfois avec succ` es. Il nest ainsi pas rare de trouver des archives compress ees contenant des achives compress ees avec un utilitaire di erent. Exemple (volontairement tir e par les cheveux) : une archive TAR compress ee avec Gzip contenant une archive ZIP Bzipp ee. Maquillage dextensions Cette m ethode assez ancienne ne devrait plus tromper grand monde. Pourtant, son utilisation est encore courante. Cependant, plus que tromper lantivirus qui ferait encore conance ` a la seule extension dun chier pour d ecider de son analyse, elle est plus vraisemblablement destin ee ` a tromper la vigilance de lutilisateur ou de son logiciel de messagerie qui sarr eterait ` a la premi` ere extension visible pour v erier le type du chier ainsi transmis et cliquer. Exemple fr equemment rencontr e : naked woman.jpg. [nombreux espaces ] .exe Nouveaux formats de chiers Trouver de nouveaux vecteurs de propagation est un des sports favoris des cr eateurs de virus. Une telle d ecouverte permet en eet

Actes du symposium SSTIC05

11

de b en ecier, pendant un certain temps, dun eet de surprise et de prendre sur les editeurs dantivirus une longueur davance, m eme temporaire. R ecemment, les chiers TNEF utilis es par Microsoft Outlook ont ainsi servis de supports ` a des infections jusqu` a ce que les antivirus soient mis ` a jour pour supporter ce format dont lacronyme nest pas d enu e dune certaine ironie : Transport Neutral Enconding Format. Attaques par rebonds Nous avons d ecrit plus haut une attaque de ce type mais cette technique sapplique ` a dautres cas. Lexemple le plus simple consiste ` a utiliser un format de chier peu usit e sur certaines plates-formes mais plus r epandus et inoensifs sur dautres, ce que le sc enario suivant illustrera mieux quun long discours. Un code viral pour plates-formes WinTel est envoy e dans un format lisible uniquement sur Apple Mac. Si la passerelle na et e congur ee que pour supporter les formats pour WinTel, ce chier passera inaper cu. Dans une version simple de ce sc enario, lutilisateur destinataire du chier demandera ` a un coll` egue Macistes de bien vouloir lui covnertir cette archive tr` es importante re cue dun ami russe dont il ignorait cinq minutes auparavant lexistence. Variante : le message qui v ehicule larchive comporte lURL dun site qui justement fourni lutiliraire de d ecompression idoine qui permettra de visionner le contenu du chier naked girl.sit sous MS Windows... Une variante plus elabor ee consiste ` a utiliser des virus de macros MS Oce dont certaines ne seront ex ecutables que sous une plate-forme donn ee. Lid ee l` a encore est de pousser lutilisateur ) diuser ces chiers ` a lint erieur du r eseau une fois franchies les barri` eres antivirus. Ces techniques justient quun logiciel antivirus pour passerelle doit etre capable danalyser des chiers sans faire de pr esomptions quant aux plates-formes prot eg ees. Cela sapplique aux formats darchivage, de compression et aux macros. Comportement de lutilisateur Derni` ere manette sur laquelle il est possible dagir : lutilisateur. Disons le tout de suite : cest la m ethode parfois la plus simple et tr` es souvent la plus ecace. Cela peut aller de lincitation de t el echarger et dinstaller lui-m eme le code viral sous des pr etextes divers et vari es, les visionneuses vid eos ayant, allez savoir pourquoi, beaucoup de succ` es, ` a la fourniture de donn ees personnelles sans utilisation de code ex ecutable. Lhame connage (phishing) serait ainsi un exemple ultime dinfection comportementale. Lutilisateur peut une fois encore etre loutil dune attaque par rebonds. Par exemple, il peut etre invit e` a t el echarger depuis son ordinateur un utilitaire de sauvegarde du carnet dadresses de son GSM, utilitaire qui contiendra un virus pour mobile. Le monde sans l - WiFi, Bluetooth - nest pas encore totalement int egr e dans les politiques de protection antivirus m eme si il fait de plus en plus partie du p erim` etre du r eseau de lentreprise.

12

Actes du symposium SSTIC05

3.2

Techniques avanc ees

A c ot e des techniques somme toute relativement simples d ecrites dans les pr ec edents paragraphes, il existe, certes sous forme encore th eorique, des strat egies plus elabor ees. Code modulaire Cette technique consiste ` a envoyer le code viral en deux ou plusieurs composants dapparence anodins mais qui, assembl es, r ev` elent toute leur capacit e de nuisance. Elle sinspire de ce qui se fait dans le domaine de la guerre chimique et bact eriologique. Un exemple imparfait consiste ` a envoyer le code actif dans un chier ZIP avec mot de passe, et le mot de passe dans un second message. Un exemple plus proche de l esprit NBC2 consisterait ` a envoyer dans deux messages distincts une charge inerte et son d etonateur. On peut penser ` a une image pi eg ee et ` a une visionneuse contenant les fonctions dactivation. Utilisation de plusieurs canaux Les techniques pr ec edentes peuvent senrichir, si lon peut dire, en variant les canaux utilis es pour v ehiculer les composants. Lexemple le plus simple consiste ` a envoyer lURL dune page pi eg ee dans un message electronique. Lattaquant peut esp erer que lentreprise naura pas encore d eployer dantivirus pour ux HTTP. Les webmails sont des exemples involontaires de p en etration dun r eseau par des canaux d etourn es. Il est entendu que les techniques de camouage MIME d ecrites dans la section pr ec edente sont tout ` a fait exploitables dans ces cas de gure.

Sometimes (sh)it happens...

Certaines des techniques evoqu ees ci-dessus sont loin d etre innovantes ni m eme th eoriques. La liste (non exhautstive) suivante illustre que ceux den face nont pas attendu avant de les mettre en oeuvre : 1. 2004-11-29 : Zip Files Detection Evasion Vulnerability.- De nombreux antivirus ont et e victimes de cette faille qui permettait de camouer la taille r eelle dun chier ZIP. Pour une question de rapidit e dans lanalyse, ces antivirus ne traitaient en eet pas les chiers ZIP dont len-t ete indiquait que leur taille etait... egale ` a z ero ! Les dommages etaient dautant plus grands que les messages parvenaient aux utilisateurs avec une indication faussement rassurante ajout ee par lantivirus. Cette faille etait exploitable sur les produits Computer Associates, Kaspersky, Sophos, et McAfee, pour ne citer que les plus connus. 2. 2004-09-27 : Reserved MS-DOS Name Scan Evasion Vulnerability.Une erreur dans larchitecture dun logiciel antivirus a et e exploit ee pour le contourner. Cette faille permettait de faire passer des chiers en utilisant un certain format pour leur nommage.
2

Acronyme pour Nucl eaire, Biologique, Chimique.

Actes du symposium SSTIC05

13

En guise de conclusion

Cette introduction aux techniques de contournement des passerelles antivirus montre, pour ceux qui en douteraient encore, quune politique de d efense dans la profondeur est la meilleure des protections possibles. Si lantivirus passerelle laisse passer un chier, il faut quune solution install ee sur le poste de travail lintercepte. Ne serait-ce que parce que les techniques heuristiques et les emulateurs ne peuvent sex ecuter que sur les postes de travail. Lore en mati` ere de logiciel Libre, m eme si elle se limite au projet ClamAV, permet de saranchir de la contrainte surco ut nancier . Il apparrait en outre quil devient n ecessaire d equiper les passerelles dune brique suppl ementaire dont la fonction sera de nettoyer les anomalies protocolaires et duniformiser certaines caract eristiques comme les formats dencodage. Cette brique sint` egrera entre le serveur mandataire et lantivirus. Elle est l equivalent de la commande SCRUB pour le pare-feu PF dOpenBSD/FreeBSD. Ceci etant dit, lutilisateur reste le maillon faible de la chaine. Si cet appareil d efensif - passerelles, antivirus sur chaque poste de travail, equipe d edi ee ` a la s ecurit e et ` a sa supervision - est ` a la port ee de nombreuses entreprises, il nen est pas de m eme pour les particuliers. Or ces derniers constituent une cible privil egi ee. Il peut donc etre bon de se poser la question de savoir si leur protection, m eme a minima, ne devrait pas etre une obligation contractuelle ou l egale pour les FAI. Apr` es tout, la gestion des autoroutes par des soci et es priv ees naranchit pas les automobilistes du respect forc e du code de la route...

R ef erences
1. G. Arcas et S. Clodic, ClamAV, lantivirus qui vient du froid, MISC- Le journal de la s ecurit e informatique, num ero 17, janvier 2005.