Lors de la conférence Black Hat qui se déroule à Las Vegas, des spécialistes de la sécurité ont présenté une méthode originale de hacking.  Jeremiah Grossman, CEO de White Hat Labs explique qu'« en cliquant sur des publicités en ligne malveillantes, un navigateur peut se retrouver immédiatement enrôlé dans un botnet pour mener des attaques par déni de service DDoS contre des sites ciblés. Mais, bonne nouvelle, dès que le navigateur passe à un autre site web, il se libère de l'emprise du botnet, sans avoir commis de dégâts ». Reste une question selon le chercheur : « qui doit se charger de résoudre ce problème ? Les éditeurs de navigateurs internet ? Les publicitaires? »

Le schéma de recrutement dans un botnet repose sur le fait que lorsqu'un navigateur se connecte à un site web, le réseau de robots prend un contrôle quasi complet du navigateur tout le temps où il se trouve sur la page en question. « Il peut exécuter du code HTML et du JavaScript dans le navigateur, ce qui laisse ouvert un certain nombre de possibilités d'attaques », a-t-il ajouté.

Un botnet DDoS à 150 dollars

Pour créer un botnet « à la volée », Jeremiah Grossman et son associé, Matt Johansen ont placé du code JavaScript dans des publicités en ligne en passant par un réseau publicitaire officiel. Ils ont aussi payé pour que leurs annonces génèrent un certain nombre de clics. « Un botnet composé d'un million de navigateurs recrutés selon ce principe revient à environ 150 dollars », a-t-il déclaré. Avec le code JavaScript, les navigateurs piratées ont pu envoyer de multiples requêtes vers un serveur web cible afin de le saturer. Pour le test, les chercheurs ont utilisé leur propre serveur Apache hébergé dans le cloud Amazon.

Chaque navigateur peut générer six requêtes HTML à la fois en raison d'une limite imposée par le navigateur pour  maintenir un certain niveau de performance et de stabilité. « On peut programmer le code JavaScript pour envoyer des requêtes FTP au lieu du HTML. Dans ce cas leur nombre peut grimper à 100 requêtes et plus », a expliqué le CEO de White Hat Labs. « Pour accroître la taille et la puissance du botnet, il faut recruter un grand nombre de navigateurs », constate le chercheur.

L'ajout de code JavaScript arbitraire dans les publicités est facile à faire et, d'après ce qu'ont pu constater les scientifiques, l'annonceur n'a pas vérifié de très près la qualité du code de leurs annonces. Par ailleurs, afin de rendre la modification du script malveillant plus pratique, ils ont placé la source du script dans l'annonce au lieu du script lui-même. « De cette façon, nous avons pu modifier le script depuis nos propres serveurs et les modifications ont été répercutées sur les annonces sans avoir à passer par le réseau publicitaire », a expliqué Matt Johansen.

18 heures après la mise en ligne des annonces, le système a généré 8,1 millions de requêtes vers le serveur entrant, dans un laps de temps suffisamment rapide pour le saturer. « Nous avons envoyé six requêtes HTTP à la fois, sans utiliser le raccourci FTP », a déclaré Jeremiah Grossman. « Dans la mesure où le recrutement pour le botnet se faisait à l'insu des utilisateurs, nous ne voulions pas apporter de modifications aux navigateurs », a-t-il dit.

Peu de méthodes de protection

L'avantage de la méthode pour les pirates, c'est que le botnet est aléatoire et ne dépend pas d'un serveur de commande et de contrôle (C&C) qui peut être repéré et mis hors d'état de nuire. Le CEO de White Hat Labs n'est pas sûr que les analystes en sécurité soient en mesure de tracer la publicité qui sert à faire tourner ce type de botnet et de remonter aux personnes qui ont mis en place le système. « On peut retrouver celui qui a payé pour l'annonce malveillante », a-t-il dit.

« Les bloqueurs de pubs utilisés pour accélérer le chargement des pages web et atténuer l'impact des annonces sur la navigation pourraient devenir des outils de sécurité si cette technique est adoptée par certains pirates », a déclaré Jeremiah Grossman, mais celui-ci n'a pas proposé de méthode pour arrêter ces attaques. « Nous nous sommes contentés d'utiliser la manière dont fonctionne le web et nous avons fait tomber notre propre serveur », a-t-il ajouté.