Lorsque vous naviguez sur Internet, votre navigateur va automatiquement ou sur votre demande aller récupérer des pages web, photos ou vidéos aux quatre coins du monde. C’est ce qui a fait la force d’Internet et que les sites Web 2.0 utilisent à outrance pour offrir la meilleur expérience utilisateur possible.
A côté de cela, on peut légitimement se demander si le navigateur n’est pas un peu trop crédule dans cette course au liens. Si un site Chinois référence des images présentes sur votre Intranet ou charge une partie du site de votre banque dans sa page, cela ne génera nullement votre navigateur. Et vous ?
Dans le jeu du chat et de la souris qui oppose les pirates et chercheurs en sécurité aux développeurs et mécanismes de protection, l’avantage est actuellement dans le camp du chat. Alors que le Web n’a jamais été aussi développé et utilisé à des fins commerciales, de nombreux problèmes de sécurité noircissent toujours le tableau :
- XSS (Cross-Site Scripting) : Une vulnérabilité dans un site web permettant de faire executer du code externe en contournant la protection de ‘same origin policy‘. Peut servir à voler les cookies de session d’un utilisateur.
- CSRF (Cross-Site Request Forgery) : Un manque de contrôle dans un site web pouvant être utilisé pour faire executer des actions (envoi d’email, modification de mot de passe, …) par un utilisateur à son insus. Il y a quelques semaines, une étude a révélé que certains sites majeurs comportaient ce genre de vulnérabilités. Le site de la banque INGDirect pouvait en particulier être utilisé pour réaliser des transferts d’argent…
- Clickjacking : Technique (récente) permettant de faire charger un site authentifié en arrière plan et de faire cliquer l’utilisateur afin de lui faire exécuter des actions sous son nom et à son insus. Une démo est présente ici.
- Intranet scanning : Utilisation de Javascript (ou non) afin de scanner, d’identifier (et éventuellement d’intéragir avec) un ensemble de machines situés sur le réseau interne.
- DNS rebinding : Exploitation du protocole DNS permettant de contourner la protection de ‘same origin policy‘ des navigateurs afin de faire executer du code ayant accès à un site légitime.
Bien entendu, il est souvent recommandé de se connecter à un site contenant des informations sensibles (type banque) que depuis un navigateur sans aucun autre site ouvert (et de préférence venant d’être démarré). Mais qui relance son navigateur avant de se connecter à sa banque ? Qui ne navigue jamais sur Internet avec un onglet sur son Intranet ou son webmail ?
C’est dans ce contexte que je me suis longtemps interessé à la possibilité de cloisonner les sessions de navigation par niveau de confiance : Il est normal que mon Intranet référence un lien vers Internet, mais il n’est pas normal qu’un site quelconque référence un lien vers mon Intranet. Dans une vie (plus ou moins) antérieure, j’ai étudié avec succès ce type de filtrage au niveau périmétrique mais HTTPS et Javascript permettent de le contourner. La seule possibilité pour le faire de manière efficace est de le faire directement dans le navigateur.

En co-fondant commonIT, j’ai immédiatement milité pour placer le cloisonnement de sessions au coeur du produit VirtualBrowser. Avec la virtualisation du navigateur, le cloisonnement de sessions et la mobilité, Virtual Browser offre une solution efficace et innovante de navigation sécurisée.
Tags: cloisonnement, virtual browser, web security

1 commentaire
Rétrolien
http://commonit.com/blogs/fr/2008/11/15/votre-navigateur-est-il-de-confiance/trackback/
24 novembre 2008 à 17:00
Daniel Fages
Math,
pour aller dans ton sens, je suis tombé sur cet article http://www.courier-journal.com/article/20081123/BUSINESS/811230478/1003 qui reprend la position de Jeremiah Grossman, fondateur de Whitehat Security. Il y explique que, pour se connecter au site de sa banque, il est préférable d’utiliser un navigateur qui sera dédié à cette tâche (indépendant donc du navigateur qui sert à surfer sur Internet). Très bonne idée que je partage… mais avec le nombre d’applications critiques que nous utilisons maintenant, va-t-on utiliser un navigateur différent par application ??? Tu me vois arriver, mieux vaut utiliser Virtual Browser