Les attaques par canaux auxiliaires

Side-channel attacks

(Cyber)sécurité –

Les attaques par canaux auxiliaires (side-channel attacks en anglais) sont une famille d’attaques consistant à extraire une information par la récupération et l’interprétation de signaux émis « involontairement » par un système (vibrations, activité électromagnétique, consommation électrique, bruit, temps d’exécution…).

Elles portent dans la majorité des cas sur l’extraction d’informations relevant de la cryptographie, comme les clés de chiffrement ou des vecteurs d‘initialisation.

A titre d’exemple, une attaque side-channel portant sur l’humain pourrait consister à filmer les lèvres de quelqu’un au loin qui indique un mot de passe à un quelqu’un d’autre : on n’écoute pas directement ce qui est dit, on n’interagit pas avec la personne, on extrapole l’information via un autre canal qui « trahit » l’information censée rester secrète.

Ces attaques peuvent donc viser un très large panel d’équipements : ordinateurs, serveurs, smartphones, cartes à puce, …

| Ça se passe comment ?

Pour la plupart, il s’agit de techniques dites « non-invasives », c’est-à-dire qu’elles n’altèrent pas l’activité du système observé et sont entièrement passives : pose d’une sonde, d’un équipement de mesure, d’un système d’écoute …
Elles diffèrent donc d’attaques dites « man-in-the-middle » (MiTM) ou d’écoutes « standards », dans la mesure où il ne s’agit pas d’intercepter une communication donnée, mais d’observer et d’interpréter des signaux qui « fuitent » d’un système, afin de remonter à une information.

La mise en œuvre de ce type d’attaques (ainsi que des contre-mesures) relève essentiellement du domaine de l’électronique et de l’informatique bas niveau.
Il n’en demeure pas moins critique car ce type d’attaques peut permettre de s’affranchir des propriétés mathématiques d’un algorithme, en allant directement récupérer la clé utilisée (par exemple).
C’est un peu comme si au lieu de forcer une porte blindée, on filmait le travail du cordonnier pendant qu’il fabrique un double, nous permettant ainsi de reconstituer plus facilement la clé !

| C’est nouveau, c’est un truc de chercheurs ?

Avant la sophistication de ce type d’attaques, on sait que l’analyse du trafic d’émission d’ondes radio était déjà pratiquée dès la première Guerre Mondiale afin de déduire indirectement les positions ennemies. Lors de l’opération QuickSilver, visant à simuler un débarquement dans le Pas-de-Calais, les soldats alliés ont d’ailleurs volontairement émis du trafic radio afin de leurrer l’armée allemande.

La première observation en laboratoire que des « résidus » d’émissions électromagnétiques pouvaient permettre de retrouver une clé de chiffrement daterait de la seconde guerre mondiale. Cela a été observé sur une machine de chiffrement mécanique, car à chaque caractère chiffré, un pic distinct se produisait sur un oscilloscope du laboratoire.

On sait également que les américains ont procédé à de telles écoutes de signaux électromagnétiques résiduels durant la Guerre Froide, notamment dans le cadre du blocus de Cuba.

En 1985, un chercheur néerlandais a réussi à montrer qu’il était possible d’intercepter les émissions électromagnétiques d’un écran (tube cathodique à l’époque), afin de savoir ce qui était affiché, et ce pour un coût dérisoire.

Les fameuses écoutes en place sur les câbles sous-marins reposeraient en partie sur ce principe, de même que certains systèmes d’antennes en place sur des navires ou bases militaires (ou en 2014 sur le toit de l’ambassade des Etats-Unis à Paris, à quelques centaines de mètres du palais de l’Elysée …)

| Exemples et utilisations connues

Bruit acoustique

La première attaque documentée de ce type date de 1965, et consistait à écouter le bruit acoustique d’une machine qui générait des clés de chiffrement. Les cliquetis relevés et l’étude de leur fréquence a permis de déduire son activité électronique et donc les calculs qui étaient effectués, et ainsi de reconstituer la clé générée.

Plusieurs études (voir sources) ont démontré qu’il était possible en écoutant le bruit acoustique émanant d’un clavier d’ordinateur de déterminer quelles frappes de clavier étaient utilisées.
Certaines de ces méthodes ont une marge d’erreur conséquente, mais qui permet de faciliter grandement une attaque par recherche exhaustive (bruteforce, ou guessing). On voit un tel exemple (romancé) dans le film Le Chant du Loup (sorti en 2019).

Mais l’écoute acoustique peut également permettre de viser directement le cœur des opérations : le processeur.
Dans la mesure où chaque changement de tension au sein d’une résistance ou d’un condensateur s’accompagne d’une vibration mécanique – aussi infime soit-elle – il est logiquement possible d’extrapoler les calculs effectuées par le processeur, et in fine, de déduire une clé de chiffrement (par exemple).
Ci-dessous la décomposition du signal acoustique de différentes opérations au sein d’un processeur : multiplication, additions, mises en mémoire, …

Décomposition du signal acoustique

Dans la mesure où l’ensemble des opérations cryptographiques de chiffrement/déchiffrement/signature,

… sont un assemblage d’opérations arithmétiques unitaires, on comprend bien que l’on peut « facilement » reconstruire le fil des calculs

effectués, et déduire, par exemple, le nombre de multiplications effectuées lors d’une opération (correspondant à l’exposant pour l’algorithme RSA), ou de divisions euclidiennes (permettant de déduire le modulo dans ce même algorithme RSA)

Bruit électromagnétique

Dans la même logique, l’analyse des émissions électromagnétiques liées à l’activité électrique des composants d’un ordinateur peut permettre de remonter aux calculs effectués par le processeur, et ainsi d’extrapoler des clés de chiffrement.

La figure ci-dessous montre l’activité électromagnétique d’un processeur.
L’analyse des pics permet d’identifier quelles opérations sont effectuées (ici multiplications ou mises au carré), ce qui permet de reconstituer partiellement une clé.

L’attribut alt de cette image est vide, son nom de fichier est bruit-electromagnetique.png. vLe programme le plus connu d’études sur la compromission par analyse de l’activité électromagnétique résiduelle s’appelle TEMPEST, et a donné son nom à un ensemble de normes de protection associées.

Par abus de langage, ce terme est souvent utilisé pour parler des « émissions compromettantes des machines traitant de l’information ».

Les attaques par étude des signaux électromagnétiques sont celles qui concentrent le plus d’attention, car ces signaux se propagent mieux dans l’espace et sont les plus facilement enregistrables et identifiables, ils sont du même coup plus durs à réduire.

Une expérimentation conduite par des universitaires a même mis en évidence la possibilité d’utiliser le contact physique d’une personne avec le boitier d’un ordinateur pour transmettre ces signaux à un capteur (https://web.eecs.umich.edu/~genkin/papers/handsoff-20140731.pdf). Partant de ce principe, il pourrait donc suffire à une personne munie d’un système électronique dédié de toucher le capot d’un ordinateur pour permettre la captation des signaux électromagnétiques, et l’extraction de clé de chiffrement ou d’autres secrets.

Autres

D’autres types d’informations résiduelles peuvent permettre de remonter à l’information traitée, il existe donc potentiellement un très grand nombre d’attaques possibles partant de ce principe, et pouvant être utilisées conjointement.

On pourra donc citer entre autres :

  • Analyse du courant électrique consommé
  • Activité optique (analyse des photons émis par les transistors lors des changements d’états)
  • Analyse thermique de la surface d’un processeur
  • Analyse du temps de traitement, permettant de déduire l’opération effectuée selon la chronologie de l’activité d’un équipement.
    A noter que cette attaque peut être facilement couplée avec une de celles précédemment citées

| On peut s’en protéger ?

Dans la mesure où les attaques par canaux auxiliaires sont basées sur la relation entre une information émise « accidentellement » et la donnée secrète que l’on souhaite protéger, 2 grandes stratégies sont à l’œuvre pour se prémunir de ce type d’attaques : réduire les signaux émis (ou rendre plus difficile leur captation), et supprimer le lien entre les signaux émis et l’information secrète.

Pour le premier type de stratégies, les contre-mesures envisagées relèvent essentiellement de questions matérielles :

  • Amélioration des composants électroniques pour réduire leurs émissions (meilleurs matériaux, designs dédiés…)
  • Isolation des équipements sensibles :
    • Ordinateurs hors-réseau (stratégie du air-gapping)
    • Utilisation de périphériques spéciaux
    • Systèmes d’isolation électromagnétique type cages de Faraday
    • Création de chambres fortes isolées : réseaux électriques séparés, isolation des câbles, ….
    • Blindage matériel sur les boitiers d’ordinateurs, fenêtre, cloisons, …
    • Utilisation de fibre optique (ne provoque que très peu d’émissions résiduelles)
  • Procédures liés aux interactions avec des personnes :
    • Suppression d’éventuels appareils électroniques pouvant servir à capter des signaux :
      • Retirer les micros en place par défaut sur les ordinateurs (vu chez Mark Zuckerberg !)
      • Interdiction des téléphones portables (bases militaires, cérémonies des clés)
    • Protection lors de l’entrée d’un mot de passe (cf. Edward Snowden sous sa couette, visible dans le film éponyme)

Pour le second type de stratégies, il s’agit essentiellement de « noyer » les signaux émis, de sorte que le signal capté ne permette plus de remonter à l’information que l’on souhaite protéger.
Les mesures dédiées incluent les suivantes :

  • Meilleur design des algorithmes cryptographiques utilisés, afin de rendre moins reconnaissables les opérations effectuées (paramètre inclus dans le cahier des charges du concours qui donna naissance à l’algorithme AES)
  • Emission de bruit blanc
  • Introduction d’une part d’aléatoire dans l’ordre de traitement des opérations dans un processeur
  • Introduction d’étapes « inutiles » dans les étapes de calcul afin de brouiller les pistes.
  • Architectures de processeurs asynchrones afin de rendre plus difficile la corrélation des traitements du processeur

Ordinateurs tout-en-un lunchbox

Nombre d’équipements amenés à être utilisés pour traiter des informations sensibles respectent ainsi un ensemble de normes dites « anti-tempest », et des fabricants se sont spécialisés dans la fabrication de tels équipements : HSM, puces cryptographiques, processeurs, téléphones, câbles blindés, ordinateurs tout-en-un (joliment appelés lunchbox, voir ci-contre).

L’OTAN publie d’ailleurs une liste de fabricants approuvés :

| Que doit-on craindre, quel est l’enjeu ?

La mise en place de telles attaques, spectaculaires de par leur principe et assez effrayantes de par leur impact potentiel, n’est évidemment pas à la portée de tous. Il faut en effet disposer de (très) solides connaissances en électronique et en mathématiques afin de les mettre en œuvre, ainsi que d’équipements appropriés pour récupérer les signaux, les analyser, procéder à leur reconstitution partielle, …. Il faut également avoir étudié longuement le matériel utilisé par la cible.

Un hacker du dimanche disposant d’une antenne bricolée à partir d’un Raspberry Pi a donc assez peu de chances de pouvoir lire comme dans un livre ouvert toutes les clés de chiffrement qui circulent dans votre processeur.

Cependant, pour une entreprise disposant de propriété intellectuelle extrêmement précieuse, une administration souhaitant échanger des informations hautement sensibles, ou dans un contexte militaire, la question de se prémunir des attaques par canaux auxiliaires devient cruciale.
Il faut donc sensibiliser les décideurs concernés (RSSI, comités de direction, …) à ce type de danger, afin que les mesures de protection adéquates soient prises : équipement renforcé à cet effet, protection des équipements dans des salles difficiles d’accès, procédure de cérémonie des clés pour les ICP, …

| Pour aller plus loin :

Présentation générale :

https://www.sciencedirect.com/topics/computer-science/side-channel-attack

Un peu d’histoire :

https://fr.wikipedia.org/wiki/TEMPEST

Transmission d’ondes électromagnétique par le corps humain :

https://web.eecs.umich.edu/~genkin/papers/handsoff-20140731.pdf

Ecoute des frappes de clavier :

https://people.eecs.berkeley.edu/~tygar/papers/Keyboard_Acoustic_Emanations_Revisited/tiss.preprint.pdf

https://www.berkeley.edu/news/media/releases/2005/09/14_key.shtml

https://www.davidsalomon.name/CompSec/auxiliary/KybdEmanation.pdf

Liste des vendeurs de matériel « tempest-proof » de l’OTAN:

https://www.ia.nato.int/niapc/tempest/vendors

Présentation de quelques contre-mesures :

https://www.esat.kuleuven.be/cosic/publications/talk-53.pdf

Articles grand public :

https://www.lemondeinformatique.fr/actualites/lire-la-nsa-pirate-par-ondes-radio-des-pc-non-connectes-56282.html

https://cutt.ly/mykbJOA

https://hitek.fr/actualite/cherchers-exploit-faille-ventilateur-pc_22408