Exploits

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)

Est-il illégal de publier des failles de sécurité ?

GNU/FDL - ēɾaṣøft24 sur Commons

Le buzz continue de s’amplifier autour de la décision de la cour de cassation du 27 octobre 2009 dernier. Et les titres d’affirmer: « La cour de cassation confirme que la publication de failles de sécurité exploitables est un délit » (Numerama, 22/12/2009), « La révélation publique de failles de sécurité est un délit » (01Net, 18/12/2009), etc.

J’avais déjà discuté d’un sujet approchant (mais différent sur le fond) en évoquant l’affaire Zataz récente (sur ce blog, le 05/10/2009). Est-on libre d’échanger sur les failles de sécurité ?

La décision de la cour d’appel de Montpellier

Commençons par le commencement, la cour de cassation se prononçait en effet sur une décision de la cour d’appel de Montpellier datant du 12 mars 2009. La chronologie y est rappelée:

  • il est créé en 2004 une société « spécialisée dans le conseil en sécurité informatique » ;
  • le 26 octobre 2005, l’OCLCTIC « avisait le Parquet de Montpellier que la société XYZ diffusait sur son portail internet www…..com des scripts permettant d’exploiter des failles de sécurité informatique, directement visibles sur le site et accessibles à tous« ;
  • (non expliqué dans l’arrêt) le bulletin de sécurité Microsoft MS05-053 du 08 novembre 2005 publiait un avis avec une correction proposée, qui ne se révélera pas suffisante ;
  • l’enquête était ensuite confiée à la DST, cette enquête confirmait que le dit site Web diffusait « un code d’exploitation d’une faille dans le moteur graphique WINDOWS qui avait donné lieu à une alerte du CERTA (Centre d’Expertise gouvernemental de Réponse et traitement des Attaques informatiques) publiée le 28 décembre 2005 et avant que MICROSOFT y remédie le 5 janvier 2006″;
  • il est entendu le 14 mars 2006 par les enquêteurs et on apprend que les revenus de cette société sont issus de la publicité que voient ses visiteurs et d’abonnements que prennent différentes sociétés aux alertes de sécurité ;
  • le 28 août 2006, il est entendu et mis en examen par le juge d’instruction et lui confirme qu’il ne diffusera plus d’exploits sur son site Web, il aurait notamment expliqué que la publication de failles et d’exploits lui permettait d’asseoir ses compétences ;
  • le prévenu était renvoyé devant le tribunal pour avoir, courant 2005 et 2006 mis à disposition sans motif légitime des programmes ou données conçus ou adaptés pour une atteinte au fonctionnement d’un système de traitement automatisé des données (infraction prévue par l’article 323-3-1 du code pénal);
  • il est relaxé par le tribunal correctionnel,

au motif qu’il est établi que le site www…..com n’incitait en aucune façon à l’utilisation de ces codes à des fins malveillantes ou de piratage informatique, que la seule intention qui ait animé X… Y…. est un souci d’information des menaces existantes non corrigées à destination des utilisateurs de programmes informatiques, qu’il justifie d’ailleurs en avoir été remercié par MICROSOFT, aucune intention délictueuse n’est établie

  • la cour d’appel argumente en soulignant que l’article 323-3-1 du code pénal ne prévoit pas « que soit caractérisée une incitation à l’utilisation d’un tel système », mais réprime « le fait sans motif légitime, d’importer, de détenir, d’offrir, de céder ou de mettre à disposition un équipement, un instrument, un programme informatique ou toute donnée conçus ou spécialement adaptés pour commettre des atteintes aux systèmes de traitement automatisé des données »;
  • eu égard à sa personnalité, le prévenu n’était condamné qu’à 1000 euros d’amende correctionnelle.

Première conclusion: la personne en cause n’a pas été condamnée pour la publication de failles de sécurité, mais pour la diffusion d’exploits, c’est-à-dire de programmes permettant d’exploiter ces failles de sécurité. On notera au passage que ni Microsoft, ni le CERTA n’ont été poursuivis pour avoir diffusé les informations sur les dites failles, c’est une reconnaissance implicite de la légitimité de l’information sur les failles de sécurité.

La décision de la cour de cassation

Dans un premier temps, il faut comprendre sur quoi ce basait le pourvoi en cassation de l’avocat de la personne condamnée en appel: les défauts de motif et de base légale. L’argumentation se base sur le texte de la convention du Conseil de l’Europe sur la cybercriminalité, que son client n’incitait pas à commettre d’infraction avec les dits outils de piratage, que la cour ne s’appuyait que sur la motivation économique du prévenu et faisait référence à des antécédents judiciaires de façon générale.

L’argumentation de la cour de cassation se présente de la façon suivante:

  • le site Web diffusait de façon visible et accessible des moyens permettant d’exploiter des failles de sécurité ;
  • la compétence en sécurité informatique du prévenu ne pouvait lui faire ignorer le risque lié à l’utilisation éventuelle des codes d’exploitation qu’il diffusait et il ne peut donc arguer ainsi de son intention d’informer ;
  • elle écarte le débat sur les antécédents judiciaires et conclut que la cour d’appel a parfaitement justifié la condamnation.

Le pourvoi en cassation est donc rejeté. Le prévenu définitivement condamné.

Conclusion

L’article 323-3-1 du code pénal:

Le fait, sans motif légitime, d’importer, de détenir, d’offrir, de céder ou de mettre à disposition un équipement, un instrument, un programme informatique ou toute donnée conçus ou spécialement adaptés pour commettre une ou plusieurs des infractions prévues par les articles 323-1 à 323-3 est puni des peines prévues respectivement pour l’infraction elle-même ou pour l’infraction la plus sévèrement réprimée.

La cour de cassation a donc bien confirmé qu’il n’est pas légitime, sous des motifs d’information du public, de diffuser sur un site Web accessible à tout un chacun des programmes informatiques ou des codes source de programmes informatiques permettant d’exploiter des failles de sécurité.

En revanche, il est parfaitement légitime d’informer sur les failles de sécurité.

Les débats présentés ici nous permettent de comprendre aussi que le juge est parfaitement ouvert à considérer que l’information de professionnels (en particulier la société qui commercialise un logiciel défaillant, les CERT, etc…) sur les moyens concrets d’exploiter des failles de sécurité, dans un contexte de bonnes pratiques est légitime, mais ce n’est pas ce qui était reproché dans cette affaire.