septembre 17, 2012
Les dangers des « exploits » et des « zero-day », et comment les prévenir.
Je n’ai nul besoin de vous le rappeler : Internet est un phénomène très intéressant et fort utile pour tous ceux qui s’en servent. Mais son aspect ouvert et incontrôlable ne doivent pas faire oublier qu’il y a beaucoup de choses désagréables auxquelles l’utilisateur doit faire face, et pas seulement sur des sites pornographiques ou des sites de téléchargements illégaux un peu douteux. Cela arrive aussi en surfant sur des sites bien propres sur eux, auxquels on donnerait le bon dieu sans confession. Et cela fait de nombreuses années déjà qu’Internet est devenu un incontournable dans la liste des principales causes de cyber-infections : d’après nos chiffres, en 2012, 33% des utilisateurs ont subi au moins une attaque via le web.
Si l’on regarde plus en détail la structure de ces choses désagréables venues du net, on remarque qu’il existe trois principales catégories de menaces : Les chevaux de Troie, les exploits (utilisation d’une faille) et les logiciels malveillants. D’après les données de notre serveur cloud KSN (vidéos, détails), la répartition est la suivante :
Les dix pour cent sur le graphique ci-dessus correspondent à ce qu’on appelle les exploits (leur part doit être plus importante dans la réalité, vu que beaucoup de chevaux de Troie se chargent d’exploiter des failles).
Les exploits sont peut-être des bizarreries exotiques pour les utilisateurs de base mais les spécialistes de sécurité informatique s’arrachent les cheveux sur ces problèmes. Pour ceux qui font partie de ces derniers, vous pouvez aller directement ici. Pour les autres, voilà un petit cours de rattrapage sur les exploits…
Les logiciels sont créés par des hommes, et les hommes oublient parfois des choses et font des erreurs. Et de toute manière personne n’a inventé une méthode « parfaite » pour programmer. En conséquence, presque chaque portion d’un logiciel contient des failles qui sont en fait des erreurs dans le code de programmation et via lesquels les pirates informatiques peuvent prendre le contrôle d’un système, le mettre sens dessus dessous, etc. Le code informatique qui exploite ces failles dans les programmes est appelé, tenez-vous bien, un exploit.
Donc, quels logiciels sont les plus souvent attaqués à cause d’exploits ? Voilà nos statistiques pour l’année 2011:
(Beaucoup de problèmes causés par Adobe Reader, non ? Et tout ce qu’il fait, c’est afficher des fichiers PDF, comme tant d’autres programmes… quelle inhumanité.)
Les vulnérabilités peuvent être utilisées par des exploits ou simplement rester inexploitées, en fonction de la popularité, des fonctionnalités d’un programme donné, et de l’attention que lui porte les cyber-pirates. Un très bon exemple est celui du récent incident du Flashback Mac-Trojan.
La faille se trouvait dans Java et cette dernière avait été découverte en début d’année, mais l’exploit pour Mac est apparu un mois plus tard. Ce qu’il faut retenir c’est que si une faille dans un logiciel n’est pas trouvée, cela ne veut pas dire qu’elle n’existe pas. Cela veut simplement dire que le programme est utilisée par un nombre trop réduit de gens pour qu’elles soient découvertes par erreur ou que le nombre d’utilisateurs est tellement insignifiant que les cyber-méchants ne se donnent même pas la peine de mettre les mains dans le cambouis à la recherche de failles.
Généralement, le même scénario se déroule ainsi : une faille est découverte par un chercheur, qui la rapporte à un développeur. Le développeur corrige la faille avec… oui, un correctif. Seulement après, les cyber-pirates se décident à agir puis sortent un exploit et tentent d’attaquer les utilisateurs qui n’ont pas encore installé les correctifs.
Je parle de scénario habituel, mais je ferais mieux de parler d’un scénario que nous aimerions avoir à chaque fois (avec un certain laps de temps entre la découverte de la faille et l’apparition de l’exploit). Je dis cela car il arrive souvent que l’exploit apparaisse en même temps que les premiers rapports sur l’existence de la faille, ou que les développeurs (par exemple Apple lors de l’incident du cheval de Troie Flashback) traînent à sortir un correctif ayant pour conséquence d’avoir un exploit jeté dans la nature sans qu’un correctif ne soit disponible. Un exploit pour lequel aucun correctif n’est disponible est ainsi appelé un zero-day (jour 0 en français, soit zéro jour après (cf. avant !) la sortie du correctif). Et ces zero-day (ou 0-day) sont des exploits et des attaques de la pire espèce.
Voilà quelques informations intéressante sur la répartition géographique des causes des attaques sur le web, la plupart d’entre-elles utilisent les exploits:
L’endroit où se trouve un site responsable d’attaques n’indique pas nécessairement que le responsable habite au même endroit. Loin de là. La pègre cybernétique peut facilement se cacher derrière une société-écran ou des individus qui n’existent pas à l’étranger et faire toute sorte d’activités malveillantes depuis cet endroit.
Voyons maintenant deux des méthodes les plus utilisées d’attaques via des exploits :
- Le téléchargement sans consentement (85% de toutes les attaques sur internet). Dans ce cas, vous êtes redirigé sur un site qui, grâce à un ensemble d’exploits, scanne votre explorateur internet à la recherche de faille, et, s’il en trouve, infecte l’ordinateur sans pouvoir s’en rendre compte. Cette méthode est la plus largement utilisée dans les attaques groupés afin d’avoir un maximum d’effets dévastateurs. A peu de chose près, dans un tiers des cas, les sites responsables de l’attaque ne sont que de respectables organisations qui ont été piratées et dans lesquelles un code informatique malveillant a été inséré.
- Les attaques ciblées Cette fois, l’utilisateur ne se doutant de rien (vraiment ?) ouvre un fichier infecté (par exemple, un fichier PDF) qui scanne le logiciel qui vient de l’ouvrir (dans le cas d’un PDF, Adobe Reader) à la recherche de failles et s’il en trouve, infecte l’ordinateur à travers elles. Le fichier en question peut être livré de plusieurs manières : e-mail, archives de fichiers web, clés USB, etc. Les attaques ciblées sont des attaques de précisions sur des cibles à la manière d’une frappe chirurgicale (un peu comme les missiles qui détruisent les 4×4 à la fin du film Syriana) mais ce ne sont pas des attaques de masse sur tout ce qui bouge (comme un tapis de bombe). Les attaques ciblées sont parfois aussi appelées Menaces avancés persistantes (APT). Elles prennent pour cible des individus en particulier ou des organisations et requièrent une utilisation de techniques avancées d’ingénierie sociale.
Seulement voilà : la part des 10% des menaces venant du web via des exploits dans nos statistiques (sur le premier diagramme de l’article) ne représente guère plus qu’un problème vu que 83% des menaces viennent des chevaux de Troie ! Par exemple, l’exploit le plus répandu dernièrement est appelé Blackhole (trou noir) et serait capable d’infecter plus de 30% des ordinateurs visitant un site internet infecté (en fonction de la qualité de la connexion, des logiciels installés et de la sécurité). Aucun cheval Troie ne pourrait espérer atteindre un tel rendement !
Cela fait de nombreuses années que nous combattons les exploits tout en maintenant un taux de réussite élevé. Nos produits ont une base de données qui leur est dédiée et contient les signatures numérique des exploits connus, des adresses internet infectées, et aussi des technologies spéciale de type heuristique et proactive afin de pouvoir détecter les futures évolutions de ce type de menace. Si ce type de code malveillant est trouvé, le programme se retrouve bloqué, l’utilisateur et l’administrateur sont prévenus et les actions de l’attaque sont annulées. Nous fournissons aussi une fonction très utile permettant de scanner à la demande pour vérifier la présence de vulnérabilités.
Et maintenant, voilà une fonctionnalité présente dans la version de Kaspersky Anti-Virus 2013.
Avec la sortie de la nouvelle version de Endpoint Security au premier quart de l’année prochaine, celle-ci sera aussi accessible pour nos utilisateurs de la version entreprise. Comme vous l’avez deviné, cette fonctionnalité est en rapport avec la protection contre les exploits. Pour être plus exact, contre les exploits inconnus, ces fameux zero-day !
On me demande souvent comment on peut se protéger contre une menace inconnue. Ma réponse est toujours la même : en regardant avec attention l’évolution des menaces. Nous avons environ mille des meilleurs spécialistes en recherche et développement à travers la planète qui modélisent des menaces, recherchent les tendances, et globalement tentent d’imaginer la place de la sécurité des ordinateurs dans le monde de demain.
Premièrement, nous avons l’arsenal le plus évolutif à tous les niveaux pour combattre les menaces futures : l’émulation, l’heuristique, HIPS, le blocage de comportement, un service cloud de réputation, une liste blanche, une application de contrôle et un large éventail de technologie proactive. Deuxièmement le terme « inconnu » dans le monde de la sécurité informatique n’est pas aussi mystérieux et inconcevable que dans la vraie vie !
Bien sûr, il y a toujours une probabilité que leur contenu montre un tout nouveau moyen d’infection, ce qui est difficilement prévisible malgré les technologies proactive. Mais dans la majorité des cas, les programmes malveillants agissent en suivant une certaine ligne de conduite ou en utilisant des outils spécifiques. Et c’est comme cela que nous pouvons les attraper ! Et, comme le montre notre expérience, avec une bonne réussite !
Quel est donc cette fonction de protection contre les exploits inconnus sur Kaspersky Anti-Virus 2013 ?
Voilà la réponse : nous avons amélioré de manière significative le module de Surveillance du Système (qui surveille l’activité des programmes) avec la nouvelle technologie de Prévention Automatique d’Exploit (AEP). Le nom parle de lui même, mais quelques précisions s’imposent.
En fait, le nom AEP regroupe sous ce nom plusieurs fonctionnalités anti-exploit. Premièrement nous avons ajouté à notre base de données les comportements spécifiques des exploits. Le module de Surveillance du Système utilise ces informations pour contrôler les actions des applications (par exemple un explorateur Internet) et détecte toute activité suspecte et la bloque. Deuxièmement, le système traque l’origine des fichiers et empêche les téléchargements sans consentement. En plus de cela, nous intégrons le service d’Exécution de pièce jointe (AES) et faisons la différence entre un fichier créé avec et sans l’accord de l’utilisateur. Troisièmement, pour les programmes les plus exposés et les modules externes (par exemple les plug-ins dans les explorateurs) nous ajoutons en plus la technologie ASLR. Chaque fois qu’elle est utilisée, l’ASLR modifie la structure de l’espace d’adresse des programmes attaqués d’une manière aléatoire. Par conséquent, même si un exploit trouve une faille, il ne parviendra pas à envoyer le code malveillant, vu qu’il ne saura pas où le trouver !
L’AEP est en phase de test et montre des résultats impressionnants. Nous avons inséré une grande quantité d’exploits pour Flash Player, Quicktime, Adobe Reader, Java et d’autres programmes et nous avons obtenu un taux de 100% de détection. Le plus incroyable fut la détection d’un exploit qui a fait parler de lui récemment sur une vulnérabilité de Windows Media Player : l’exploit permettait d’infecter un ordinateur via un fichier spécifique de musique au format MIDI et cela a fonctionné sur toutes les versions de Windows, de XP à la plus récente.
Ce qui est essentiel ici c’est que grâce au AEP nous trouvons 100% d’exploits de type Blackhole alors que la moyenne de nos concurrents est de seulement 94%.
Pour conclure, quelques mesures préventives en plus des technologies décrites plus haut.
Comme on dit, ayez confiance en vos antivirus, mais ne faites pas n’importe quoi non plus. Ce que je veux dire, c’est que dans la prévention, il faut suivre des règles simples, comme « lavez-vous les mains avant de manger ». Une attaque d’un logiciel malveillant ou l’exploitation d’une vulnérabilité comme décrit plus haut est possible sur tous les types de sites suspicieux. Pensez-y à deux reprises avant de visiter ces sites pornos ou de téléchargements illégaux, est-ce que le risque en vaut la peine ? Et surtout n’oubliez pas la règle d’or de « l’hygiène » informatique : n’ouvrez jamais, sous aucune circonstance, une pièce jointe suspicieuse.