La généralisation de l’accès haut débit à Internet et le prix très bas des ordinateurs d’entrée de gamme ont pour résultat qu’aujourd’hui quasiment tout le monde peut gouter aux joies du surf sur le Web. Toutes ces personnes connectées (dont la majorité a peu de compétences informatiques)représentent un vaste marché (et une manne financière potentielle) pour les différents protagonistes de la cybercriminalité.

Surfer aujourd’hui sur le Web n’est plus sans risques et la navigation sur un lien malveillant peut avoir des conséquences plus ou moins désagréables pour l’utilisateur voire son entreprise ou sa famille.

Un lien malveillant donne accès à une page Web sur laquelle l'objectif est :
- Soit d'encourager l'utilisateur à donner des informations (login, mot de passe, numéro de carte de crédit...)
- Soit à télécharger puis exécuter un code malicieux généralement camouflé dans un programme inoffensif (économiseur d'écran, codec vidéo, Faux antivirus...)

Exemple de site de Phishing

L’image ci-dessus est un exemple de site de phishing. Ici, l’objectif est de faire croire à l’utilisateur qu’il est connecté au site français de Paypal (l’utilisateur a probablement reçu précédemment un courrier électronique un peu alarmiste l’encourageant à vérifier ses informations de sécurité sur son compte Paypal).

Tous les navigateurs récents intègrent désormais une couche additionnelle de protection sous la forme de filtre (communément appelé filtre anti-phishing) connecté à des services en ligne (dans le Cloud pour ceux qui préfèrent un discours plus hype ;-)).

Ce billet a pour but de vous présenter un tour d’horizon des mécanismes de protection inclus dans les dernières versions des principaux navigateurs du marché.

L'objectif de ces filtres est de limiter le risque de vol d'informations ou d'infection via un téléchargement pour les utilisateurs. Ces filtres vont renvoyer des avertissements très visuels à l'utilisateur en cas de navigation risquée.

Globalement, ce type de protection est constitué de 2 composants :

1- Un service de réputation des sites Web qui est hébergé en ligne et classifie les sites (sous la forme de liste blanche, liste noire ou autre score). Cette catégorisation peut être effectuée de manière manuelle, automatisée ou plus généralement en combinant les deux approches.

2- Un navigateur qui interroge le service de réputation et qui en cas de risque stoppe la navigation et avertit l'utilisateur. En cas de lien déclenchant le téléchargement d'un contenu jugé malicieux par les services de réputation, le navigateur bloque le téléchargement et averti l'utilisateur du risque présent


En février 2010, la société NSSLab a publié une étude concernant les mécanismes de filtrage contre les attaques "sociales" par téléchargement de code malicieux

NSS Labs - Web Browser security socially-engineered malware protection.
http://nsslabs.com/test-reports/NSSLabs_Q12010_GTRBrowserSEM_FINAL.pdf

Dans cette étude, NSS Labs a comparé l'efficacité des mécanismes de protections contre le téléchargement de fichiers contenant du code malicieux et ceci pour les dernières versions des navigateurs disponible lors de l'étude, à savoir :

- Apple Safari 4
- Google Chrome 4
- Internet Explorer 8
- Mozilla Firefox 3.5
- Opera 10

Jetons maintenant un oeil aux mécanismes des principaux navigateurs du marché à savoir Internet Explorer, Firefox et Google Chrome:

Internet Explorer 8.0

Internet Explorer 8 utilise la technologie de Filtrage de SmartScreen.

Le système SmartScreen, côté services hébergés, utilise une énorme base de données concernant les abus provenant de plusieurs sources :
- Windows Live Hotmail
- Internet Explorer 8.0 (cf. les 2 billets déjà publiés à ce sujet : utilisation du filtre SmartScreen et configuration en entreprise)
- Bing
- AdCenter
- Exchange
- Microsoft Security Essential
- autres sources...

Chacun de ces services ou programmes implémente des fonctions de sécurité utilisant et reportant au service de réputation SmartScreen.

Si on se focalise sur l'aspect anti-phishing, la constitution de la base de réputation commence par des remontées d'information par télémétrie depuis plusieurs sources :
- Les utilisateurs finaux
- Des données provenant de bases tierces
- Le trafic depuis des URLs présentes dans des courriers électroniques
- Les journaux d'activités de nos différent services...

Certaines de ces sources correspondent à plusieurs milliards d'URL par jour !

D'autres sources contiennent des URLs qu'une tierce partie a certifiées commme étant des sites reconnus de Phishing.

Comment se fait la construction de la base de données SmartScreen ?

Dans un premier temps, SmartScreen identifie une URL comme malveillante. Puis, il va qualifier le nom de domaine concerné comme également malveillant si de nombreuses URL malveillantes existent pour ce nom de domaine.

A partir de là, SmartScreen va également identifier les adresses IP associées aux URLs et noms de domaine à du contenu malveillant et les blacklister.

L'étape suivante va être d'identifier le bloc d'adresses IP sachant que le propriétaire d'une adresse IP peut souvent détenir les adresses adjacentes (cf. Autonomous System Number [ASN] http://fr.wikipedia.org/wiki/Autonomous_System). Si tel est le cas, le bloc complet peut se retrouver en liste noire.

Autre mécanisme clé du système de réputation SmartScreen : les serveurs DNS. Si un serveur DNS héberge un grand nombre de zones correspondant à des noms de domaines suspects, alors Smartscreen affectera une réputation faible à ce serveur.

En résumé, la réputation avec SmartScreen peut être déterminée à plusieurs niveaux :
1- URL
2- Nom de domaine
3- Adresses IP
4- Sous-réseau IP
5- Serveurs DNS
6- Blocs ASN

L'idée derrière cette approche multi-niveaux est d'impacter financièrement les organisation ou groupes criminels à l'origine des attaques de phishing ou de la diffusion de codes malicieux.

Côté poste client (navigateur Internet Explorer 8.0)

Le filtre SmartScreen est une évolution du filtre anti-phishing apparu avec Internet Explorer 7.0 (en version RTM le 19 octobre 2006)

le filtre SmartScreen fonctionne en arrière-plan lorsque vous naviguez sur le Web, en analysant les pages Web et en déterminant si elles comportent certaines caractéristiques suspectes. Si le filtre SmartScreen détecte des pages Web suspectes, il affiche le message « Are you trying to visit this website ? », ce qui vous permet de fournir des commentaires et vous recommande d'être prudent.

Le filtre SmartScreen vérifie si les sites Web que vous visitez figurent sur une liste constamment mise à jour de sites d'hameçonnage (terme français pour le phishing) et des sites de logiciels malveillants connus. S'il détecte l'un de ces sites, le filtre SmartScreen affiche un avertissement rouge pour vous informer que le site a été bloqué par mesure de sécurité.

Le filtre SmartScreen vérifie si les fichiers téléchargés à partir du Web figurent sur la même liste constamment mise à jour de sites de logiciels malveillants connus. S'il trouve l'un de ces fichiers, il affiche un avertissement rouge pour vous informer que le téléchargement a été bloqué par mesure de sécurité.


Note : Le filtre SmartScreen utilise une connexion Web SSL pour envoyer des adresses de sites Web à Microsoft

Informations complémentaires

FAQ sur le filtre SmartScreen
https://smartscreen.microsoft.com/faq.aspx


===============================

Google Chrome

Si la protection antiphishing et antimalware est activée (ce qui est le cas par défaut, cf. la capture d'écran ci-dessous) alors Google Chrome contacte les serveurs de Google 5 minutes après son démarrage puis ensuite environ toutes les 30 minutes pour télécharger une liste à jour des sites suspects (phishing ou véhiculant des logiciels malveillants). Cette liste est ensuite utilisée pour vérifier que le URLs utilisées lors de la navigation sont sans risque.

La liste ne contient pas les URLs complètes (ce qui serait trop volumineux à télécharger) mais une partie du condensé (hash) de chaque URL. Explication : un condensé SHA-256 (donc 256 bits) est généré pour chaque URL suspecte et seuls les 32 premiers bits du condensé sont inclus dans la liste téléchargée par le navigateur.

Chaque fois qu'un utilisateur charge une nouvelle page, un calcul du condensé SHA-256 l'URL saisie dans la barre de navigation ainsi que les URLs utilisées dans la page (scripts javascript, application Flash...) est effectué. Les 32 premiers bits de chaque condensé sont comparés avec ceux de la liste de sites suspects.

Si il y a une correspondance, alors le reste du condensé (les 224 bits restants) sont téléchargés depuis les serveurs de Google afin de vérifier le condensé complet et donc valider l'appartenance de l'URL à la liste des URLs malveillantes.


Page de test de malware chez Google
http://malware.testing.google.test/testing/malware/

Les mécanismes utilisés utilisent le service Google-Safe-Browsing qui est utilisable également par des tiers (c'est à dire hors produits Google) au travers d'une API et d'un protocole de communication (Protocolv2Spec)

Informations complémentaires :

Understanding Phishing and Malware Protection in Google Chrome
http://blog.chromium.org/2008/11/understanding-phishing-and-malware.html

The process for discovering suspected malware-infected websites is described in more detail in a paper written by Niels Provos and colleagues from Google's anti-malware team.
http://www.usenix.org/event/hotbots07/tech/full_papers/provos/provos.pdf

SafeBrowsing Design
http://code.google.com/p/google-safe-browsing/wiki/SafeBrowsingDesign

Google-Safe-Browsing / Protocolv2Spec
http://code.google.com/p/google-safe-browsing/wiki/Protocolv2Spec

Pour reporter des faux positifs à Google pour la partie phishing :
http://www.google.com/safebrowsing/report_error/?tpl=generic


===============================

Mozilla Firefox

La fondation Mozilla implémente la protection anti-phishing de Google (Google Safe Browsing renommé Phishing Protection chez Mozilla) depuis la version 2.0 de Firefox (version finale sortie le 24 octobre 2006).

Google Safe Browsing est une extension anti-phishing mis à disposition par Google sur labs.google.com en décembre 2005. Cette extension a été fournie à la Fondation sous les licences MPL 1.1 / GPL 2.0 / LGPL 2.1

Page de test phishing chez Mozilla :
http://www.mozilla.com/firefox/its-a-trap.html

Firefox est également un partenaire de StopBadware (http://www.stopbadware.org/home/badware) concernant les informations sur les logiciels malveillants (note : Google est également un fournisseur de données pour StopBadware)

Page de test malware chez Mozilla :
http://www.mozilla.com/firefox/its-an-attack.html


Informations complémentaires :

Phishing and Malware Protection
http://www.mozilla.com/en-US/firefox/phishing-protection/

https://wiki.mozilla.org/Phishing_Protection

Adding phishing protection data providers
https://developer.mozilla.org/en/Adding_phishing_protection_data_providers

Pour reporter des faux positifs pour la partie malware:
http://www.stopbadware.org/home/reviewinfo

 

Voilà, j’espère que ce petit tour d’horizon des mécanismes de filtrage anti-phishing / anti-malware inclus dans les navigateurs vous a plu.

Si vous souhaitez apporter des compléments d’informations à cette article, vous pouvez me contacter en cliquant ici.

– Stanislas Quastana -