Karsten Nohl, un expert en cryptographie chez Security Research Labs, va présenter lors de la conférence Black Hat qui se déroule à Las Vegas à partir du 31 juillet, une étude intitulée « Rooting SIM Cards ». Il a trouvé un moyen de pirater un terminal mobile et d'accéder à plusieurs fonctions comme la localisation, les SMS, le carnet d'adresses, etc. en utilisant la carte SIM (Subscriber Identification Module). Cette dernière qui peut être mise à jour par les opérateurs à distance via la technologie dite OTA (Over The Air).  Aujourd'hui, près de 7 milliards de cartes SIM sont utilisées dans le monde. Pour dialoguer avec l'opérateur, ces cartes chiffrent leurs communications. Cependant la méthode de cryptage peut varier fortement.

Les travaux de Karsten Nohl ont montré qu'environ 750 millions de cartes encore en circulation disposent d'une méthode de chiffrement datant des années 1970, appelée DES (Data Encryption Standard). Ce dernier a longtemps été considéré comme un procédé faible de cryptage et de nombreux opérateurs de téléphonie mobile ont mis à niveau les cartes avec des méthodes plus sûres. En effet, il est relativement facile de découvrir la clé utilisée pour signer un contenu chiffré avec DES.

Cassage de clé et malware sur machine virtuelle Java


Concrètement le chercheur a envoyé un code binaire par SMS à un mobile équipé d'une SIM avec DES. Ce code n'a pas été correctement chiffré et le mobile le rejette par un SMS. Au sein de ce message d'erreur, il y a la propre clé chiffrée en 56 bits de la carte SIM. Il est donc possible ensuite de casser cette clé avec des outils actuels. Karsten Nohl a mis environ deux minutes avec un PC et une table rainbow pour retrouver un mot de passe depuis un hash. Une fois cette opération faire, il est alors possible de « signer » des mises à jour avec des logiciels malveillants sur le mobile.

Le chercheur a présenté un scénario d'attaques contre les cartes SIM qui fonctionnent avec certaines formes de machine virtuelle Java. En récupérant la clé de la SIM, un attaquant pourrait forcer la carte à télécharger des applets Java pour activer une fonction, « envoyer des SMS, changer le numéro de la messagerie vocale, trouver la localisation du terminal, etc. », explique l'expert sur un blog. Pour lui le remède à ce problème est de mettre à jour les cartes SIM avec des méthodes récentes de chiffrement et d'utiliser des JVM qui restreignent l'accès des applets à certaines informations.