• Aucun résultat trouvé

Le concept de captation de progrès scientifique appliqué à la fraude

8.2 Exploiter le progrès scientifique

8.2.2 Le concept de captation de progrès scientifique appliqué à la fraude

A ce jour, seules deux solutions permettent à l’expert judiciaire de déchiffrer les données présentes dans ce type de skimmer s’il ne dispose pas initialement de la clé. L’une est mise en œuvre par la police judiciaire allemande – Das Bundeskriminalamt (BKA) – et la seconde a été développée dans le cadre de ces travaux ; toutes deux s’appuient sur des travaux de recherche datant d’une quinzaine années.

La première technique, mise en œuvre par le laboratoire de police scientifique du BKA, consiste à modifier physiquement le câblage interne d’un micro-contrôleur afin de changer l’état de « fusibles », rendant ainsi possible la lecture du programme présent dans ce micro- contrôleur [30]. La clé de chiffrement étant stockée dans ce programme, il devient alors possible de déchiffrer les données présentes dans la mémoire du mouchard.

Cette attaque physique, notamment développée dans le cadre de projets de recherche autour de la sécurité de la carte à puce, nécessite des moyens importants : sonde ionique focalisée (ou Focused Ion Beam (FIB)), nano-sondes... Cette méthode d’extraction de la clé AES constitue déjà un bon exemple de captation réussie du progrès scientifique. Cette technique étant fastidieuse à mettre en œuvre et ne pouvant qu’être mise en place par des laboratoires possédant des matériels dont le coût dépasse le million d’euros, nous avons décidé de mettre en œuvre une autre attaque, non invasive, basée sur des avancées scientifiques différentes, les attaques par canaux cachés.

8.2.2.1 Attaques par canaux cachés

Les attaques par canaux cachés consistent à observer un processus en cours de traitement afin d’identifier des éléments autres que les données d’entrées et de sorties, qui varient au cours des différents essais. Il convient ensuite de vérifier si la variation des données dépend de la clé utilisée. Si tel est le cas, il devient alors possible de déterminer la clé d’un système

inconnu en n’observant que son fonctionnement (et éventuellement les données manipulées). Un exemple médiatisé d’attaque par canal caché réside dans la détermination de la combinaison d’un coffre fort à l’aide d’un stéthoscope : l’attaquant observe l’émission sonore de la serrure et sait qu’il atteint la bonne combinaison lorsque le son de celle-ci devient inhabituel.

Il existe de nombreux éléments pouvant être observés dans le cadre d’attaques par canaux cachés : temps, émissions électromagnétiques, émissions sonores, consommation de courant, etc.

8.2.2.2 Analyse différentielle de la consommation

Afin de déterminer la clé de chiffrement utilisée dans le mouchard étudié, nous avons employé une attaque par canal caché basée sur l’observation de la consommation de courant d’un système électronique. Cette attaque dite d’analyse différentielle de la consommation (ou Differential Power Analysis (DPA)) a été initialement développée en 1998 par Paul Kocher, Joshua Jaffe, et Benjamin Jun [39, 40].

Elle est basée sur le fait que la consommation instantanée d’un équipement cryptographique dépend des données manipulées et des opérations effectuées [45].

La DPA consiste à mesurer la consommation électrique du contrôleur réalisant les calculs cryptographiques lors de différentes opérations de chiffrement pour lesquelles seules les données en entrée sont connues et varient. Il est ensuite nécessaire de rechercher une forte corrélation entre les données hypothétiques en un point donné de l’algorithme étudié (ici la sortie de la box S d’AES) et les mesures effectuées. Pour ceci, les données hypothétiques sont calculées à partir des données en entrées (connues) et une partie hypothétique de la clé. Les mesures effectuées sont quant à elles modélisées en utilisant un modèle adéquate (poids de Hamming, distance de Hamming, etc.).

Bien que cette attaque soit connue et employée dans le monde universitaire et industriel depuis plus d’une décennie, aucune publication d’utilisation à des fins criminalistiques n’a été identifiée à ce jour.

8.2.2.3 Mise en œuvre

Une mise en œuvre de cette attaque à des fins criminalistiques a donc été réalisée sur le mouchard chiffrant MSRv007.

disponible dans son intégralité en annexe A, ont été conduits en boite blanche2. En effet, un

accès au code assembleur de ces mouchards permet d’identifier, sur les mesures effectuées, les zones où le chiffrement a lieu. Ceci permet, dans un premier temps, de confirmer les « fuites » (variations de consommation électrique) lorsqu’une opération de chiffrement a lieu (figure 8.3).

Figure 8.3 – Variation de la consommation électrique observée lors du chiffrement AES L’identification de la zone d’attaque ayant été déterminée, les mesures sont alors possibles. La génération des données d’entrée est assurée par un système embarqué (Arduino) simulant le passage de cartes de paiement dans le mouchard.

L’absence d’oscillateur externe dans la conception du mouchard est toutefois la source d’un déphasage entre les différentes mesures. Il est alors nécessaire de réaligner les mesures effectuées (figure 8.4).

(a) (b)

Figure 8.4 – 100 mesures de consommation électrique avant alignement (a) et après alignement (b)

Dès lors, l’attaque par analyse différentielle peut être conduite en générant des tracés de corrélation pour chacune des 256 valeurs possibles de la partie de la clé attaquée (chaque attaque portant sur 1

16 de la clé recherchée). La valeur résultante de l’attaque est celle

possédant une corrélation maximale (désignée par la flêche rouge sur la figure 8.5).

Figure8.5 – Tracés de corrélation pour quatre valeurs possibles d’un octet de la clé AES recherchée

L’attaque doit ensuite être répétée quinze fois afin d’obtenir l’ensemble de la clé AES recherchée.