Une vulnérabilité découverte dans un API d’HTML5 permet de connaitre l’historique de navigation d’un internaute. Cette possibilité a été annoncée dans un document diffusé par le Context Information Security sous le titre de « Pixel Perfect Timing Attacks with HTML5« . Le problème se situe dans l’API requestAnimationFrame.
Cet API consulte l’historique de votre navigateur pour différencier un site web que vous avez visité et celui qui vous aller visiter. Seulement, il a été découvert qu’il était aussi possible, pour un site malveillant, de mettre la main sur l’historique de navigation de chaque visiteur. Si vous couplez requestAnimationFrame à une interception d’ip et quelques informations privées, vous voilà avec la vie privée numérique de l’internaute bien mal en point. Côté conseil, utilisez le monde « Navigation privée » de votre navigateur.
Facebook, Twitter, Google, Linkedin, Bong, Amazon, Mozilla, Reddit, souffrent de cette potentialité malveillante. Cette technique s’est avérées très efficaces, permettant à un site malveillant de contrôler des milliers d’URL par seconde pour voir si un utilisateur a visité les principaux portails du web. En 2010, David Baron a publié une proposition pour prévenir de telles attaques, en limitant les styles (css) qui peuvent être appliquées aux liens visités et veiller à ce que l’API JavaScript appelle que les styles des éléments à visiter. Les correctifs avaient été mis en œuvre dans tous les principaux navigateurs. Sauf que la faille découverte permet aussi de lire, à distance, les pixels et, avec un peu de malice, permettre à un pirate de lire ce qui s’affiche dans le navigateur. Le White paper de CIS.