Analyse du iStorage diskGenie

Le diskGenie de la societé iStorage est un disque dur externe USB qui a la particularité de chiffrer son contenu et d’autoriser l’accès aux données uniquement lorsque l’utilisateur à saisi un mot de passe.

Afin de tester la résistance du disque, de nombreuses pistes ont été explorées afin de valider le fonctionnement correct du disque.

Analyse fonctionnelle

Lecture avec un autre contrôleur

La première idée qui vient à l’esprit sur ce genre de matériel est de confirmer le chiffrement des données en ouvrant le boîtier et en connectant le disque à un contrôleur SATA-USB classique. Si le chiffrement n’est pas opérant, les données peuvent être lues directement.

Dans le cas du diskGenie, les données sont entièrement chiffrées et ne permettent donc pas de lire le contenu du disque de cette manière.

Gestion du chiffrement

Comme indiqué dans la documentation, le disque utilise un chiffrement AES-256. Les données sont donc chiffrées avec une clé unique qui est utilisée pour le chiffrement et le déchiffrement du disque. Pour autant que la clé de chiffrement soit fixe, la réinitialisation aux valeurs d’usine du boîtier pourrait alors permettre de déchiffrer le disque avec le mot de passe initial (123456). Cette attaque a été tentée, mais à nouveau sans succès.

Analyse électronique

La prochaine étape est de valider le fonctionnement électronique du boîtier afin d’écarter un possible bypass électronique du mot de passe.

Comme on peut le voir ici, le circuit fait appel à peu de composants intégrés, ce qui va faciliter la suite de l’analyse.

Analyse des composants

Les composants principaux du circuit sont les suivants :

INITIO INIC-1607E

Il s’agit du composant principal de ce circuit. Le constructeur en donne une description assez explicite : “Bridge Controller IC SATA to USB with AES”.

Après plusieurs recherches, impossible de trouver la datasheet du produit, il a fallu prendre contact avec iStorage pour récupérer une partie de la documentation qui ne soit pas sous NDA. Le pinning de la puce est donné dans la documentation comme suit :

PIC16F883

Il s’agit d’un microcontrôleur fabriqué par Microchip. Très utilisé dans l’industrie et par les amateurs d’électronique (du moins avant la démocratisation de l’Arduino).

La documentation étant disponible librement sur le site de Microchip, trouver le pinning du circuit est facile :

Analyse du circuit

Une fois les composants identifiés, il est nécessaire de découvrir les connexions entre eux afin de déterminer les tâches de chaque puce. A l’aide d’un multimètre et de (beaucoup de) patience, le schéma global du circuit peut être obtenu :

Comme on peut le voir, le PIC est utilisé pour l’interprétation du code entré sur le clavier. Il est également relié au INIC-1607E. Si ce lien entre le microcontrôleur et le contrôleur de disque permet l’activation du disque, il y a deux options :

  1. Le PIC envoie un signal “OK” au INIC-1607E
  2. Le PIC envoie la clé de chiffrement au contrôleur de disque.

Dans le premier cas, il est possible de rejouer ce signal à l’aide d’un second microcontrôleur.

Afin de tester cela, l’utilisation d’un oscilloscope numérique est obligatoire. Plusieurs séries de mesures ont été effectuées :

  • Saisie d’un mot de passe incorrect
  • Saisie du bon mot de passe
  • Réinitialisation et saisie du bon mot de passe

Les mesures effectuées montrent un signal entièrement différent des signaux émis entre deux connexions au boîtier. Preuve qu’au moins une partie de la clé est transmise au contrôleur.

Conclusion

Après avoir testé de nombreuses attaques, ce boîtier semble apte à protéger correctement les données qu’il contient. Mention très bien pour la gestion du chiffrement, perfectible dans d’autres boîtiers du même type.

Cependant, il reste une possibilité pour un attaquant déterminé de démonter le microcontrôleur et ainsi d’accéder directement au contenu de celui-ci. Il n’a pas été possible de tenter cette attaque par manque de matériel.

Dernière recommandation, choisir un bon mot de passe. Le clavier étant exclusivement numérique, un mot de passe facilement devinable détruit complètement la protection. Sachant qu’il est possible de faire jusqu’a 100 essais avant de bloquer complètement le disque, cela laisse une fenêtre suffisamment grande pour tenter des valeurs familières au propriétaire du disque.

2 thoughts on “Analyse du iStorage diskGenie”

  1. http://hackaday.com/tag/istorage/

    C’est bien du même boîtier dont il est question? Si c’est le cas, une time attack est possible et le mot de passe est trouvé en 10 x [longueur du mdp] essais, dans le pire des cas. Et comme on a droit à 50 + 50 essais après reset, au moins tous les mdp de 10 caractères sont trouvés. Pas franchement apte à protéger quoi que ce soit…

    Très bon blog, BTW

    1. Effectivement, il s’agit du même boîtier. Je vais mettre à jour l’article pour parler de ce cas.

      Encore merci pour l’info !

Leave a Reply

Your email address will not be published. Required fields are marked *