Accueil Nos publications Blog [Nuit du Hack] Navigateurs et sécurité informatiques ou comment exécuter du code sur une machine distante

[Nuit du Hack] Navigateurs et sécurité informatiques ou comment exécuter du code sur une machine distante

imagesAujourd’hui tout ou presque se fait en ligne. On peut y faire nos courses, rencontrer des gens, fournir des services, dans certains pays on peut même voter ! C’est donc tout naturellement que le niveau de sécurité demandé aux navigateurs a augmenté exponentiellement au cours des dernières années.

Lorsqu’on parle de sécurité informatique, on pense aujourd’hui au Social Engineering qui est la méthode la plus connue pour la distribution de malwares. Cependant nos chers navigateurs eux aussi offrent un certain nombre d’opportunités aux hackers…

Le 22 juin a pris place la Nuit du Hack, conférence annuelle organisée par Hackerz Voice depuis 2003. C’est à cette occasion que j’ai pu voir la conférence intitulée Abusing Browsers User Interfaces For Fun & Profit.

Rosario Valotta, le speaker, nous a donc parlé de Chrome, non pas le navigateur, mais l’interface qui entoure le contenu sur le web.

Attaques basées sur le navigateur

Il existe un certain nombre d’attaques basées sur les navigateurs, en voici quelques-unes qui ont été présentées lors de la conférence :

Picture in picture attack

Ce type d’attaque place une image de navigateur au sein même du navigateur, rendant difficile la différenciation entre le contenu et le navigateur, permettant une attaque de type Phishing.

URL Obfuscation attack

Cette attaque exploite un défaut des navigateurs qui ne sont pas capables d’interpréter une url demandée par l’utilisateur. Nous savons que parfois une url peut contenir des informations d’identification, et certaines url peuvent être très complexes tout en respectant le format habituel (https://user:pwd@site.com), par exemple https://www.mabanque.fr&service=…@13.32.42.53/malware/index.htm. Lorsque l’utilisateur se retrouve confronté à ce type d’url, il se crée un écart entre ce que perçoit l’utilisateur et le comportement du navigateur, qui enverra l’utilisateur sur l’index.htm, et non le site mabanque.fr.

Download Dialog Spoofing

Ce type d’attaque, encore en cours aujourd’hui, consiste à lancer le téléchargement d’un fichier (un malware évidemment) au sein d’une popup affichant le contenu d’un site sans danger, tel que la page de téléchargement de Flash, faisant croire à l’utilisateur que le fichier provient de cette même page.

Ces différentes attaques montrent à quel point il est important que le navigateur notifie l’utilisateur des problèmes de sécurité afin de créer une relation de confiance avec le navigateur et avec les autres utilisateurs.

Notifications de sécurité

Il existe deux types de notifications, les modales et les non modales dont voici les caractéristiques :

Modale

  • Attire l’attention de l’utilisateur
  • Contraste avec le contenu
  • Empêche l’utilisation
  • Peuvent être vraiment pénibles 🙂

Du fait qu’une notification modale qui se répète régulièrement peut devenir lassante du point de vue de l’utilisateur, ce dernier a tendance à tenter de répondre le plus rapidement possible à la question, parfois sans réfléchir ou sans regarder, créant ainsi une faille de sécurité.

Non modale

  • Veut informer sans interrompre
  • Reste dans le contexte de la fenêtre
  • Fait partie de Chrome

Protection

Alors que les navigateurs utilisent de plus en plus exclusivement les notifications non modales, ces dernières ne sont pas sans défauts… Par exemple :

  • Elles peuvent être accédées via la touche TAB
  • Elles sont affichées même en arrière-plan
  • Il existe des raccourcis clavier pour ces notifications
  • Elles sont liées à la fenêtre de navigation

En tirant parti de ces quatre défauts, Rosario a fait une démonstration d’une attaque qui lui a permis d’exécuter un fichier. La démonstration consistait en un site de test d’écriture au clavier qui, au chargement de la page, créait une popunder qui téléchargeait un fichier. L’utilisateur, croyant tester sa vitesse de frappe, tapait une série de touche qui correspondait à certains raccourcis clavier, le tout ayant pour résultat l’exécution du fichier.

chrome

Il existe cependant un mécanisme basé sur la réputation pour se prémunir de ce genre d’attaques. Il est composé de deux parties :

  • Un système basé sur la réputation du site ou de l’application
  • Un agent côté client qui vérifie la réputation du fichier

Il existe principalement deux implémentations de ce mécanisme. Safebrowsing du côté de Google Chrome, Firefox et Safari et Smartscreen Filter du côté d’Internet Explorer. Cependant la réputation n’est pas fiable à 100%, et on peut gagner en réputation en achetant des certificats. De plus, il faut être connecté à internet pour effectuer la validation de réputation. Enfin, le temps que le malware ait une réputation, plusieurs jours peuvent s’écouler, permettant tout de même une contamination…

Que faire ?

Rosario a fait quelques propositions d’amélioration des navigateurs afin d’augmenter leur fiabilité au niveau de la sécurité :

  • Désactiver les notifications en arrière-plan qui sont au final inutiles et faire en sorte que ces notifications réapparaissent une fois la fenêtre au premier plan
  • Désactiver les raccourcis claviers et surtout la touche TAB au sein des notifications, la souris est suffisante
  • Si la souris ne suffit pas, implémenter des raccourcis clavier complexes
  • Certaines notifications, tel que le téléchargement de fichier, devraient être notifiées à niveau supérieur à celui de la fenêtre, comme une notification globale à toutes les instances du navigateur
  • Laisser plus de temps à l’utilisateur lors des changements de fenêtres (via des effets graphiques par exemple) afin d’améliorer son temps de réaction

Rosario a conclu sa présentation en indiquant que le changement de modale vers non modale n’est pas au point et que trop de techniques existent encore qui permettent l’exécution de code malveillant depuis le navigateur.

Conclusion

Bien qu’ayant des navigateurs tellement performants, il reste très simple d’exposer sa machine à des malware, comme nous l’avons vu une touche suffit.

Merci à la Nuit du Hack et à Rosario pour cette présentation très intéressante. Le sujet est d’actualité et la présentation en elle-même était magnifique !

Pour aller plus loin