Tout le monde sait combien la sécurité est importante surtout dans le monde virtuel des ordinateurs. Dans ce domaine il y a la cryptographie qui nous permet de protéger des messages permettant notamment de garantir la confidentialité ainsi que l’ authenticité à l’aide de l’utilisation de clés ou secret.
Un récent d’article publié sur Le Monde samedi annonce qu’une équipe allemande dirigé par Jean-Pierre Seifert, a découvert une grosse faille au plus bas niveau de l’ordinateur : le processeur.
En effet, le processeur travaillant en parallèles avec un pipeline d’exécution inclut un système de prédiction d’embranchements qui lui permet de commencer à traiter les instructions qui ne sont pas encore fini en essayant de « prédire » leurs résultats. Si la valeur deviner était la bonne : tant mieux ont a gagné du temps, par contre si la valeur prédit n’est pas correcte, le processeur doit revenir en arrière mais statistiquement cela fait gagner beaucoup de temps et donc de performance. (Plus d’info sur Wiki Cublic)
La faille se base donc sur cet élément du processeur, qui nous permettrait en écoutant de manière synchrone le processeur de prédire la clé privé quand celui ci l’utiliserait. La faille sera présenté à la conférence RSA en début d’année 2007 mais Mr Seifert estime qu’il ne serait une question de semaine avant de voir arriver dans la toolbox des hackers des petites taupes observant les calculs du processeur pour récupérer les clés.
Ce type de faille est bien connu par l’armée américaine qui mettent en garde depuis longtemps contre les attaques fondées sur l’analyse des temps de calcul. Ces attaques sont déjà possibles sur des cartes à puce, avec lequel ont peu mesurer tout un tas de paramètres comme sa consommation pour tenter de deviner la série de bit utilisée lors d’un simple calcul RSA. Mais d’âpres certain expert, les systèmes d’exploitation eux même inclut une couche de sécurité en faisant du bruit au niveau du processeur lors de l’accès aux clés.
Un document plus technique d’un expert en la matière disponible ici, affirme que ce genre d’attaque est très difficile à mettre en oeuvre car elle dépends de nombreux facteurs (type de processeur, sa fréquence, etc..). Il serait donc difficile pour certains de voir généraliser ce genre d’attaque dans la vie courante sur tout type de processeur. De plus, comme stipulé dans l’article, David Naccache de l’ université Paris II estime qu’il n’y a pas d’opération à coeur ouvert possible, en d’autre terme, difficile de pouvoir toucher/observer le système de prédiction sans perturber l’activité normale du processeur.
En clair, je pense qu’il faut mieux attendre la présentation de cette « faille » début 2007 à la conférence RSA pour vraiment savoir de quoi il s’agit avant de monter sur ces grands chevaux en criant que la sécurité informatique ne vaut plus rien comme l’affirme le titre son article : Les puces ne garantissent pas la sécurité des échanges en ligne… Certe il y a un problème de sécurité, après il faut voir comment elle pourra être exploitée. Dans le long terme, les processeurs vont surement eux même intégré une notion plus forte de sécurité, à court terme ce genre d’attaque peut être contré en désactivant le système de prédiction (qui réduit tout de même les performances de près du quart)…
Bref, attendons la suite…. Qui vivra verra
[UPDATE du 23/11/06] : J’ai trouvé un article publié sur Indexel qui confirme ma position prise sur le sujet : Cryptographie : fausse faille ou véritable intox ?. Je vous cite la conclusion :
Toutes ces réservent ne remettent cependant pas en cause la publication de Jean-Pierre Seifert : en tant qu’amélioration d’une technique connue, la découverte est passionnante. Mais il faut la replacer dans son contexte : d’une attaque difficile à mettre en oeuvre et qui exige par ailleurs un scénario improbable, l’universitaire en a fait une attaque plus simple à mettre en oeuvre dans certains cas particuliers mais qui exige toujours un scénario aussi improbable. Ce n’est donc pas la fin des achats sur internet, comme ont pu le croire certains médias généralistes.