Oubliez les backdoors : voici une side-door sur iPhone pour deviner une signature numérique !

Protection des donnéesAppleBackdoorCryptographieCybercriminalitéSmartphone
signature numérique

Oubliez les backdoors : voici une side-door sur iPhone pour deviner une signature numérique !

signature numériqueVous vous rappelez des premiers téléphones portables ?

Vous étiez en train de regarder la TV, ou bien d’écouter la radio, et soudain vous entendiez le fameux Chzzzt – Chzzzt – Chzzzt,  vous saviez que le téléphone de quelqu’un était sur le point de sonner.

L’interférence en question était la conséquence du “réveil” de votre téléphone, qui disait au réseau local : “je suis là ! Vous pouvez maintenant me passer l’appel à l’endroit où je suis“.

Evidemment, un téléphone portable est supposé émettre lui-même des ondes électromagnétiques, cependant la puissance et le pattern du message “je suis là“, était particulièrement remarquable et reconnaissable, même quand le système d’écoute n’était pas plus sophistiqué qu’un câble ou bien qu’un haut-parleur au sein de certains équipements à proximité.

Comme vous pouvez certainement vous l’imaginer, vous pouvez approfondir bien plus, sur ce que le téléphone est en train de faire, en introduisant un récepteur spécifique et un ordinateur dédié, afin de traiter le signal en question.

Des experts israéliens et australiens ont précisément fait cette expérience, à savoir chercher ce qu’ils pourraient apprendre à votre sujet, s’ils pouvaient se cacher sous la table (en sens propre, comme au sens figuré), lorsque vous êtes en train d’utiliser votre iPhone :

signature numérique

La bobine du récepteur, sur la photo, est une sonde magnétique (les experts ont dit qu’elle coûtait 2$, mais vous pouvez créer votre propre bobine si vous le voulez) qui génère un minuscule courant qui change en permanence en fonction de la fluctuation des champs électromagnétiques environnants.

Le traitement du signal est effectué par un convertisseur audio, qui transforme de manière appropriée, le signal de sortie de la bobine en un signal ondulatoire, qui est envoyé via une connexion USB à un ordinateur, qui reçoit alors le signal en question.

Les experts se sont concentrés, en particulier, sur les émissions qui avaient lieu lorsque certaines parties d’un logiciel spécifique fonctionnaient, plus précisément le programme responsable de certaines validations par signature numérique, au sein des librairies cryptographiques suivantes :

Les experts ont trouvé qu’ils pouvaient parfois faire la différence entre 2 types particuliers de calculs arithmétiques, au sein du code utilisé pour une signature numérique spécifique, appelé l’.

En particulier, ils  pouvaient dire lorsque le code effectuait une multiplication par 2, et quand il faisait une addition.

Vous vous demandez certainement : “on peut déterminer quand le programme effectue une addition ou une multiplication. Et alors ?“.

[vc_row][vc_column width=”1/1″][vc_message color=”alert-info”]

L’arithmétique cryptographique n’est pas vraiment aussi simple que “2+2” ou bien “3×5“. En effet, les nombres impliqués dans ces opérations sont souvent composés de centaines de bits. Les calculs sont plutôt du style : “multiplier le nombre de protons dans l’univers par toutes les parties d’échec possibles, et ajouter la distance jusqu’à Alpha du Centaure en nanomètres“.

[/vc_message][/vc_column][/vc_row]

Cependant, il s’est avéré qu’en suivant quelles opérations avaient lieu et dans quel ordre, on pouvait déterminer ce qui se passait au sein de l’algorithme : ces patterns, à tour de rôle, sont déterminés par les valeurs de chaque bit en entrée.

Ainsi, si l’entrée est la clé de cryptage, sa structure interne produit une sorte de rythme électromagnétique, qui donne de précieuses informations concernant quel bit affiche “1”, et quel bit affiche “0”.

Par analogie, imaginez que vous me demandiez d’additionner une longue colonne de bits à haute voix, les uns après les autres, en bougeant la pointe de mon stylo le long de la colle en question, afin de suivre scrupuleusement le processus.

Si la seule chose que vous savez, est le temps que mon stylo passe sur chaque bit, vous serez certainement capables de deviner où sont les “0”, car je les ignorerais en ne disant rien. Ainsi, ils ressortirons clairement au niveau de vos données relatives au temps passé sur chaque bit.

Vous pourrez aussi remarquer que je suis un peu plus lent en ajoutant le 8ème et le 9ème bit, qu’en ajoutant le 1er et le 2ème, ainsi vous pourrez utiliser ces informations pour en savoir encore plus sur les bits de la liste, et ainsi de suite.

Les experts ont aussi revendiqué qu’ils pouvaient attaquer un iPhone en surveillant les fluctuations au niveau de son alimentation, plus qu’au niveau de l’émission de radiations elle-même, et ce grâce à un chargeur piégé :

signature numérique

Ils ont aussi essayé avec des téléphones Android, mais apparemment ils ont rencontré quelques soucis car ils ont été obligés de se munir d’équipements de laboratoire, pour détecter les multiplications et les additions au sein de l’Xperia x10 :

signature numérique

Quoi faire ?

Pas de panique.

Cette attaque est terriblement difficile à mettre en œuvre, à moins que vous traîniez fréquemment dans des bars ou cafés, où le fait de venir avec votre propre matériel de laboratoire est la norme.

Les assaillants en question auront également besoin de mesurer quelques milliers de signatures numériques différentes, en utilisant la même clé, afin d’avoir une chance de la deviner : il s’agit ici d’une activité tout simplement démesurée au niveau d’Apple Pay ou de Google Play Store.

Encore mieux, si vous avez iOS 9, ou des versions plus récentes, toutes les applications qui utilisent la librairie cryptographique intégrée, semblent être protégées de toutes les façons.

En d’autres mots, même le plus riche et le plus déterminé des cybercriminels, n’a que très peu de chance de pouvoir mettre en œuvre une telle approche visant à obtenir la signature numérique. En effet, les chances de succès sont très faibles, la mise en place est très complexe au départ, et enfin il existe tellement d’autres moyens pour obtenir des données auprès d’utilisateurs insouciants !

Néanmoins, si vous êtes un programmeur spécialisé dans la cryptographie, et si vous travaillez en particulier sur des hardwares spécifiques, susceptibles de résister à des attaques coûteuses et lourdes, cette expérimentation concernant la signature numérique peut tout de même vous servir de pense-bête !

La vitesse d’un algorithme est moins importante que sa cohérence. En effet, tout ce que l’on confie à un pattern, qui dépend lui-même des données d’entrée à un moment précis, peut être la cible d’une attaque de type side-channel ou encore side-door.

Comme les spécialistes du cryptage aiment à nous le rappeler : “Anticiper le plus possible, car les attaques sont de plus en plus sophistiquées”.


Billet inspiré de “Forget iPhone backdoors, here’s a *side* door that can steal your keys” par Paul Ducklin de Naked Security
Partagez “Oubliez les backdoors : voici une side-door sur iPhone pour deviner une signature numérique !” avec http://wp.me/p2YJS1-2ww

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.