Blackhole

Comment on attrape un virus informatique ?

… aujourd’hui. En effet, la réponse à cette question est très mouvante et évolue avec le temps. Il y a quelques années encore, beaucoup de virus informatiques se diffusaient sur Internet sous forme de vers, se propageant d’une machine à une autre, mais vraisemblablement parce que de plus en plus d’ordinateurs ne sont plus connectés directement à Internet, ce n’est plus le mode de diffusion privilégié. En effet, derrière des box ADSL, même si vos ordinateurs, tablettes et autres télévisions connectées ne sont pas totalement protégés, ils ne sont pas directement et totalement accessibles depuis l’extérieur comme on pouvait l’être quand on se connectait avec un modem directement connecté à l’ordinateur.

Rançongiciel sous forme de fausse solution antivirs – Source: botnets.fr

Je vous propose de parcourir quelques modes de propagation qui, vous allez le voir, parfois s’entrecroisent. En effet, de la même façon qu’il est parfois difficile de classifier les logiciels malveillants, il est parfois tout aussi difficile de tracer une frontière entre ces différents modes de contamination.

L’installation par l’utilisateur

Ce mode de propagation permet notamment des attaques ciblées, par exemple en envoyant un lien spécifique ou une pièce jointe à une victime donnée. Il repose sur la confiance qu’a la victime dans le contenu qui lui est présenté, soit parce qu’il semble provenir d’une personne de confiance, soit parce que le sujet l’intéresse. Il peut s’agir directement d’un programme informatique qu’on est invité à installer ou qu’on souhaite soi-même installer, ou alors d’un document qui va exploiter une faille du logiciel permettant de l’afficher (PDF, document Word ou même encore une simple image qu’on ouvre dans le logiciel par défaut de son ordinateur, comme ce fut le cas avec le Kodak Image Viewer livré avec certaines versions de Windows). Dans tous les cas, c’est la victime qui clique sur le fichier pour l’ouvrir volontairement. Dans certains cas, il se peut que cette transmission soit réalisée par un ver (voir paragraphe plus bas) qui a contaminé l’ordinateur ou pris le contrôle du compte de réseau social ou de courrier électronique d’un ami. Bien évidement une personne malintentionnée peut aussi profiter d’un mot de passe défaillant ou d’un moment d’inadvertance pour installer un virus sur l’ordinateur de sa victime, soit en accédant physiquement à l’ordinateur, soit en y accédant à distance.

Les supports amovibles

Ici encore, c’est la victime qui est invitée à agir, en connectant un support amovible (souvent une clé USB, comme dans le cas du célèbre Stuxnet) sur son ordinateur. Ces clés vous arrivent de personnes en qui vous faites confiance (collègues de travail, amis, contacts professionnels) ou bien encore sont parfois trouvées dans la rue (cet été la société néerlandaise DSM semble avoir été victime d’une tentative d’attaque réalisée de cette manière). Ici, différentes techniques sont utilisées pour rendre invisible la contamination, celle-ci se réalisant automatiquement, par exemple avec les fonctions de démarrage automatique des systèmes d’exploitation.

… et les partages réseaux

Dans un environnement familial (disque dur partagé sur le réseau local pour mettre en commun documents, musique, films…) et surtout professionnel, ce type de contamination est particulièrement courant. Dans certains cas, on a vu qu’il pouvait être beaucoup plus efficace que les supports amovibles puisqu’on fait un peu plus confiance par défaut à un partage interne ou encore parce que certains environnements professionnels imposent d’exécuter au moment de leur connexion des fichiers de configuration se trouvant dans ces répertoires partagés.

Les vers

Les différents modes de contamination décrits ci-dessus sont parfois comparés aux vers, notamment lorsqu’on parle des espaces partagés, mais ils ont tous la particularité de passer par des étapes intermédiaires avant de contaminer l’ordinateur cible. En effet, on parlera plus facilement de vers pour les propagations qui se font directement d’une machine à une autre, exploitant une faille dans tel ou tel protocole réseau ouvert sur une machine. La plupart des vers exploitent une faille ou un type de protocole spécifique, même si certains ont plusieurs modes de diffusion. Ainsi, le ver Conficker, encore très présent aujourd’hui sur Internet, utilise trois modes de propagation (voir cet article de synthèse par P. Porras et al.): une vulnérabilité d’un des protocoles de communication réseau sous Windows (MS08-067), mais aussi le partage de répertoires sur les réseaux locaux ou encore le partage de supports amovibles. Dans certains cas, ces vers vont exploiter des trous laissés ouverts par d’autres virus informatiques. Enfin, les vers peuvent aussi profiter des plateformes de communication par courrier électronique ou sur les réseaux sociaux (comme le ver Koobface) pour atteindre leurs victimes.

Les plateformes d’exploits

Il s’agit ici d’exploiter des failles dans les différents composants qui servent à afficher des contenus provenant d’Internet, le plus souvent dans les navigateurs (Internet Explorer, Chrome, Firefox, etc.), mais aussi dans les clients de messagerie (Thunderbird, Outlook, etc.) qui affichent le même type de contenus riches. Et il y a plusieurs niveaux d’attaque: directement dans les fonctions du navigateurs, mais aussi dans les extensions les plus courantes qui permettent d’afficher des contenus enrichis (Flash et Java en particulier). Dans certains cas, l’interaction de l’utilisateur est recherchée, pour valider l’installation d’un module complémentaire.

Ces plateformes sont hébergées sur des serveurs Web et sont particulièrement recherchées aujourd’hui par les délinquants qui veulent diffuser des logiciels malveillants, parce qu’elles permettent d’atteindre directement le poste de l’utilisateur et se montrent très efficaces avec selon les pays des taux de contamination oscillant autour de 10% des visiteurs.

Elles ont des noms guerriers ou en tous cas très commerciaux (Blackhole, Sakura, Sweet orange,… voir la catégorie Plateforme d’exploits sur botnets.fr – @botnets_fr) ; elles sont ainsi un des indicateurs les plus forts de l’évolution de la cybercriminalité vers une véritable activité de services, avec des bannières publicitaires sur les forums où se discutent les marchés illégaux, de véritables services après vente allant jusqu’à rembourser des clients mécontents, et une gestion très avancée des besoins des utilisateurs. Leur démarche est très agressive, comme lorsque le créateur de Blackhole, surnommé Paunch, s’est empressé à la fin du mois d’août d’intégrer la toute dernière vulnérabilité Java ou encore cette semaine avec la sortie d’une version 2 avec toutes sortes de nouvelles fonctionnalités (dont beaucoup ont pour objet de protéger celui qui l’exploite des enquêtes judiciaires ou de la surveillance des chercheurs en sécurité informatique – voir cet article par @Kafeine ou une autre synthèse chez Sophos).

Création de trafic

Exemple de courrier électronique redirigeant vers une plateforme d’exploit en se faisant passer pour une application Facebook (source: Sophos)

Le délinquant qui veut diffuser un logiciel malveillant va donc installer une telle plateforme d’exploit, ou plus vraisemblablement louer les services de groupes qui se sont spécialisés dans leur administration, car en effet il vaut mieux disposer d’un grand nombre de serveurs différents, savoir administrer de façon sécurisée un serveur Web, gérer les mises à jour, etc. Il va ensuite devoir attirer des visiteurs vers la plateforme, sous formes de campagne de spam ou encore en insérant un code particulier dans des pages Web: des bannières publicitaires ou encore des sites Web légitimes, comme nous l’évoquions au début de l’année pour la diffusion des rançongiciels. Encore ici, ce sont des services criminels qui se sont développés autour de la création de trafic et ils vont louer leurs services à ceux qui veulent créer un botnet. On les appelle parfois traffers.

Techniquement, le chargement du code malveillant depuis la plateforme d’exploit est réalisé par l’inclusion d’une fenêtre invisible au sein de la page Web, par des balises de type « iframe » qui ressemblent à ce code:

Directement dans le serveur Web

Et les traffers innovent eux aussi récemment: on a ainsi découvert récemment un module qui s’ajoute dans les serveurs Web de type Apache et injecte dans tout ou partie des pages Web diffusées les balises permettant d’insérer des contenus cachés provenant des plateformes d’exploit. C’est une évolution importante par rapport aux modes de diffusion classique suite à un piratage de serveur Web qui supposent de modifier de nombreux fichiers pour obtenir le même résultat. Ainsi, on pourrait imaginer qu’un serveur mutualisé, utilisé par des centaines de webmestres, intègre automatiquement ces vecteurs d’attaque sans qu’ils ne puissent eux-mêmes voir de modifications dans le code des pages Web ou des scripts PHP ou Javascript qu’ils ont chargé sur le serveur. On pourra lire les articles sur ce module Darkleech d’Unmask parasites, Webmasterworld ou encore Day by day par @it4sec.

Et même directement dans la chaîne de fabrication

L’action récente de l’équipe de lutte contre la cybercriminalité de Microsoft contre le botnet Nitol a permis de mettre en évidence que les logiciels malveillants pourraient parfois être insérés au moment de la fabrication de certains ordinateurs, ici au travers de l’installation de version contrefaites du système d’exploitation Windows. Ce problème n’est pas totalement nouveau, car des erreurs ont parfois été mises en évidence lors du recyclage de disques durs partis en maintenance, ou encore lors du téléchargement de versions contrefaites de systèmes d’exploitation, mais c’est – il me semble – la première fois qu’une diffusion massive de logiciels malveillants est identifiée dans une chaîne de distribution de matériels informatiques.

Comment se protéger ?

Je le répète souvent, mais il est important de se tenir informé et d’informer sa famille, ses amis, ses collègues sur les risques. La connaissance de ceux-ci aide à éviter les actions qui favorisent les infections virales. Des forums peuvent vous aider à vous sortir de ces situations (Malekal, CommentCaMarche,…) .

Il faut se méfier à tout prix des sources alternatives de diffusion des systèmes d’exploitation ou des logiciels, qu’il s’agisse de contrefaçons ou de plateformes de téléchargement. Bien entendu, ce conseil vaut pour les logiciels commerciaux ou ceux qui sont diffusés sous des licences libres (dans ce dernier cas on recherchera par exemple des miroirs officiels ou de confiance).

Tenir à jour son système d’exploitation et tous les logiciels ou modules complémentaires qu’on a installés, particulièrement ceux qui sont les plus ciblés à savoir les outils de navigation Internet ou encore les clients de discussion en ligne. On pourra compléter son navigateur d’extensions de sécurité, comme je le décrivais dans un article précédent.

Quoi qu’en disent certains enfin, l’installation d’un antivirus est indispensable sur les systèmes d’exploitation grand public. Cet antivirus, gratuit ou payant, doit absolument être maintenu à jour et sera systématiquement utilisé pour vérifier la sécurité d’une clé USB de source extérieure. Enfin, désactivez les fonctions de démarrage automatique (USB ou réseau) si elles ne sont pas indispensables dans votre environnement (voir cet article pour Windows XP, 2000, 2003).

Compléments

  • Un article intéressant par Brett Stone-Gross (Dell SecureWorks) sur la façon dont se diffuse le botnet Gameover (une variante de ZeuS)

Vulnérabilité Java CVE-2012-4681 – Et si on devenait enfin responsables !

In English anglais

Mise à jour : 30/08/2012 20h10

Oracle vient de publier une mise à jour au moteur Java standard (versions 6 et 7). Il vous est recommandé de le mettre à jour si vous avez Java installé sur votre machine.

Une mise à jour de l’information sur cette vulnérabilité est publiée sur le site d’Oracle. Une analyse de la mise à jour est publiée ici.

Le tweet où tout commence

Vous en avez peut-être entendu (ou lu) parler ici (Korben), ici (eh oui ça touche les Mac aussi!), au Monde Informatique ou même ici (l’ANSSI vous en parle)… Assez peu toutefois dans la presse grand public (en tous cas je n’ai rien trouvé ?), même si des blogs destinés à un public assez large l’évoquent en détail (Numérama ou Malekal).

Il s’agit d’une faille (apparemment un cumul de deux failles), dites 0-day, parce que non révélées auparavant et encore exploitables parce que le produit qui est ciblé n’a pas encore été corrigé. Cette vulnérabilité, référencée sous le nom de code « CVE-2012-4681 » dans la base de référence américaine du MITRE, touche le moteur Java de la société Oracle dans sa version 1.7, soit la plus récente. Le CERT US détaille la vulnérabilité.

Chronologie

On vit cette fois-ci un enchaînement et une combinaison de phénomènes particulièrement défavorable (Eric Romang analyse aussi une partie de cette chronologie):

  • 04/2012… (j’en parle un peu plus bas)
  • 26/08/2012, FireEye publie sur son blog l’annonce de cette vulnérabilité jusque là inconnue. Elle leur est révélée grâce à l’étude de ce qu’ils décrivent comme une attaque ciblée d’un de leurs clients (d’autres spécialistes comme Eric Romang ou la société Trend Micro ne croient pas à cette analyse, mais plutôt à une vulnérabilité circulant déjà peut-être depuis quelques mois, Symantec de son côté effectue un rapprochementavec les attaques ciblée d’une équipe surnommée Nitro)
    • FireEye a eu quelques jours auparavant des soucis avec une découverte qui n’en était pas une, alors qu’ils annonçaient avoir découvert un serveur de commande du botnet Gauss, commun avec celui d’un autre botnet semblable, Flame. En réalité c’est la société antivirus Kaspersky Lab qui avait mis en place un serveur pour reprendre le contrôle de ces deux botnets. Cela a peut être précipité leur publication expresse de l’information sur cette vulnérabilité.
  • L’annonce est reprise de nombreuses fois dans beaucoup de blogs sur la sécurité informatique, y compris avec des codes de démonstration (PoC). S’agissant d’une vulnérabilité indépendante des systèmes d’exploitation, elle est potentiellement exploitable sur tous, de Linux à Microsoft Windows en passant par MacOSX.
  • 27/08/2012, il semblerait que les développeurs de différentes plateformes d’exploit annoncent à leurs ‘clients’ qu’ils vont pouvoir profiter eux aussi de cette vulnérabilité très rapidement (Brian Krebs en parlait lundi au sujet de BlackHole et très vite des chercheurs en sécurité repèrent des serveurs malveillants qui l’exploitent) et selon Kafeine (et ici), l’exploit kit Sakura et Sweet orange semblent être sur les rangs. Je vous ai parlé des plateformes d’exploit dans mon article de décembre 2011 sur le rançongiciel gendarmerie ou dans l’article de février dernier sur le botnet Citadel.
  • 27/08/2012, toujours, Rapid7 annonce que sa plateforme de tests d’intrusion et d’évaluation sécuritaire Metasploit intègre cette nouvelle vulnérabilité dans sa batterie de tests;
  • 28/08/2012, en fin de journée, l’équipe du Kaspersky Lab pousse un petit coup de gueule. On ne sait trop si c’est contre FireEye (encore, la guerre de communication entre les sociétés de sécurité ?) ou bien contre ceux qui ont publié très rapidement des « PoC » (proof of concept, démonstrateurs de l’exploitation de la vulnérabilité).

  • 29/08/2012, on apprend qu’Oracle aurait été avisé de ces vulnérabilités dès le mois d’avril (ComputerWorld) par la société polonaise Security Explorations. Notons qu’il est normal que des vulnérabilités ne soient pas corrigées immédiatement par les développeurs d’un logiciel, le développement d’une correction demandant parfois de nombreux tests pour éviter que de nouvelles failles ou dysfonctionnements soient créés par ces changements.
  • 30/08/2012, à ce jour, Oracle ne reprend toujours pas l’alerte sur cette vulnérabilité et ne semble pas vouloir publier de mise à jour avant celle qui est programmée pour le mois d’Octobre 2012:

Quelque chose ne va pas dans le monde de la sécurité

Je suis assez d’accord avec certains qui ne sont pas satisfaits de cette chronologie, même si elle permet de démontrer un enchaînement particulièrement prévisible, mais qui est ici exacerbé, en moins de trois jours on aura eu:

  • Une société de sécurité qui publie brutalement des informations sibyllines, mais assez faciles à déchiffrer, relatives à une vulnérabilité;
  • Quelques heures après, des chercheurs s’empressent de publier presque en se faisant la course au premier qui le fera, grâce aux éléments diffusés par la dite société, des détails sur la vulnérabilité et la façon de l’exploiter;
  • Un éditeur qui ne communique pas vers son public sur les mesures qu’il envisage de prendre tout de suite ou prochainement;
  • Quelques heures après, les démonstrateurs publiés sont directement intégrés dans les plateformes d’exploits utilisées par les groupes criminels;
  • Très rapidement, des victimes se font exploiter de façon massive, notamment pour diffuser les virus bancaires et autres rançongiciels particulièrement actifs actuellement.

Il est grand temps que les professionnels de la sécurité informatique se mettent enfin d’accord sur des procédures responsables de divulgation des vulnérabilités et ce de façon coordonnée (développeurs, comme chercheurs en sécurité de tous bords). Au vu des conséquences des exploitations aujourd’hui possibles grâce au type de botnets qui sont en activité, il est fort probable que plus de 100.000 euros aient été déjà détournées de victimes à travers le monde (les montants sont difficiles à évaluer, mais c’est l’ordre de grandeur de ce qu’on constate comme gains sur certains botnets en un ou deux jours et comme beaucoup agissent en même temps et que cette vulnérabilité n’est pas forcément celle qui est utilisée pour toutes les attaques il est encore trop tôt pour être plus précis), et vraisemblablement le compteur va finir de tourner tant qu’une mise à jour de Java n’est pas massivement diffusée. Par ailleurs, depuis lundi, des milliers de responsables informatiques se grattent la tête à travers la planète pour savoir comment sécuriser leurs réseaux et s’échangent des scripts pour rapidement désactiver Java 1.7 chez leurs utilisateurs.

Que puis-je faire chez moi ?

Sur un ordinateur personnel, il est vraisemblable que vous n’ayez pas besoin très souvent de Java, même s’il est parfois nécessaire pour certaines applications disponibles en ligne. Il est donc raisonnable d’envisager de désactiver Java dans son ordinateur, au moins pour la version 1.7.

Plusieurs sites expliquent les procédures: le blog Malekal, ou encore ici en anglais. Vous pouvez vous prémunir de ce type d’attaques et bien d’autre en installant des extensions de sécurité telles que NoScript (http://noscript.net/ pour Firefox ou Notscripts ou Scriptno sous Chrome) qui vous permettent d’avoir un contrôle site par site du lancement grâce à des programmes intégrés (scripts) de ce type de modules depuis une page Web.

Dans une entreprise, beaucoup seront peut-être encore à la version précédente qui certes a d’autres vulnérabilités mais permet de faire tourner certaines applications. Si Java n’est pas nécessaire dans votre entreprise, il semble aujourd’hui urgent de le désactiver pour éviter tout incident. Si Java 1.7 est indispensable dans votre contexte, il existe des correctifs non officiels qui pourraient vous aider.

Faites circuler l’information et continuez de vous tenir informés des bonnes pratiques.

Mise à jour : 30/08/2012 20h10

Oracle vient de publier une mise à jour au moteur Java standard (versions 6 et 7). Il vous est recommandé de le mettre à jour si vous avez Java installé sur votre machine.

Une mise à jour de l’information sur cette vulnérabilité est publiée sur le site d’Oracle.