Solution contre les failles cross-site scripting (XSS)
Solution simple contre d’éventuelles failles XSS des sites pouvant conduire parfois au vol de mots de passes : utilisation de plusieurs navigateurs web, chacun à un usage bien défini.
Suite à l’affaire du piratage du domaine WebRankInfo.com, semble-t-il lié à une faille de son compte GMail de la famille des failles XSS, Oliviez Duffez, le propriétaire légitime de WebRankInfo, a prodigué quelques conseils que sa malheureuse expérience lui a appris. Je me suis moi-même permis de faire le point sur le vol de nom de domaine. Aujourd’hui, je vous propose de nous pencher sur une solution contre les failles de sécurité de type cross-site scripting (XSS). En effe, elles peuvent toucher d’autres applications web que les webmails.
Exploitation d’un faille XSS
Pour mémoire, le principe d’une faille de sécurité de type XSS est généralement le suivant :
- L’internaute se connecte sur un site légitime protégé par un mot de passe.
- L’internaute quitte le site légitime sans s’en déconnecter ou continue à naviguer dans d’autres fenêtres ou onglets de son navigateurs pendant qu’il reste connecté au site légitime protégé.
- L’internaute visite un site malveillant.
- Le site malveillant récupère, généralement via un script spécifique, une information de connexion (cookie, identifiant de session, URL référente, etc.) au site légitime visité de manière authentifiée par l’Internaut.
- Le pirate responsable du site malveillant usurpe l’identité de l’internaute auprès du site légitime pour y faire des opérations malveillantes.
Bien entendu, l’exploitation d’un faille XSS implique tout d’abord que le site légitime ait une faille, ou encore que le navigateur web en possède une. Or, ceci n’est pas si exceptionnel, puisque tous les logiciels possèdent des bugs, certains étant des failles de sécurité, parmi lesquelles des failles XSS connues ou inconnues, exploitées par des individus malveillants ou non. Les services web n’échappent pas à cette règle.
Solution contre les failles XSS
Une parade efficace contre les failles XSS serait de ne pas naviguer sur des sites malveillants. Malheureusement, compte tenu des divers actes de piratage à moyenne et grande échelles, même un logiciel de protection à jour ne permet pas d’éviter toutes les failles. En revanche, les systèmes d’exploitation les plus populaires disposent de navigateurs web multiples.
Par conséquent, la solution simple contre les failles XSS consiste à utiliser un navigateur web dédié aux sites de confiance nécessitant une identification préalable et peu susceptibles de contenir des failles de sécurité en eux-mêmes (tels les sites de votre FAI, de votre webmail ou de votre banque), et un autre navigateur web pour tous les autres usages.
Une solution alternative consisterait à utiliser des comptes (de préférence non administrateurs) distincts de votre système d’exploitation, les navigateurs web stockant chacun les informations de chaque utilisateur dans des emplacements distincts. Cependant, cette deuxième solution est beaucoup plus contraignante et difficile à exploiter à l’usage, en particulier lorsqu’on se connecte fréquemment sur les sites de confiance.
Liste de navigateurs web
En plus de votre navigateur habituel, il est donc conseillé d’installer un navigateur secondaire dédié aux sites de confiance exclusivement. Voici quelques navigateurs alternatifs qui peuvent faire l’affaire (par ordre alphabétique) :
ou bien encore (par ordre alphabétique) :
ainsi qu’une multitude d’autres alternatives.
Limites
Attention toutefois : cette solution a ses limites.
Ainsi, si vous naviguez sur votre service webmail avec votre navigateur « sécurisé » et que vous affichez un email malveillant ou que vous cliquez sur un lien externe pointant sur un site malveillant, la sécurité des services laissés connectés pourrait être compromise au même titre que si vous n’utilisiez qu’un unique navigateur pour l’ensemble de vos opérations. Mieux vaut, par précaution, nettoyer régulièrement les informations du navigateur, tels les cookies, historique ou mémoire cache.
Cette solution n’a pas vocation à vous prémunir d’autres failles logicielles que les failles XSS. Si la sécurité de votre système est compromise du fait d’un keylogger, par exemple, l’utilisation de plusieurs navigateurs n’améliorera pas la sécurité de votre système.
Enfin, malgré les standards, les sites web, de plus en plus riches et interactifs, sont souvent spécifiques à certains navigateurs, et le palmarès de la compatibilité avec le plus grand nombre de sites et services en ligne reviennent à Internet Explorer, tout d’abord, suivi de Firefox, ensuite. Les faibles parts de marché des autres navigateurs impliquent qu’ils sont souvent ignorés par les développeurs et intégrateurs web, en particulier au niveau des fonctionnalités JavaScript, et ce, quel que soit le respect des standards web garantis par le navigateur.
Conclusion
Dédier un navigateur web à un type d’utilisation est un bon moyen de limiter les risques liés aux failles XSS. Cependant, c’est une solution relativement contraignante et dont la compatibilité n’est pas parfaite. Néanmoins, cela reste un bon compromis entre sécurité et contraintes.
En aucun cas, cependant, cette solution ne doit être employée comme seule sécurité. En effet, elle doit obligatoirement s’accompagner d’une démarche de sécurisation globale du système d’information, notamment par la mise à jour régulière du système d’exploitation et des navigateurs web (notamment), mais aussi par l’installation et l’utilisation de logiciels de protection adaptés sur le poste de travail, tels que pare-feu, anti-virus et anti-malware.
Réactions des lecteurs
Il y a 3 réactions pour l'article Solution contre les failles cross-site scripting (XSS).
Lilian a écrit le 14 septembre 2008 :
Très mauvais article : on a l’impression que le seul moyen d’échapper à ce genre de hack tiens dans le choix du navigateur. A mon sens, le navigateur est fautif dans 5% des cas, et il y a bien un millier d’autres cas de failles pour lesquelles le navigateur ne pourra absolument rien…On frôle la désinformation…ou le manque de compétence !
Martin a écrit le 15 septembre 2008 :
@Lilian : Je t’encourage à relire l’article pour mieux le comprendre, car ce n’est pas la solution que je présente ici, mais une solution. Par ailleurs, le problème n’est pas un problème lié à un navigateur en particulier, mais est général au fonctionnement des cookies et aux sites malveillants volant des cookies à d’autres sites mal protégés (notamment via l’utilisation d’une connexion sécurisée comme c’est désormais possible depuis le mois d’août 2008 sur GMail). De plus, cantonner un navigateur aux sites sûrs et auxquels on se connecte exclusivement avec ce navigateur particulier empêche les failles de type XSS d’être exploitées par les sites malveillants visités par d’autres navigateurs. La solution préconisée ici — il y en a d’autres — est donc tout à fait bonne, d’autant qu’elle est simple à mettre en œuvre, même si elle nécessite une certaine discipline.
Enfin, je t’invite à mesurer tes propos avant de passer pour quelqu’un qui lit en diagonale, ne comprend pas et réagit à chaud, car ce n’est pas moi qui passe pour un désinformateur ou un incompétent ici…
Hugin a écrit le 11 décembre 2008 :
Solution contraignante mais efficace, bonne idée merci.
Réagissez à cet article !
Il y a 3 réactions pour l'article Solution contre les failles cross-site scripting (XSS).