La dernière étude de Google portant sur les sites web malicieux indique que rien n'est gagné contre ces sites cherchant à infecter ou à prendre le contrôle des machines des internautes.
L'étude de Google "Trends in Circumventing Web-Malware Detection" (PDF, 12 pages) porte sur l'analyse de près de 8 millions de sites web sur une période de 4 ans et des remontées d'alertes effectuées via leur service SafeBrowsing intégré aux navigateurs Internet. Cette étude met l'accent sur les techniques utilisées par les sites malicieux pour éviter toute détection.
Le service SafeBrowsing
Le service SafeBrowsing de Google permet d'alerter un internaute dès qu'il tente de se connecter sur un site web considéré comme malicieux par Google. La base de données SafeBrowsing est alimentée par Google dès qu'un site web a été identifié comme propageant des codes malicieux. Grâce à SafeBrowsing, c'est près de 3 millions d'avertissements qui sont quotidiennement affichés aux internautes ayant fait le choix d'un navigateur utilisant compatible.
Fuir à tout prix d'être dans cette liste noire
Cette base SafeBrowsing contenant les URLs des sites malicieux, l'objectif de Google est évidemment de s'assurer qu'elle soit la plus exacte et complète possible : Si une URL est absente, l'internaute ne sera pas pas prévenu (faux négatif) ; au contraire si une URL s'y retrouve par erreur alors il sera avertit sans que cela ne soit nécessaire (faux positif).
Pour les attaquants c'est l'inverse : Ils souhaitent à tout prix que les sites web malicieux ne soient pas dans cette liste : ils vont donc user de stratagèmes divers et variés pour la détection par les outils de Google. Pour rester "sous le radar" des systèmes de Google, diverses techniques d'évasion sont utilisés.
Systèmes de Google : Des pots de miel clients
Gardons à l'esprit que les systèmes utilisés par Google pour détecter les sites web malicieux sont basés sur des machines virtuelles (VM - Virtual Machines) dans lesquelles s’exécutent des navigateurs Internet et des émulateurs de navigateurs (il s'agit de programmes "mimant" le fonctionnement d'un navigateur et donc aussi leurs failles de sécurité connues). Tout est fait pour faciliter la détection : Ni les systèmes d'exploitation (Microsoft Windows) ni le navigateur (Internet Explorer) et ses extensions ne sont pas patchés.
En plus de cet environnement particulièrement "propice aux attaques", tous les flux réseaux sont capturés, enregistrés et analysés par des antivirus et les évènements systèmes eux aussi sauvegardés. Pour finir, ces données sont analysées : De la sorte, une URL sera classée ou non comme étant ou non malicieuse.
Techniques d'attaques
Les techniques d'attaques ne sont guère variées : 98% d'entre elles exploitent des failles de sécurité au niveau du navigateur web, de l'une de ses extensions ou d'un plugin. Pour ce qui concerne les 2% restants les attaquent s'appuient sur l'ingénierie sociale (principalement via la demande d'installation d'un faux logiciel antivirus). La conclusion est donc que sécuriser son environnement de navigation est donc une précaution de base.
Un point intéressant sur ce 2% résiduel : Les chiffres montrent une nette explosion de ces antivirus frelatés (passage de 1 site en Janvier 2007 à 4230 sites en Septembre 2010) ; tendance à surveiller car il n'existe pas de correctif /patch pour le type de faille qu'est la naïveté, l'ignorance ou la précipitation à cliquer sur la première pop-up affichée. :-) De plus, cette technique d'attaque ne peut être détectée via des outils automatisés.
Techniques d'évasion
Pour éviter qu'un site web malicieux ne soit détecté comme tel par les systèmes de Google, les attaquants déploient des trésors d'ingéniosité. Passons en revue quelques uns d'entre-eux pour en tenter d'en ressortir quelques recommandations utiles.
- Attendre un premier clic avant de lancer le code malicieux
- Utiliser les dernières vulnérabilités
- Obscurcir le code pour contrer les émulateurs
Un premier clic avant d'attaquer
L'une des techniques pour éviter d'être détecté est de n'envoyer le code malicieux que si la page est consultée par un internaute bien réel et non pas via des outils. L'une des techniques utilisées est de n'envoyer le code malicieux qu'une fois reçu le premier clic. Google ayant identifié cette techniques ils ont fait évoluer leurs outils et c'est 40% de plus de pages qui ont pu être ainsi détectées.
Dernières vulnérabilités et du code tordu
L'analyse de Google indique que les failles utilisées pour prendre le prendre le contrôle d'un internaute sont parmi les toutes dernières. La raison est évidente : Cela permet aux attaquants de forcer un plus grand nombre de systèmes possibles. L'effet de bord est de rendre encore plus complexe le travail de détection via les émulateurs de navigateurs car en effet ils doivent sans cesse être actualisés. Comme indiqué dans la figure suivante, l'utilisation de vulnérabilité non encore publiées publiquement n'est pas marginal.
Le code source des attaques (généralement du javascript) est lui aussi l'objet de techniques visant à le rendre difficile à analyser : L'objectif final étant que les antivirus ou IPS ne puissent détecter facilement une chaîne de caractère connue ; le chiffrement via RSA ou RC4 étant aussi couramment utilisé. Toutes ces techniques font que les codes des malwares sont complexes à émuler et donc à détecter de façon automatique.
Alors que l'utilisation de vulnérabilités "fraîches" n'a pas vocation première et directe à rendre les attaques moins visibles lors d'une analyse, les techniques d'obscurcissement le sont clairement.
Les antivirus restent peu efficaces
Le niveau de détection des antivirus est globalement assez faible, et ce malgré les efforts des éditeurs de logiciels antivirus. Cependant, une fois les codes rendus lisibles (via un passage dans les émulateurs de navigateurs Internet), la qualité de la détection par les antivirus s'améliorant de près de 40%. Les techniques d'obscurcissement de code et de chiffrement utilisés sont donc efficaces...
De plus, il est clair que les attaquants utilisent eux-mêmes les antivirus des éditeurs pour vérifier que leurs codes d'attaques ne sont pas détectés lorsqu'ils sont mis en production.
Noms de domaines multiples et blocage d'adresses IP
Pour finir, deux autres techniques sont utilisées pour éviter qu'une URL ne se retrouve dans la base SafeBrowsing. La première est de déposer un très grand nombre de noms de domaines et d'aiguiller ensuite le trafic via des points de redirection (système basé sur le principe de rotation). Les infections étant ainsi réparties sur un grand nombre de noms de domaines, celles-ci ont moins de chance de se retrouver prises dans les filets. Une autre technique apparentée à la première est de faire passer le trafic via des sites tiers (tunneling).
Enfin, une technique dite de "IP cloaking" vise simplement à servir une page totalement vierge de toute attaque dès que la requête provient des serveurs de Google SafeBrowsing. Ainsi, les serveurs de Google ne voient aucun code malicieux... simple et efficace. Sur la période de 2009-2010, cette technique a été utilisée pour environ 130.000 noms de domaines. La progression par rapport aux années précédentes indique clairement que cette technique (ou la capacité de la détecter) est en plein boom.
Quelques recommandations
L'étude de Google confirme qu'il est important de ne pas baisser la garde et que la menace posée par les infections via des sites web n'est que trop présente. Si je devais en ressortir quelques recommandations de mon couvre-chef :
- Sécuriser son environnement de navigation sur Internet (Système d'exploitation, navigateur Internet, extensions doivent impérativement être complètement à jour des correctifs). Ce n'est pas une sinécure mais c'est le point le plus important. C'est peut-être le bon moment de considérer un passage vers du desktop virtualisé.
- Un antivirus actif et mis à jour toutes les heures, voir en temps-réel. Il y a peut-être des choses à trouver du coté d'une approche "service de sécurité en mode cloud" de ce coté.
- Renforcer son programme de sensibilisation des personnes pour qu'elles restent vigilantes face aux demandes d'installation d'extensions ou de logiciels antivirus.
Bref, rien de bien nouveau me diront certains : Ils auront raison. Le hic, c'est que c'est assez rarement le cas dans beaucoup de sociétés. Celles-ci se retrouvent donc rapidement avec un nombre important de machines infectées au sein de leur réseau privé.
PS: Au risque que certains trouvent cela un peu surfait, il n'est pas nécessaire de surfer sur des sites pornos pour chopper la petite vérole numérique. Oui, ce "mythe" est encore coriace...