Les PC Intel récents sont à la merci d'un simple code JavaScript malveillant, d'après des chercheurs de l'Université de Columbia

Par:
fredericmazue

jeu, 23/04/2015 - 17:04

Simple code JavaScript est en fait une façon de parler. Disons plutôt que les PC Intel peuvent être cyber-espionnés par un seul code JavaScript malveillant, mais celui-ci n'a rien de simple. Au contraire, il s'agit ici d'un hacking de très haut niveau, du genre de ceux avec lesquels aiment bien jouer la NSA et autres organismes de cyber-espionnage.

Le procédé est décrit par
Yossef Oren, Vasileios P. Kemerlis, Simha Sethumadhavan et Angelos D. Keromytis, chercheurs à l'Université de Columbia, dans un document dont la lecture peut être qualifiée d'ardue.

L'attaque est du type Side Channel Analysis. Il ne s'agit pas ici d'exploiter une faille de sécurité logicielle ou matérielle, mais d'extraire des informations en observant les variations d'états de la machine physique attaquée. L'originalité de l'attaque décrite par les chercheurs tient dans le fait qu'elle peut être effectuée avec un simple navigateur comme canal. Tout PC avec un microprocesseur Intel (en l'occurrence des CPU Ivy Bridge, Sandy Bridge ou de la famille Haswell), sur lequel est présent un navigateur qui supporte HTML5 est vulnérable. Les PC qui embarque un processeurs AMD ne le sont pas en raison des différences architecturales des puces de ce fondeur. Tous les processus, tous les utilisateurs et même les machines virtuelles tournant sur une machine hôte vulnérable peuvent être atteints par l'attaque.

Les chercheurs ont démontré qu'il était possible par ce moyen de suivre les mouvements de la souris ou l'activité réseau. A priori rien ne semble s'opposer à ce que le procédé puisse être employé pour mettre en place un keylogger ultra hitech.

La vulnérabilité se situe dans la mémoire cache des processeurs Intel. La mémoire cache est une mémoire qui établit un pont entre le CPU lui-même et la RAM. Son rôle est d'amoindrir les différences entre les temps de réponse du CPU et de la RAM, ceci à des fins de performances.

Les chercheurs ont implémenté en JavaScript un algorithme complexe. Ce code de moins de 500 lignes est injectable depuis une simple page Web malveillante. L'idée de base de ce code consiste à occuper de la mémoire. Donc au final de façon certaine à être présent dans la mémoire cache du CPU. Puis le code observe ses temps de latence. A partir des variations du temps de latence, il fait des déductions sur ce qui se passe à côté de lui dans le cache.  

Si vous avez de l'aspirine à portée la main, n'hésitez pas, lancez-vous dans lecture du document PDF qui détaille le procédé.