Ouvrir le menu principal

MacGeneration

Recherche

Interview : Flashback et la mécanique d'un malware

Florian Innocente

vendredi 20 avril 2012 à 12:04 • 29

Logiciels

Le retour récent dans l'actualité du malware Flashback a remis en avant les questions de sécurité autour du Mac. Mais il y a d'autres volets intéressants dans ce dossier : comment opère ce type de logiciel, quelles sont les méthodes utilisées par les éditeurs pour les analyser et comment peut-on expliquer certaines variations dans les chiffres d'infection communiqués. Des questions auxquelles a répondu Philippe Devallois, Senior Security Analyst chez Intego, et à ce titre responsable de leur laboratoire.



MacGeneration : De quelles manières peut se faire l'installation de Flashback et est-ce que l'utilisateur est à chaque fois sollicité ?

Philippe Devallois : Il y grosso modo trois types d'installations :

1 - les anciennes variantes utilisaient un faux paquet d'installation se faisant passer pour Flash, d'où le nom.

2 - une installation au moyen de deux failles Java, sans intervention de l'utilisateur et grâce à des pages web infectées (des blogs WordPress essentiellement).

Pour ces variantes, aucune demande du mot de passe administrateur n'est requise. Le logiciel s'installait dans le répertoire de l'utilisateur courant. Très furtif. Mais très plantogène, car il injectait du code dans toutes les applications ou binaires lancés par l'utilisateur ou par launchd dans la session utilisateur. C'est d'ailleurs comme cela que des utilisateurs ont commencé à avoir des doutes et se sont manifestés sur les forums de support d'Apple (launchd est un système de démarrage des programmes qui va exécuter des démons - de petits logiciels tournant en arrière-plan - ou les applications visibles par l'utilisateur, ndr). Après ces plantages, les malfaiteurs ont donc établi une liste d'applications qui, si présentes sur la machine, ne permettaient pas l'installation du malware.

À ce stade, il est important de bien désigner les composants de ce malware : l'applet Java sur les sites infectés n'est pas au sens courant un Cheval de Troie. C'est-à-dire qu'il ne se fait pas passer pour quelque chose d'autre aux yeux d'un utilisateur. C'est ce que l'on appelle un "drive-by download", il n'a pas besoin d'une intervention de l'utilisateur. Par exemple, vous visitez un site web - même tout à fait respectable - qui aura été précédemment infecté. Dans le cadre des échanges habituels de données et d'exécution de scripts (Java, Flash, JavaScript…) entre le site et votre navigateur, un code malicieux va profiter d'une faille, soit dans le navigateur, soit dans l'un de ses plug-ins, pour s'installer en douce sur votre ordinateur.

Ce binaire, installé et exécuté par l'applet Java, est une "backdoor" (une porte dérobée, ndr). Elle se connecte dans le dos de l'utilisateur à ce que l'on appelle un serveur de contrôle (Command & Control, dans le jargon). Dans ce cas, un pare-feu logiciel ne sert à rien pour détecter sa présence. Seuls des outils de blocages des communications qui sortent de l'ordinateur peuvent repérer cette activité.

Enfin, le comportement du troisième composant est de type viral, il va injecter son code dynamiquement dans d'autres applications lancées par l'utilisateur.

Il y a là aussi différentes formes de virus : il y a le classique qui infecte des fichiers. Seuls OSX/Macarena et OSX/Leap.A (découverts en 2006) répondaient à ce type de virus qui est le plus connu. Puis il y a l'injecteur de processus en mémoire. Très discret, ce type de virus se répand dans les systèmes où l'injection de code est permise (Unix…). Flashback, dans sa dernière version, en fait partie. Enfin, on a le virus compagnon qui ne se combine pas au code du binaire infecté, mais qui est exécuté en même temps.

3 - le dernier mode d'installation passe par la fameuse faille Java numérotée CVE-2012-0503. Elle est exploitée par les dernières variantes de Flashback. Si le Mac n'avait pas d'utilitaire de sécurité réseau, ou d'outil de débogage développeur présent comme Xcode, un mot de passe administrateur était demandé pour installer un injecteur de code dans Safari. Mais même avec la présence de ces obstacles, le code de la backdoor était installé au sein du dossier Bibliothèque > LaunchAgents de l'utilisateur actif.

Ce qui conduit à corriger certaines affirmations faites ces derniers temps. Une fois l'applet Java lancé, le Mac est infecté, même si un outil comme VirusBarrier (ou Office et Skype comme on a pu le lire) est installé. La différence est que dans un cas, un mot de passe est demandé en utilisant une fenêtre de type mise à jour de logiciel, et dans l'autre cas, non.

Quel est l'intérêt ? On attend tranquillement que les logiciels de sécurité soient désactivés par l'utilisateur pour reprendre la main et continuer l'installation.

Dans ce cas, la fenêtre de mise à jour logicielle avec la demande de mot de passe est un Cheval de Troie qui installe un virus (l'injecteur de code). Mais uniquement un virus de Safari dans les échantillons que j'ai eu. Si une application de sécurité est installée, aucun mot de passe n'est réclamé, donc le composant installé par l'applet Java est une simple backdoor, invisible de l'utilisateur.




MacGeneration : Une fois installé sur un ordinateur, que fait-il précisément ?

Cela dépend des variantes. Les dernières forgeaient des requêtes Google dès que l'utilisateur naviguait sur un site, afin d'augmenter artificiellement des statistiques de fréquentation qui sont monétisées. Certaines requêtes Web étaient filtrées et d'autres étaient redirigées vers des pages publicitaires. Il y avait une injection de code JavaScript dans les pages reçues par l'utilisateur, pour renvoyer le navigateur vers des adresses de pages ou de sites monétisés.

Les auteurs de ces malware ont également un total contrôle des Mac infectés et peuvent installer et exécuter de nouveaux codes natifs OS X, via le processus de mise à jour de Flashback. Je l'ai observé dans une de mes boîtes virtuelles (un OS X fonctionnant dans une machine VMware), un binaire shell a été installé et un malfaiteur a exécuté des commandes shell sur cette machine virtuelle, pour vite s'apercevoir de la supercherie (on peut voir ces machines virtuelles comme des chèvres attachées à un piquet…, ndr). À mon avis la personne à l'autre bout avait un doute sur l'infection réalisée… et il avait raison.

MacGeneration : Est-ce que Flashback a touché 600 000 machines comme l'a déclaré Dr.Web à partir de ses extrapolations ?

Je suis certain que non, par exemple les UUID (identifiants universellement uniques) de certaines machines virtuelles VMware qu'on utilise pour tester les infections figuraient dans les stats de Dr.Web.


MacGeneration : Mais comment peut-on expliquer d'autres chiffres, par exemple cette semaine Symantec a montré une évolution du nombre de machines infectées. Il base cette extrapolation sur son pool de machines qui servent d'appâts. En l'espace de 24h on passe d'une évaluation de 600 000 à 380 000 machines - c'est avant que les outils antiFlashback ne soient répandus - à des baisses beaucoup plus lentes une fois qu'Apple a réagi.

L'analyse que j'en fais est une interprétation personnelle : le malware fait une requête sur ce nom de domaine calculé du jour, ce sera par exemple "iwuyrvtylnojde" auquel il ajoute soit .com, .info, .net ou .kz et pioché de manière aléatoire dans une liste préétablie. C'est auprès de ces adresses que le malware va chercher s'il y a un serveur capable de lui fournir des instructions.



Symantec aura acheté les noms de domaine en ".info" pour les 15 prochains jours. Mais une autre société aura acheté de son côté les ".com". Le malware commence par envoyer sa requête chiffrée sur le "iwuyrvtylnojde" avec la terminaison choisie aléatoirement. Si le serveur lui répond correctement, il arrête là. Sinon, il fait une requête sur un autre domaine aléatoire iwuyrvtylnojde.com ou .info ou .net ou .kz.



Donc si le "pot de miel" tiré au sort en premier répond bien et que c'est le .com, Symantec ne verra jamais les requêtes des Macs infectés. Je pense que c'est ce qui s'est produit entre le 9 et le 10 avril.

Avec deux pots de miel, la chance est divisée par 2 normalement, or on passe de 600K à 380K, soit à peu près la moitié… Un autre "sinkholer" apparaît demain en Russie - soit celui de Kaspersky, soit DrWeb - (l'entretien a été mené au fil de la semaine, ndr), donc là ça devrait statistiquement diviser leurs résultats par 3. Cette méthode dite du "sinkhole" est bonne, mais quand on est tout seul à l'employer.

Il faut aussi tenir compte de la "fraîcheur" des échantillons de malware avec lesquels vous travaillez. Ce 19 avril j'en ai eu un dans ma boîte virtuelle qui contacte un nom de domaine qui n'est pas celui annoncé chez Symantec. On peut en conclure qu'ils ont des échantillons anciens, et pas les tout derniers, ce qui va dès lors influer sur l'estimation du nombre d'ordinateurs infectés.

MacGeneration : Quelles sont les relations entre Apple et les éditeurs spécialisés dans les logiciels de sécurité ? D.Web par exemple leur reprochait d'opérer en vase clos, contrairement à un Microsoft où les interlocuteurs sont clairement identifiés.

Je suis en contact permanent avec le groupe de Sécurité Produits d'Apple. D'ailleurs c'est ce qu'ils demandent de tous les éditeurs de solutions de sécurité. Ainsi les choses avancent pour tous les utilisateurs.

Franchement, je les trouve très performants à partir du moment où ils ont les bonnes informations. Ils ont des processus de qualité qui prennent du temps, mais qui peut leur en vouloir ? Ceci dit, ils ont travaillé de façon impressionnante quand ils ont eu les échantillons de Flashback entre les mains.

Pour donner une idée de la difficulté de la tâche, la dernière variante chiffrait les chaînes de caractères dans le code avec l'UUID du Mac infecté. Ce binaire ne pouvait être déchiffré que si on possédait cet identifiant. D'autre part, exécuter pas à pas le binaire dans un outil de débogage ne fonctionnait pas non plus pour la même raison. Donc l'échange d'échantillons classiques entre éditeurs d'antivirus ne suffisait plus.

Il a fallu également partager les informations d'UUID pour pouvoir analyser le fonctionnement des très nombreuses variantes produites en quelques semaines. Tout le monde n'a pas dû vraiment aider Apple pendant ces derniers mois et pourtant, pour développer un composant de réparation, on doit avoir la certitude qu'on a toutes les variantes... Nous travaillons tous dans l'urgence, mais avec des procédures de tests très poussées. Sans nos interventions groupées, cette menace aurait fait beaucoup plus de dégâts.


MacGeneration : Comment se fait-il que les éditeurs russes soient si en pointe dans cette affaire ? Comment se fait-il aussi que le nom de domaine que l'éditeur Kaspersky a trouvé dans le code de Flashback et qu'il a acheté pour analyser les communications de ce malware fût disponible à la vente ?

Intego ne cherche pas à faire de communiqués sur toutes les menaces, surtout celles qui sont redondantes comme Flashback qui existe sous une forme ou une autre depuis plus d'un an. Cela ne veut pas dire que les menaces ne sont pas prises en compte dans les produits de défense. Pour Flashback, VirusBarrier a toujours eu un temps d'avance sur les variantes et a toujours reconnu au moins un des composants des nouvelles variantes, ce qui a permis de bloquer l'installation et la communication avec le serveur de contrôle. Ces détections se font par l'étude du comportement dynamique des malwares.

Pour ces noms de domaines de sites qui ont été achetés, la loi française est très restrictive. Acheter un nom de domaine qui est utilisé par un malware peut-être considéré comme répréhensible. À l'Est, peut-être est-ce plus toléré à des fins de lutte contre la criminalité ?

Flashback utilise un nom de domaine différent par jour, de manière à pouvoir récupérer des machines infectées, au cas où le serveur de contrôle principal serait indisponible. Il y a aussi, comme on l'a écrit, un processus de reprise de contrôle via Twitter. Le malware va chercher sur Twitter les instructions pour savoir ce qu'il doit faire. Toutefois il ne va pas interroger un compte Twitter en particulier (qui peut être repéré et fermé), mais des mots-clefs (les hashtags) qui prennent la forme de suites anodines de chiffres.

Kaspersky et Dr.Web (depuis d'autres l'ont aussi fait) ont acheté des noms de domaines sur plusieurs jours pour voir combien ils obtenaient de connexions avec les machines infectées, puis ils ont utilisé un ensemble de méthodes pour observer l'activité de ce malware :

- des Mac constamment allumés pendant cette période de tests, sans antispyware pour bloquer les communications, sans filtrage par leurs fournisseurs Internet ;
- Des Mac OS X virtuels, un procédé utilisé par tous les éditeurs d'antivirus ;
- Des chercheurs qui font des tests à la main ou automatiquement via des outils ;
- Et ce qui fait l'objet de débats : la présence de machines Windows dans ces stats. Chose que je réfute, il n'y a que des Mac. Flashback fait exprès de placer dans ses paquets HTTP de faux en-têtes de UserAgent Windows.

En tout cas je pense que leur méthode ne peut que donner une tendance, pas des chiffres d'infection précis. Et comme on se fait griller par les serveurs de Flashback à chaque infection, on est obligé pour mener de nouveaux tests de prendre un nouveau couple adresse IP/numéro d'identification de la machine. Quel volume est-ce que cela représente dans les stats liées à Flashback ? Je ne saurai le dire. Si Dr.Web ou Kaspersky nous avaient donné la base, on aurait pu éliminer pas mal de faux positifs venant de nos machines chez Intego.


MacGeneration : Si on prend du recul sur les malwares détectés depuis mettons un an, est-ce qu'ils étaient pour la plupart fonctionnels et en opération, ou est-ce qu'on en est encore au stade ou leurs auteurs se font la main avec la plateforme Mac ?

Ils sont déjà très compliqués et sophistiqués, l'injection de code est techniquement difficile à maîtriser. L'exploitation de failles Java (et Word maintenant pour OSX/SabPab) est aussi un exercice difficile.

En définitive, ils ont une bonne connaissance d'OS X et s'adaptent très rapidement aux barrières que l'on place en travers de leur chemin. On doit dans nos laboratoires être très dynamiques et travailler un peu plus que 35h pour anticiper leurs attaques…

À partir du moment où l'on publie une alerte de sécurité, accompagnée d'une panoplie de vaccins génériques à spectre large dans nos scanners, la communauté Apple, très réactive, devient très méfiante. Nos utilisateurs nous envoient leurs échantillons détectés en générique, qu'on n'a plus qu'à confirmer. On a un coup d'avance sur les variantes de malware. Les auteurs de ces malwares doivent s'adapter très rapidement ou abandonner.

MacGeneration : Quelles sont les motivations des auteurs de ces malwares ? On parle souvent de possibilité de subtiliser des fichiers d'un disque dur, mais est-ce qu'il n'y a pas des activités beaucoup plus discrètes, plus simples et qui permettent de gagner de l'argent rapidement. On parlait de cette création de visites artificielles sur des sites pour retirer de l'argent de ces passages.

Ces bandits ne font pas ça pour le plaisir ou pour l'esprit hacker. Il y a forcément plusieurs motivations : l'argent que l'on peut obtenir par l'envoi sur des sites d'utilisateurs aux machines infectées, il y a aussi le fait de pouvoir disposer d'un réseau d'ordinateurs sous contrôle afin de mener des attaques par déni de service contre des sites qu'il s'agit de bloquer, piloter l'envoi de spams depuis ces ordinateurs infectés, et puis bien sûr l'espionnage d'informations personnelles (ou professionnelles) avec l'objectif de les monétiser.

Sur le même sujet :
- Flashback : des éditeurs remontent leurs chiffre

illustration magazine 25 ans

MacGeneration a 25 ans !

Participez à la fête et découvrez l’histoire de votre site favori en précommandant notre magazine exclusif.

Je précommande le magazine