Dernières actualités :
11avr2012

Des sites web populaires vulnérables à des failles CSRF

Publié dans : Analyse des risques, Dossiers

Egor Homakov, un développeur web russe connu pour avoir piraté le service d’hébergement et de gestion de développement de logiciels GitHub en mars 2012, a annoncé via son blog une liste de failles CSRF découvertes sur plusieurs sites Internet très populaires. Parmi les services concernés : about.me, Badoo, Bitbucket, Dailymotion, Formspring, GitHub, Hulu, Lockerz, Moneybookers, oDesk, Posterous, SlideShare, Vimeo et yfrog. L’équipe de Secu Insight revient sur les vulnérabilités exploitées sur ces sites ainsi que leurs impacts sur la sécurité des internautes.

Qu’est-ce qu’une faille CSRF ?

CSRF (ou XSRF, pour Cross Site Request Forgery) est un type d’attaque propre aux applications Web. Cette technique exploite le manque de vérification sur l’origine d’une requête vers un site web donné, afin d’y effectuer des actions (poster ou supprimer un commentaire, s’inscrire à un service, etc.) à l’insu de l’utilisateur. Elles sont actuellement en 5èmeposition sur le TOP 10 OWASP des vulnérabilités web les plus courantes en 2010. Concrètement, imaginons qu’Alice cherche à s’abonner au flux vidéo de Bob sur dailymotion.com.

GET /pageitem/user/subscribe?request=Bob&method=toggleSubscribe

Quand Dailymotion reçoit la requête, le site suppose que le lien a été cliqué par l’utilisateur depuis un bouton sur le site (et c’est précisément ici qu’il peut y avoir abus). Imaginons maintenant que le tag image suivant soit placé sur un autre site web, à haute fréquentation :

<img src=/pageitem/user/subscribe?request=Bob&method=toggleSubscribe />

Tous les navigateurs affichant ce site Internet chercheront à « charger » l’image, en effectuant une requête GET sur cet URL. Si l’utilisateur était déjà authentifié sur Dailymotion, le chargement de cette image aura pour effet d’abonner l’utilisateur au flux de Bob ! Cette technique permet donc d’ajouter des centaines d’utilisateurs à un flux à leur insu, en simulant une requête authentifié.

CSRF, un danger ignoré ?

Ces failles non critiques permettent tout de même d’usurper l’identité de l’utilisateur d’un service afin manipuler (à différents degrés) ses informations. Mais parfois l’impact de ces failles peut être plus important : par exemple, les failles CSRF détectées sur le site Moneybookers permettaient en effet d’effectuer les transferts d’argent à l’insu de l’internaute. Suivant les guides de « responsible disclosure », Egor Homakov a averti l’équipe de développement avant de rédiger son article et les vulnérabilités ont été corrigées.

Plusieurs techniques existent pour réduire l’impact de ces failles : limiter la durée des sessions (donc la durée de vie des cookies), vérifier les entêtes HTTP, etc. Une des méthodes les plus efficaces est d’inclure un token unique pour toutes les requêtes : seul le site même saura quel token recevoir pour valider et authentifier la requête.

Avis aux développeurs et administrateurs de sites Internet : avez-vous pensé à ce type de failles ? Êtes-vous conscients de leurs impacts sur vos applications web ?

Sources :

 


En savoir plus !