mercredi 30 avril 2008

Race to Zero : l'embarras des éditeurs d'antivirus

Lors de la prochaine Defcon 16, qui aura lieu du 8 au 10 août prochains à Las Vegas, se déroulera un concours d'un genre un peu particulier dont le but est tout simplement de contourner les logiciels antivirus.

Nommé Race-to-Zero - Threat Obfuscation Contest, il consistera pour ses participants à mettre en oeuvre les techniques de leur choix afin d'évader la détection par différents moteurs antiviraux de plusieurs exemplaires de logiciels malveillants donnés. La première équipe ou personne qui réussit à évader tous les antivirus tout en gardant des codes d'exploitation et des charges utiles fonctionnels gagne !

Dans les règles du concours, les deux éléments suivants peuvent être mis en avant :

  • "Modified samples will not be submitted to antivirus vendors unless authorised by contest participants"
  • "Techniques used to perform mutations will not be submitted to antivirus vendors without contestants approval"

Cela ne va évidemment pas sans troubler les éditeurs concernés qui réagissent plutôt sèchement à cette annonce. L'un des premiers à réagir a été Kaspersky qui, par la voix de son fondateur, parle de concours "anti éthique" ("it is 100% NOT ethical! Writing malware is a crime") et évoque un possible problème de législation américaine ("Is this 'contest' even legal in the US?"). Eugene Kaspersky indique que sa société reçoit déjà suffisamment de malware chaque jour ; un tel concours n'aura selon lui que l'effet d'inciter les cyberciminels à obscurcir encore un peu plus leur virus ("This will send a clear message to thousands of e-criminals: do more obfuscation").

Une autre réaction est celle de McAfee qui n'est pas plus enthousiasmé par la nouvelle. Après avoir rappelé que les antivirus actuels n'ont jamais été conçus pour une détection absolument parfaite ("intended to detect and clean known threats" pour la détection à base de signature, et "basing detection on known bad techniques" pour la détection heuristique), McAfee botte en touche en indiquant que les tests ne semblent de toute façon pas être fiables puisqu'ils n'intègreront qu'une détection statique, qui n'est qu'une partie du processus antiviral ("The results they get will not be what an average user will get"). De plus, un antivirus n'est lui-même qu'un des éléments de la sécurité d'un système d'information ("AV is intended to be one tool in a complete security arsenal").

Prenons un peu de recul. La détection virale est un problème mathématiquement indécidable ; cela a été démontré par F. Cohen dans un ouvrage paru en 1987. Pour ainsi dire, il n'existe pas d'algorithme qui prenne en entrée un algorithme et qui retourne "vrai" si et seulement s'il s'agit d'un virus (la définition d'un virus étant donnée). La partie est donc plutôt mal engagée pour les éditeurs d'antivirus et un tel logiciel ne saurait être parfait. Certains outils tentent de s'en rapprocher, comme par exemple Red Curtain de Mandiant qui est capable de fournir un "indice de suspicion" sur tout binaire, à partir de règles prédéfinies.

Dans le cadre d'un antivirus classique, une détection des menaces connues et d'une parties des menaces inconnues reste possible en se basant principalement sur :

  • un ensemble de signatures statiques, ce qui revient grossièrement à rechercher des octets dans un binaire
  • un ensemble de règles heuristiques ou comportementales dynamiques, permettant de repérer des "mauvais" comportement (par exemple des techniques d'injection de code inter-processus comme le classique mais toujours utilisé OpenProcess/VirtualAllocEx/WriteProcessMemory/CreateRemoteThread ou la modification du fichier C:\WINDOWS\system32\driver\etc\hosts lors de la mise en Å“uvre d'une protection de type HIPS). Problème : ces comportements doivent aussi être connus à l'avance, ce qui revient plus ou moins à faire des signatures de comportement...

Cela nous ramène comme toujours au fameux jeu du chat et de la souris entre les éditeurs de solutions antivirales et les créateurs de virus. Ces derniers utilisent des techniques de plus en plus sophistiquées, par exemple en allant directement modifier certaines structures bien choisies du noyau comme le ferait (ironiquement) un logiciel de sécurité de type anti-virus ou pare-feu, ce qui rend ces malware de type II (au sens de la classification de J. Rutkowska) de plus en plus furtifs.

Au final, c'est l'utilisateur qui reste la clé de voûte du système et qui décidera ou non de mettre à jour son système, de chiffrer ses données ou de cliquer sur le lien "ta tof fais koi sur ce site" qu'il vient de recevoir d'un de ses contacts MSN...

vendredi 25 avril 2008

Santé, stores, mannequinat... : les vraies armes des cybercriminels !

Quel est le point commun entre un magazine santé, un storiste français, un groupe d’édition et de communication brésilien, ou une agence de mannequins parisienne voire un musée à Hawaii ? Aucun à première vue, si ce n’est que depuis 2007 se sont multipliées sur internet des vagues de spam rédigés en anglais et touchant toutes sortes d’entreprises, en particulier françaises. Jusqu’alors, les réseaux cybercriminels s’étaient plutôt cantonnés à utiliser la sphère financière en proposant des postes de type « gestionnaires de comptes ». Les sociétés écran -fictives ou usurpant l'identité d'une entreprise existante-, utilisées jusqu'alors étaient établies principalement dans des pays anglo-saxons ou africains. Désormais, la donne semble avoir changé et n’importe quelle entreprise présente sur Internet peut être victime d’usurpation d’identité dans le cadre de campagne de recrutement de mules.

Principe de l’arnaque :

Les « mules » sont des intermédiaires recrutés par des "crapules sans scrupule" (sic) dans le cadre d’opérations de blanchiment d’argent. Le schéma de recrutement est généralement centré autour d’une proposition de travail alléchante : le destinataire du courriel de recrutement se voit offrir une opportunité de travailler pour une compagnie quelques heures par semaine et à partir de son domicile, contre une rémunération élevée. La tâche de la « mule » consiste à recevoir sur son compte en banque des sommes d’argent provenant de « partenaires » de la société –fictive –, puis de les retransmettre à un destinataire spécifié par les fraudeurs via un compte de type Western Union ou Money Gram, en conservant au passage une commission. Le passage par les différents intermédiaires, dont la « mule » et les sociétés de transfert de fonds, permet d’anonymiser le destinataire effectif des fonds détournés.

Exemple de spam :

XXXX is currently looking for English Corrections Officer. We currently need three english corrections officer, someone who can edit our customer service messages and correct errors in our english customer service messages. This is an opportunity is open to anyone who know how to write english without errors and someone who can correct mistakes/errors in English language and we also need someone who will be working as our agent. You are required to work for one hour daily by checking your email for our customer service message and edit it because of correction and other english errors.

WHAT WE EXPECT FROM A CANDIDATE:
- Applicants must be living in USA,Canada or Australia.
- Applicants must be high school or vocational high school graduates.
- Above 18 years old.
- Confident computer skills.
- Applicants must be avaliable to check his/her e-mail messagesbetween 7am - 12noon.
- Good working relationship with new people.
- Required to be online at least 1-3hours and 2 days per week.

WHAT WE OFFER
- Speedy career progress
- High earnings plus performance results bonus.
- A Personal Toshiba Laptop.
- Weekly payment of $250.00.
- Monthly Salary : Starting from $10,000 - $55,000.00.

To apply please send your CV/Resume to our email:
Nomdelentrepriseusurpée@temporaryforwarding.com
Nom du responsable fictif
Website : http://www.siteofficieldel’entrepriseusurpée.com


En substance, le message, qui semble émaner d’entreprises françaises respectables, propose de recruter des correcteurs/relecteurs (un « English correction Officer », par exemple) pour développer des activités dans le monde anglo-saxon. Ce réseau de recrutement de mules usurpe directement l’identité de sociétés existantes et dont la probité est assurée dans leur pays d’origine. Mais ils s’attachent à viser des « publics » qui auront du mal à vérifier la crédibilité d’une annonce. Ainsi, il est plus difficile pour un anglo-saxon d’évaluer la validité d'une telle offre, puisqu’une recherche superficielle renvoie inévitablement à une entreprise jugée fiable. Par ailleurs, le poste de « relecteur pour le service client » n’est pas un intitulé de poste suspect traditionnel, auquel le grand public peut être sensibilisé. Il n’est en effet plus seulement question uniquement de transferts monétaires, ce qui contribue encore une fois à entretenir la confusion.

Perspectives – niveau de risque :

Pour l’heure, le niveau de risque reste assez faible. Peu d’entreprises ont pour l’instant été les cibles de telles atteintes. Toutefois, le niveau de sophistication croissant des schémas de recrutement de mules incite à la prudence. Ces campagnes de spam restent pour l’heure dirigées vers des cibles anglo-saxonnes (et plus particulièrement en Australie/Nouvelle-Zélande). Néanmoins, cet exemple marque bien le fait que, désormais, plus aucune entreprise n’est à l’abri du risque lié à l’usurpation d’identité sur Internet. Le monde de l’interlope est capable de détourner à son profit n’importe quel secteur d’activité, principalement en jouant sur la distance, la barrière linguistique, mais aussi la naïveté et le manque de sensibilisation des particuliers (et des entreprises) face à ces arnaques.
N’a-t-on pas déjà lu qu'un professeur d’une école de commerce française renommée aurait transmis à ses élèves une annonce frauduleuse de ce type ?

samedi 19 avril 2008

Ceci n'est pas un malware

Les malware et plus généralement l'écosystème dont ils sont issus exerce une fascination et un attrait particulier. Celui-ci est sans doute dû à la capacité des groupes de pirates à (entre autres) :

  • cannibaliser des réseaux informatique,
  • propager des quantités industrielles de spams, chevaux de Troie, rootkits et autres codes malicieux,
  • amasser des quantités phénoménales de données personnelles d'internautes,
  • et bâtir des fortunes tout en évoluant loin des sphères économiques classiques.

Les analystes que nous sommes, tout entier absorbés par nos recherches, n'échappent pas à ce paradoxe "attraction-répulsion" induit par nos cibles quotidiennes. De manière plus étonnante mais finalement assez logique, le milieu artistique s'intéresse également à cette autre forme de "création".

En 2001 déjà, à la biennale de Venise, un virus -Bienale.py, par les groupes European Net Art Collective et epidemiC- s'était introduit parmi les oeuvres, mais sans aucune finalité crapuleuse ou fonction destructive. Celui-ci était programmé en Python, disposait d'un code source ouvert imprimé sur des t-shirts et distribué via des CD-ROM. Les auteurs, pionniers du genre, avaient par ailleurs gentiment averti les éditeurs anti-virus et ont justifié leur démarche en ces termes :

La création ex abrupto d’un virus libre et exempt de tout but ou de toute cible, est dans le pire des cas (...) un étalonnage des limites du Net. Mais dans le meilleur des cas, c’est une forme de contre-pouvoir global. Il s’oppose aux pouvoirs les plus importants, les soumets à un nouvel équilibre, les secoue, les rassemble. Une idée neuve, celle d’un "virus qui n’est pas simplement un virus" est en train de se faire accepter, accompagnée d’une autre : il s’agit d’une percée sociale au sein de la plus sociale de toutes les matières : le Net. CQFD.

De manière plus ludique, le virus Newton, créé en 2006 par le collectif Troïka affecte uniquement Mac OS X (considéré comme un terrain vierge) et donne une sensation de gravité à l'ensemble des éléments présents sur l'écran. Celui-ci est d'ailleurs présenté comme une oeuvre et se trouve actuellement présenté au MoMA de New York dans le cadre de l'exposition Design and the Elastic Mind.


MALWAREZ

malware

Plus récemment, et d'une manière moins conceptuelle, l'artiste roumain, Alex Dragulescu, s'est intéressé aux virus et aux spams, en cherchant à leur donner une perspective visuelle à partir d'une modélisation numérique avec sa série malwarez. Cette représentation en 3D est issue à la fois d'une recherche graphique mais également d'un vrai travail de programmation :

For each piece of disassembled code, API calls, memory addresses and subroutines are tracked and analyzed. Their frequency, density and grouping are mapped to the inputs of an algorithm that grows a virtual 3D entity. Therefore the patterns and rhythms found in the data drive the configuration of the artificial organism.

Le résultat est intéressant et permet de caractériser le malware selon des critères purement formels.

Le spam est également un terreau fertile pour les créateurs. Outre les séries Spam Architecture ou Spam Plants du même Alex Dragulescu, divers artistes ont utilisé cette masse "d'indésirables" comme support d'une nouvelle forme créatrice.

Ce thème est dorénavant présent dans les grands rendez-vous de l'art contemporain. L'artiste Bill Shackelford a créé une machine articulée autour d'un PC, d'une imprimante et d'une broyeuse. Le but : récupérer les spams, les imprimer les éliminer... physiquement. Cette oeuvre a été présentée lors d'une exposition thématique autour du spam à Barcelone dans le cadre du Festival Sonar en 2007. On pouvait y voir entre autre le travail de Jonathan Land, qui s'est attaché à répondre à certains spams et les a compilé dans un livre, celui d'un collectif qui propose une webradio diffusant du spam en continu ou encore les performances entièrement inspirées du "scam 419" de Dean Cameron.


Faire éclore de cette matière virtuelle, foncièrement nocive, une dimension esthétique permet à l'analyste de prendre du recul et de changer de perspective. Nécessaire parfois.

mercredi 16 avril 2008

Vices et Vertu

Vertu est une marque de téléphones haut de gamme du groupe Nokia. Certaines éditions limitées, incrustées de pierres précieuses, peuvent s'échanger jusqu'à 300.000 $ ! Il n'a donc pas fallu longtemps aux cybercriminels pour exploiter cette branche du filon : "contrefaçon de produits de luxe". Des campagnes régulières de spam font ainsi la promotion de sites de vente de "répliques" (vertu-zoom.com, vertu-site.ru, vertucopies.com, etc.) de ces mobiles.

Cette citation de Gregorio Maranon est donc à rappeler à ceux qui seraient tentés de succomber trop vite aux "sirènes" transmises en masse par email.

"La rapidité qui est une vertu, engendre son vice qui est la hâte."



Dans le détail, un spam provenant d'une machine d'un FAI letton complètement vérolée (et de ce fait référencée par une bonne dizaines de listes noires de lutte contre le spam), nous est parvenu aujourd'hui. Le message redirige la victime vers un site de vente de mobiles à prix très (trop?) réduits, Luxvertu.com. Selon le spammeur, cet email est transmis suite à une souscription de notre adresse à "MSN Featured Offers". Bien évidemment...

En analysant le site, on remarque que le domaine usurpant la marque Vertu est déposé avec des coordonnées fantaisistes auprès du "célèbre" bureau d'enregistrement Estdomains, tandis que le site est hébergé par le non moins célèbre opérateur "bullet-proof" HostFresh. L'adresse email utilisée pour enregistrer ce domaine, swissXXXX(at)yandex.ru, ne laisse quant à elle peu de place au doute sur la crédibilité et la nationalité de l'individu à l'origine de ce cas.

Plus encore que l'analyse des flux de spam, une surveillance des noms de domaine déposés, aurait dans ce cas permis de détecter ce type de cas. Ceux-ci sont en effet au centre de la plupart des fraudes rencontrées actuellement sur Internet.

Le contrefacteur a en tout cas bien progressé depuis 2006, lorsqu'il proposait directement ses appareils au sein de commentaires d'articles spécialisés sur les téléphones portables... Il a juste oublié de traduire le lien interne vers la page "Shipping" (cf. /dostavka.php) présent sur le site frauduleux.

10.000 vulnérabilités

Petit plaisir et grand bravo pour toute l'équipe de Veille Technologique Sécurité du CERT-LEXSI : Après avoir démarré il y a déjà huit ans, la 10.000ème vulnérabilité a été qualifiée aujourd'hui depuis notre antenne à Singapour !

mercredi 9 avril 2008

Correctifs Microsoft d'avril... mais pas seulement !

Comme prévu, Microsoft a publié ses traditionnels bulletins de sécurité mensuels. Le menu est plutôt varié puisqu'on y trouve des failles dans le client DNS de Windows, dans le noyau ou encore dans Microsoft Visio et Project. On remarquera aussi le grand retour des failles GDI.

Les vulnérabilités critiques sont les suivantes :

MS08-018 : vulnérabilités permettant l'exécution de code arbitraire en incitant la victime à ouvrir un document Project malveillant (Réf Lexsi 9959)

MS08-021 : deux vulnérabilités dans le composant GDI de Windows permettant d'exécuter du code arbitraire à l'ouverture d'un fichier EMF ou WMF (Réf Lexsi 9956)

MS08-022 : vulnérabilité dans les moteurs VBScript et JScript permettant d'exécuter du code arbitraire (Réf Lexsi 9962)

MS08-023 : vulnérabilités dans un contrôle ActiveX Windows et deux contrôles ActiveX tiers, permettant d'exécuter du code arbitraire via une page HTML malveillante (Réf Lexsi 9958)

MS08-024 : vulnérabilité dans Internet Explorer permettant d'exécuter du code arbitraire via une page HTML malveillante (Réf Lexsi 9963)

Les bulletins suivants sont qualifiés d'importants :

MS08-019 : deux vulnérabilités permettant l'exécution de code arbitraire en incitant la victime à ouvrir un document Visio malveillant (Réf Lexsi 9960)

MS08-020 : vulnérabilité dans le client DNS de Windows permettant d'usurper des réponses DNS (Réf Lexsi 9961)

MS08-025 : vulnérabilité dans le noyau de Windows permettant une élévation locale de privilèges (Réf Lexsi 9957)

Ce "patch day" Microsoft a été une fois de plus l'occasion pour d'autres éditeurs de publier des correctifs pour leurs propres produits, ce qui ne saurait être pris pour une simple coïncidence. On notera par exemple la publication de 33 (!) vulnérabilités dans IBM Lotus Notes (Réf Lexsi 9969). Une partie de ces vulnérabilités affectant le composant tiers Autonomy KeyView, Symantec Mail Security est aussi touché (Réf Lexsi 9970).

Adobe n'est pas en reste avec la publication de la version 9.0.124.0 du lecteur Flash (Réf Lexsi 9964) qui corrige entre autres une vulnérabilité critique permettant d'exécuter du code arbitraire via l'ouverture d'un document Flash, typiquement depuis un site web malveillant.

La sécurité d'un poste de travail ne se limite donc pas aux mises à jour système ; il est primordial de mener un travail de veille sur l'ensemble des applications clientes.

mercredi 2 avril 2008

Poisson d'avril... ou pas - suite

(Rédacteurs : Sylvain Sarméjeanne - Fabien Périgaud)

Dans le billet précédent, nous avions analysé le malware Storm du 1er avril avec des outils automatiques. Cela permet d'obtenir rapidement une première vision des impacts du virus sur un système infecté, et de développer les scripts de désinfection. Pour avoir une vue plus précise de son fonctionnement interne, il est toutefois nécessaire de passer par une analyse manuelle. Une analyse complète n'est pas nécessaire, le but ici est simplement de déterminer quelques point précis.

Unpacking

Le malware étant évidemment "packé", la première phase consiste à retrouver le binaire original. Il faut pour cela exécuter le malware jusqu'à retrouver le point d'entrée original (OEP, ou "Original Entry Point"). En fonction des techniques anti-debug utilisées, cette étape peut demander du temps. Dans le cas présent, l'analyse a été rapide. Sur le schéma ci-dessous, les parties en rouge constituent des routines de chiffrement XOR :

La partie verte contient un CALL vers 0x401327 ; pour passer toute cette partie, il suffit de poser un point d'arrêt au début de cette fonction. Un coup d'oeil rapide à la suite semble indiquer que nous sommes (déjà !) à l'OEP du binaire. Le moins que l'on puisse dire est que ce packer brille par son absence totale de techniques anti-debug...

Le but étant d'arriver le plus vite possible au code malveillant lui-même, on passe très rapidement sur le code, jusqu'à tomber sur un LoadLibraryW("testdll_f.dll") :

Cette bibliothèque n'existe nulle part. Chose étonnante, les bibliothèques externes ne sont pas mappées en mémoire avant cet appel mais le deviennent juste après. Cela mérite bien que l'on s'y attarde quelques secondes.

En revenant en arrière, on note que le malware récupère un handle sur ntdll.dll avec la fonction GetModuleHandleA, puis construit son IAT avec une succession de GetProcAddress :

Suit une boucle dans laquelle le malware :

  • récupère l'adresse de ntdll.dll
  • récupère les adresses de NtOpenFile, NtCreateSection, NtQueryAttributeFile, NtQuerySection, NtClose, NtMapViewOfSection et NtProtectVirtualMemory
  • pose des hooks sur ces fonctions

A l'appel de LoadLibraryW, les hooks modifieront directement le mapping mémoire du binaire.

Peu après le LoadLibraryW, un CALL EAX nous fait arriver en section 0x320000, adresse à laquelle la bibliothèque testdll_f.dll vient d'être mappée :

Nous arrivons donc à l'OEP de cette bibliothèque, qui fait apparaitre des chaînes en clair déjà trouvées lors de l'analyse automatique ("aromis") :

Un LordPE plus tard, on obtient un dump en clair de cette bibliothèque.

Repérage manuel

Encore une fois, il ne s'agit pas de réaliser une analyse complète du malware, mais seulement de repérer ses principales fonctionnalités. Commençons par regarder les fonctions importées. On repère la présence de fonctions relatives au DNS :

Dans les chaînes de caractères qui sont cette fois-ci en clair, on remarque :

  • les fameuses adresses "interdites" auxquelles le malware n'enverra pas de spam (on retrouve par exemple le nom de certaines sociétés anti-virales) :

  • une liste d'extensions de documents dans lequel le virus va rechercher des emails à qui envoyer du spam :

  • des mots clés des protocoles FTP et SMTP :

  • le mot NameServer. Un tour rapide par les XREFs nous apprend l'existence d'une fonction permettant de modifier les serveurs DNS associés à une interface (clé de registre HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ <interface>) :

Au final, cet exemplaire de Storm s'est révélé d'un mode opératoire très classique. Il n'incorpore pas de nouveauté particulière de furtivité ni de fonctionnalité novatrice.

mardi 1 avril 2008

Poisson d'avril... ou pas

Le ver Storm a l'habitude de profiter des dates ou des faits marquants pour envoyer du spam incitant ses victimes à exécuter des pièces jointes ou à se connecter à des sites malveillants (de type "drive-by-download" et/ou tentant d'exploiter des failles), dans le but d'accroitre encore un peu plus son réseau. On avait par exemple eu droit à une vague pour Halloween ou encore dernièrement pour la Saint-Valentin. Comme on pouvait s'y attendre, ce 1er avril n'a pas dérogé à la règle !

Cette fois-ci le spam se présente sous une forme très épurée avec seulement quelques mots et un lien vers une IP (plusieurs IP distinctes ont été relevées sur différents exemplaires du message) :

A l'arrivée sur cette page, l'utilisateur est tout de suite invité à télécharger un binaire funny.exe :

Deux autres binaires sont aussi "proposés" : foolsday.exe lorsque l'on clique sur le lien (binaire identique au précédent), et kickme.exe lorsque l'on clique sur l'image. A noter qu'aucun code d'exploitation n'est présent sur ces pages.

La détection de ces binaires par les éditeurs anti-virus est décevante ; sur les 17 anti-virus auxquels nous avons soumis ces malwares, seuls 6 les détectaient :

Analysons très rapidement le binaire foolsday.exe de façon automatisée pour déterminer son impact global sur le système infecté. Il commence par se recopier sous le nom C:\WINDOWS\aromis.exe :

Afin de rester permanent sur le système, il s'installe tout simplement dans une clé Run sous le nom aromis :

Le processus aromis.exe crée un nouveau fichier de configuration C:\WINDOWS\aromis.config :

Ce fichier contient le port UDP local à mettre en écoute ainsi qu'une liste de "peers" vers lesquels se connecter :

Afin que le malware puisse se jouer du pare-feu et communiquer tranquillement avec l'extérieur sans lever d'alerte à l'utilisateur, il utilise netsh afin de s'ajouter à la liste des processus autorisés :

Il utilise aussi w32tm afin de forcer la mise à jour de l'heure depuis le serveur de temps de Microsoft :

Côté réseau, on remarque une activité intense puisque le malware tente de se connecter à de nombreuses machines, dont une partie est listée ci-dessous :

De plus, deux ports TCP et UDP sont placés en écoute (on retrouve le port UDP du fichier de configuration) :

Au final, rien de bien spectaculaire dans cette mouture de Storm ! Une navigation vigilante de la part des internautes devrait, on l'espère, empêcher que ces binaires infectent un nombre important de systèmes.