Qu’est-ce qu’une attaque par canal secondaire et comment fonctionnent-elles ?
Vous pouvez disposer des meilleurs systèmes cryptographiques au monde, mais votre configuration peut toujours être vulnérable aux attaques par canal secondaire. En effet, les attaques par canal secondaire ne ciblent pas les faiblesses des systèmes cryptographiques eux-mêmes.
Plutôt, les attaquants observent la mise en œuvre du système, à la recherche de fuites d’informations susceptibles de leur apprendre quelque chose sur le fonctionnement du système cryptographique. . Dans certaines situations, ils peuvent exploiter ces informations pour en déduire le matériel de chiffrement, leur permettant ainsi de briser le système.
Les attaques par canal secondaire reposent sur le fait que lorsque les cryptosystèmes fonctionnent, ils provoquent des effets physiques, et les informations provenant de ces effets peuvent fournir des indices sur le système. Certains des effets physiques comprennent :
- La quantité d’énergie consommée par une opération
- Le temps que prend un processus
- Le son émis par une opération
- Le rayonnement électromagnétique émis par une opération
Ces effets peuvent laisser des indices qui peuvent aider un attaquant à déduire des informations importantes. Ces informations peuvent les amener à découvrir les clés cryptographiques qui sécurisent les données, à révéler des informations d’état partielles, à exposer une partie ou la totalité du texte chiffré sous forme de texte brut et finalement conduire à la compromission du système.
Cela signifie que lorsque les implémentations divulguent des quantités suffisantes d’informations de canal secondaire, le système devient non sécurisé. Le concept d’attaques par canal secondaire peut être assez difficile à comprendre, commençons donc par une analogie pour illustrer le concept.
Le crackeur de coffre-fort
Disons que le diamant le plus précieux au monde est conservé dans un coffre-fort dans un établissement sécurisé, mais qu’un voleur audacieux veut le récupérer pour lui-même. Après des mois passés à examiner les défenses en place, le voleur a compris qu'il pouvait accéder à la pièce qui abrite le coffre-fort, mais seulement pendant cinq minutes lorsque le gardien change d'équipe.
Le problème est que le coffre-fort a 10 000 combinaisons possibles et que le pirate n'a aucune idée du code correct. Étant donné l'impossibilité d'entrer, d'essayer les quelque 5 000 combinaisons qu'une tentative moyenne prendrait et de sortir avant l'arrivée du prochain garde, nous pourrions considérer le diamant comme étant à l'abri du vol .
Cependant, notre voleur est un maître manipulateur de serrures, et lorsqu'il tourne le cadran, il peut sentir les imperfections extrêmement subtiles de la serrure, donnant des indices sur la véritable combinaison. Avec seulement quelques minutes de concentration et des années d’expérience, le voleur trouve la combinaison, le coffre-fort s’ouvre et le diamant est entre ses mains. Ils ont juste le temps de s'enfuir rapidement.
(Avant que les crocheteurs de serrures ne deviennent des pinailleurs, nous savons qu'il s'agit de la version hollywoodienne du fonctionnement de la manipulation de serrures et qu'en réalité, il s'agit d'un processus beaucoup plus lent. Cependant, l'analogie hollywoodienne aide toujours à donner une bonne indication de la façon dont les canaux secondaires (les attaques par canal latéral fonctionnent. Si la manipulation des verrous est certainement plus fastidieuse dans la vie réelle, les attaques par canal secondaire le sont également).
Le voleur vient de réaliser une attaque par canal secondaire parfaite. La serrure est restée solide et n’a jamais été cassée, nous ne pouvons donc pas nécessairement dire que la vulnérabilité était due à un défaut de conception dans la serrure elle-même. Cependant, comme le processus de fabrication a laissé de minuscules imperfections qui ont donné des indices sur la combinaison, on pourrait dire que la vraie faiblesse était sa mise en œuvre .
Si la serrure avait été réalisée avec plus de soin, le voleur n’aurait pas pu sentir les imperfections et les utiliser pour comprendre la combinaison. Au lieu de cela, ils auraient dû emprunter l’ancienne voie de la force brute, qui n’aurait jamais fonctionné étant donné la limite de temps de notre situation. Ainsi, même si la configuration de sécurité était sécurisée contre le forçage brutal, elle ne l’était pas contre les attaques par canal secondaire.
C’est la même chose lorsqu’il s’agit de systèmes informatiques. S’ils ne sont pas mis en œuvre avec soin, les algorithmes de sécurité et d’autres aspects peuvent révéler de minuscules informations, comme la sensation des imperfections de la serrure. Les attaquants peuvent ensuite utiliser ces informations pour casser le système.
Bien sûr, la perfection n’existe pas vraiment et il existe toujours un moyen de contourner n’importe quel système de sécurité, qu’il s’agisse d’un coffre-fort physique ou d’un système cryptographique permettant de chiffrer les données. Le but de la sécurité dans l’un ou l’autre espace n’est pas de rendre quelque chose impénétrable, mais simplement de rendre l’attaque trop coûteuse ou trop longue.
Les attaques par canal secondaire ne sont qu’un outil supplémentaire dans l’arsenal de l’attaquant. Si un attaquant ne parvient pas à trouver un moyen pratique de briser l’algorithme lui-même, il peut alors collecter des informations sur sa mise en œuvre et voir si cela le rapproche de la destruction du système.
Nous devons prendre en compte les attaques par canal secondaire chaque fois que nous essayons de sécuriser un système. Si nous consacrons tous nos efforts à mettre en place le système de cryptographie le plus élaboré sans tenir compte des faiblesses des canaux secondaires, nous pourrions très bien nous retrouver avec une brèche dans nos défenses.
L’histoire des attaques par canal secondaire
L’un des premiers exemples dont nous disposons d’une attaque par canal secondaire remonte à la Seconde Guerre mondiale. À l'époque, certaines communications étaient cryptées par les appareils de mixage Bell 131-B2. UN chercheur des Bell Labs J'ai remarqué que chaque fois que la machine marchait (ce qui faisait tourner l'un des autres rotors), une pointe électromagnétique pouvait être vue via un oscilloscope, même dans une partie éloignée du laboratoire. Après un examen plus approfondi, il a découvert qu'il pouvait utiliser ces pointes pour récupérer le texte en clair des données cryptées.
Le mélangeur Bell 131B2, à partir duquel les chercheurs de Bell ont découvert pour la première fois les attaques électromagnétiques par canal secondaire. Mélangeur TTY 131B2 par le manuel technique du ministère de l'Armée sous licence CC0 .
Bell a signalé le problème au Signal Corps, mais aurait été licencié dans un premier temps. Dans le but de prouver la gravité du problème, ils ont placé des ingénieurs dans un bâtiment en face du cryptocentre du Signal Corps. À 80 pieds de distance, ils ont enregistré les signaux cryptés du cryptocentre pendant une heure. Quelques heures plus tard, ils avaient reconstitué 75 % du texte brut de ces transmissions cryptées.
Cela montrait à quel point la menace était grave et les Bell Labs ont passé les six mois suivants à enquêter sur le problème, ainsi que sur les moyens de l'atténuer. Finalement, ses ingénieurs sont parvenus à trois approches potentielles, qui sont encore utilisées aujourd'hui pour contrer les attaques par canal secondaire :
- Blindage – Dans ce cas, bloquer les radiations et les champs magnétiques émis.
- Filtration – Ajout de filtres qui arrêtent le rayonnement électromagnétique.
- Masquage – Dissimuler les signaux avec d’autres transmissions.
L'entreprise a proposé une conception modifiée pour la machine, mais le blindage et d'autres correctifs ont causé des problèmes de fonctionnement, et chaque machine existante aurait dû être renvoyée aux Bell Labs pour être modernisée. Au lieu d'adopter la version modifiée, le Signal Corps a averti les commandants de sécuriser un diamètre de 100 pieds autour de leurs centres de communication, afin d'empêcher toute interception utilisant les techniques récemment découvertes.
Le problème a été pour l’essentiel oublié jusqu’au milieu des années cinquante, lorsque la CIA l’a redécouvert. Cette fois-ci, la solution consistait à sécuriser une zone de 200 pieds dans toutes les directions. Une autre option consistait à faire fonctionner plusieurs appareils à la fois pour masquer les signaux.
Au cours des années suivantes, de nouvelles contre-mesures ont été tentées, mais de nouvelles menaces ont également été découvertes. Les chercheurs ont découvert que le les fluctuations de tension, les émanations acoustiques et les vibrations pourraient également révéler des informations qui pourraient être utilisées pour décrypter des informations . Ces attaques ont reçu le nom de code TEMPEST par la communauté du renseignement.
Au fil du temps, une série de normes TEMPEST classifiées ont été développées, dans le but de définir un ensemble de règles visant à réduire les risques liés aux attaques par canal secondaire.
La première publication non classifiée de ces menaces est venue de Wim van Eck en 1985, ce qui a conduit à qualifier ces techniques d'écoute van Eck phreaking . Alors que la communauté du renseignement était déjà consciente de ces dangers, on pensait que les attaques étaient uniquement à la portée des États-nations.
van Eck a réalisé ses écoutes clandestines avec seulement 15 dollars de matériel et une télévision, prouvant que l'attaque était bien à la portée d'autres parties. Marus Kuhn a publié les détails d'un certain nombre d'autres techniques de surveillance peu coûteuses en 2003.
Au cours de la même période où les attaques TEMPEST étaient étudiées, le MI5 britannique faisait également ses premières incursions dans le domaine des attaques par canal secondaire. Dans son mémoire , Peter Wright, scientifique du MI5, détaille les tentatives de l’agence pour déchiffrer les codes égyptiens pendant la crise de Suez.
Le MI5 a installé des microphones près de la machine à chiffrer dans l’ambassade égyptienne et, chaque matin, ils écoutaient les sons de la machine en cours de réinitialisation. Ces bruits leur ont donné des indices sur les nouveaux paramètres, qu'ils ont ensuite pu utiliser pour déchiffrer les messages codés. Ce type d'attaque par canal secondaire est devenu connu sous le nom de cryptanalyse acoustique .
Dans les années 1990, Paul Kocher a poussé encore plus loin le domaine des attaques par canal secondaire. Son édition 1996 a montré des attaques temporelles qui pourraient interrompre les implémentations de DSA, RSA et Diffie-Hellman. Il faisait également partie d'une équipe qui analyse de puissance différentielle développée , un autre type d’attaque par canal secondaire. En plus d’avoir été le pionnier de bon nombre de ces attaques, il a également joué un rôle clé dans l’élaboration d’une série de contre-mesures.
Ce que les attaques par canal secondaire ne sont pas
Les attaques par canal secondaire ne doivent pas être confondues avec force brute , qui consiste essentiellement à essayer toutes les combinaisons de mots de passe possibles dans l’espoir de finalement trouver la bonne, puis à utiliser le mot de passe correctement deviné pour entrer dans le système. Le forçage brutal n’est pas considéré comme une attaque par canal secondaire, car il ne repose pas sur les informations émises par le cryptosystème.
Cependant, si un système de chiffrement divulguait des informations de synchronisation (ou d’autres indices de canal secondaire) qu’un attaquant pourrait utiliser pour déduire une partie de la clé, il pourrait utiliser ces informations de canal secondaire pour accélérer considérablement le processus de forçage brutal.
Ingénierie sociale n’est pas non plus considérée comme une attaque par canal secondaire, car elle implique de manipuler une personne pour qu’elle lui transmette des données sensibles, plutôt que de divulguer des informations du système cryptographique lui-même. De même, cryptanalyse de tuyaux en caoutchouc n’est pas non plus considérée comme une attaque par canal secondaire, car elle implique le recours à la torture ou à d’autres types de coercition pour forcer les gens à révéler leurs mots de passe, au lieu de s’appuyer sur les secrets révélés par inadvertance par le système.
Exemples d'attaques par canal secondaire
Il existe de nombreux types d’attaques par canal secondaire, différenciées par le type d’informations utilisées pour découvrir les secrets du cryptosystème. Ceux-ci inclus:
Cryptanalyse acoustique
Les cryptosystèmes émettent des sons lorsqu’ils effectuent des opérations, et ces sons sont souvent corrélés à l’opération. La cryptanalyse acoustique consiste à surveiller et à enregistrer ces sons, et à les utiliser pour tenter de déduire des informations sur le cryptosystème. Cela peut finalement amener un attaquant à obtenir les clés et à compromettre le système.
Un exemple est l'attaque du MI5 contre l'ambassade égyptienne lors de la crise de Suez, que nous évoquons dans Section historique des attaques par canal secondaire . Alors que les premières attaques se concentraient sur les imprimantes et les machines de chiffrement, un article de 2004 des chercheurs du centre de recherche IBM Almaden ont montré que les sons des claviers ATM, des claviers téléphoniques, des claviers d'ordinateurs portables et des claviers de PC pouvaient également être exploités.
Dans l'article, les chercheurs ont surveillé les claviers d'ordinateurs avec un microphone parabolique, dans l'hypothèse que chaque touche produirait des sons légèrement différents. Même si les touches sonnent de la même manière à l'oreille humaine, l'article décrit comment les universitaires ont formé un réseau neuronal différencier les sons de chacun (avec un taux de réussite de 79 pour cent).
La conclusion évidente de cette recherche est que un attaquant pourrait utiliser les techniques décrites dans le document pour obtenir les informations de connexion d'un utilisateur . Il faudrait cependant qu’ils se trouvent à proximité de la cible. Une stratégie d’atténuation possible proposée par les chercheurs consistait à utiliser à la place des claviers à écran tactile ou en caoutchouc.
Les chercheurs ont répété l’expérience sur un clavier d’ordinateur portable, un clavier NIP ATM et un clavier téléphonique. Le clavier téléphonique et le clavier NIP du guichet automatique étaient particulièrement vulnérables, avec des taux de réussite de 100 pour cent. Cela indique un risque énorme en ce qui concerne les numéros d’identification des personnes.
L'année suivante, des chercheurs du Université de Californie a réalisé une expérience similaire qui a renforcé la viabilité de ces attaques.
Cryptage acoustique contre les opérations du processeur et l'accès à la mémoire
En 2004, Adi Shamir (de RSA renommée) et Eran Tromer ont présenté leurs recherches sur crypananalyse acoustique à Eurocrypt. Ils ont testé une gamme d'ordinateurs portables et de bureau et ont constaté que sur certains ordinateurs, il était possible de distinguer les modèles d'accès à la mémoire et les opérations du processeur, via les sons émis.
Ils ont montré comment Les processus de décryptage et de signature RSA émettaient des sons variés pour différentes clés secrètes (à noter que dans cette situation, nous faisons référence à des clés cryptographiques, qui sont un peu comme des mots de passe, et non à des touches de clavier, comme dans l'exemple précédent).
Les sons ont également révélé des informations temporelles sur les opérations, qui pourraient être utilisées dans des attaques temporelles, dont nous discutons ci-dessous. Ils ont découvert que ces sons pourraient à terme être utilisés pour mieux comprendre les processus cryptographiques, et peut finalement conduire à la découverte des clés secrètes .
Les chercheurs ont proposé d’atténuer le son comme contre-mesure. Une option consiste à utiliser des caissons insonorisés. Une autre méthode consiste à masquer les signaux acoustiques avec d’autres bruits qui ne sont pas en corrélation avec les opérations cryptographiques. Ils ont également proposé de concevoir le système avec des composants moins bruyants.
En 2013, Shamir, Eran et un autre chercheur nommé Daniel Genkin ont publié un article supplémentaire sur cryptanalyse acoustique . Dans ce cas, ils a démontré comment les clés RSA pouvaient être extraites de GnuPG via une cryptanalyse acoustique à faible bande passante .
L'attaque a été testée sur différents ordinateurs portables et a réussi à extraire des clés RSA complètes de 4 096 bits en une heure, en s'appuyant uniquement sur le son produit par l'ordinateur lors du décryptage des textes chiffrés choisis. En laboratoire, ils ont montré que l'attaque pouvait réussir en utilisant uniquement un téléphone portable placé à côté de l'ordinateur portable, ou un microphone plus sensible placé à une distance de quatre mètres.
L’équipe a proposé des contre-mesures similaires à celles de leur article précédent, ainsi que quelques ajouts. Ceux-ci comprenaient :
- Masquer la fuite avec du bruit – Ils ont spécifié un générateur de bruit acoustique « soigneusement conçu », car les bruits à d’autres fréquences peuvent être filtrés.
- Blindage acoustique – Les chercheurs ont suggéré que les enceintes insonorisées et les absorbeurs acoustiques réduiraient le rapport signal/bruit, rendant les attaques moins réalisables.
- Randomisation du texte chiffré – L’une des stratégies d’atténuation les plus efficaces consiste à ajouter des valeurs aléatoires au processus de décryptage, via une formule spécifique.
- Normalisation du texte chiffré – Cela implique de compléter le texte chiffré avec des informations qui finissent par éliminer certaines des fuites d’informations cruciales.
- Randomisation du module – La randomisation de la modulation lors de chaque exponentiation peut aider à se défendre contre la capacité d'un attaquant à distinguer les clés et à les extraire.
Attaques chronométrées
Les attaques temporelles consistent à mesurer le temps nécessaire à un cryptosystème pour effectuer certaines opérations. Les opérations informatiques prennent du temps à s'exécuter et cette durée peut varier en fonction de l'entrée . Ces différences peuvent être causées par des instructions de processeur qui s'exécutent à un temps non fixe, des instructions de branchement et conditionnelles, des optimisations de performances, des accès au cache RAM et de nombreuses autres raisons.
Si un attaquant peut mesurer avec précision la durée de chaque opération du système de cryptographie, il peut utiliser ces informations pour déterminer les entrées. Même s’il peut sembler que le timing des fuites d’informations ne révélerait que des données insignifiantes, dans certaines situations, il peut suffire à l’attaquant de découvrir la clé et le texte brut d’origine.
Les facteurs suivants peuvent avoir un impact sur l’utilité des informations temporelles pour un attaquant :
- Le processeur qui exécute le système.
- La conception du système cryptographique et les algorithmes qu'il utilise.
- La manière dont le système a été mis en œuvre.
- Toutes les contre-mesures contre les attaques temporelles qui peuvent être en place.
Plus un attaquant peut mesurer avec précision le timing de diverses opérations, plus les informations peuvent être utiles.
Les attaques temporelles sont démontrées dans le livre de Paul Kocher Attaques chronométrées sur les implémentations de Diffie-Hellman, RSA, DSS et autres systèmes papier . Dans son article, Kocher a montré que dans certaines situations, un attaquant peut être capable de pirater RSA, DSS, Diffie-Hellman et d'autres systèmes cryptographiques.
Pour ce faire, il faudrait que l’attaquant soit capable d’écouter passivement un protocole interactif alors que la victime effectuait plusieurs fois la même opération, avec un certain nombre de valeurs différentes. Si l’attaquant écoutait les variations temporelles provoquées par certains aspects du système de cryptographie, il pourrait lui fournir les informations dont il avait besoin pour compromettre la clé.
Pour atténuer l'attaque, Kocher a proposé faire fonctionner le logiciel à temps fixe , même s'il a admis les difficultés de le faire. Comme alternative, il a proposé d'adapter signature aveuglante techniques qui empêcheraient les attaquants de voir les entrées de la fonction d’exponentiation modulaire. Cela implique de mettre à jour les entrées importantes avant chaque étape d'exponentiation modulaire, empêchant les attaquants d'acquérir des connaissances utiles sur l'entrée de l'exponentiation modulaire et, finalement, d'empêcher l'attaque temporelle (bien qu'il existe une mise en garde théorique, que nous n'aborderons pas).
Un article de 2003 intitulé Les attaques à distance sont pratiques a fait avancer les travaux de Kocher et a montré comment les attaques temporelles pouvaient également être utilisées contre des systèmes logiciels généraux. Le document était important, car il montrait que ces attaques étaient pratiques contre des appareils plus puissants. Avant la publication du journal, l’attaque de Kocher n’avait été appliquée qu’aux jetons de sécurité. .
Dans l'article de 2003, les chercheurs ont utilisé une attaque temporelle pour extraire les clés privées d'un serveur Web basé sur OpenSSL qui s'exécutait sur une machine du réseau local. Ils ont également extrait les clés secrètes d’un processus distinct exécuté sur le même ordinateur et via une machine virtuelle.
Les chercheurs ont conclu leur article en avançant trois défenses distinctes. La première méthode, et préférée, consistait à aveugler RSA en ajoutant des entrées aléatoires. Cela empêche le moment du processus de décryptage de révéler la clé.
Une autre option consistait à empêcher les décryptages RSA de dépendre du texte chiffré d’entrée, même si les chercheurs pensaient que cela était plus difficile à réaliser. La proposition finale était d'exiger que tous les calculs RSA soient quantifiés, ce qui signifie que chaque décryptage devrait être calculé dans le même temps que le décryptage le plus long. Nous abordons cela plus en détail dans la section suivante.
Atténuer les attaques temporelles
Les attaques temporelles peuvent être atténuées grâce à des algorithmes à temps constant. Ils travaillent selon la théorie selon laquelle si les informations de synchronisation provenant de diverses opérations donnent des indices qui aident un attaquant à briser le système, alors l'élimination de ces informations utiles contribuera à maintenir la sécurité du système. .
Au lieu que l'exécution de l'opération x prenne un temps d'exécution différent de celui des opérations y ou z, les algorithmes à temps constant font que tous les algorithmes prennent exactement le même temps d'exécution. Lorsqu’il n’y a pas d’écart entre les opérations x, y et z, les attaquants ne disposent plus d’informations temporelles leur permettant de tirer des conclusions sur le système sous-jacent. Cela élimine leur capacité à utiliser les informations de synchronisation pour briser le système.
Cependant, les algorithmes à temps constant présentent un inconvénient : toutes les exécutions doivent prendre autant de temps que l’exécution la moins performante, ce qui réduit l’efficacité de l’algorithme.
Une autre technique d’atténuation contre les attaques temporelles est le masquage. Le masquage consiste à diviser le secret en plusieurs partages, que l'attaquant devra collecter et reconstruire afin d'obtenir le secret partagé.
Cependant, le masquage n’est pas pratique dans tous les algorithmes, mais uniquement dans ceux dotés d’une structure algébrique appropriée. Dans des situations viables où cela nécessite des valeurs aléatoires, il peut être difficile de générer ce caractère aléatoire dans les systèmes embarqués. De plus, il n’existe pas beaucoup de preuves concluantes de l’efficacité du masquage pour bloquer les attaques chronométrées.
Fusion et Spectre
Début janvier 2018, deux vulnérabilités graves ont été publiées par des chercheurs de Google et de diverses institutions universitaires. Les vulnérabilités associées ont été nommées Meltdown et Spectre, et ils ont affecté certains processeurs ARM, processeurs IBM Power et microprocesseurs Intel x86 . Le large déploiement de ces systèmes signifiait qu’une grande partie du monde était affectée par ces vulnérabilités.
L'exploit Meltdown est compliqué, mais une étape a utilisé une attaque temporelle pour exploiter des failles dans la conception des processeurs. Finalement, cela permettait aux attaquants de lire toute la mémoire, y compris les informations sensibles telles que les mots de passe .
Spectre microprocesseurs concernés qui effectuent la prédiction de branchement , qui implique essentiellement que le circuit essaie de deviner la direction de la séquence d'exécution avant qu'elle ne soit connue définitivement. Lorsque la plupart des microprocesseurs effectuent des exécutions spéculatives qui entraînent des erreurs de prédiction de branche, le processus peut laisser derrière lui des informations de canal secondaire observables par les attaquants.
Chronométrer ces processus pourrait révéler des informations sur leur fonctionnement interne, permettant potentiellement aux attaquants de lire des données sensibles.
Au moment de sa publication, l'exploit Meltdown affectait un large éventail de systèmes utilisant les processeurs mentionnés ci-dessus. Cela incluait toutes les versions, sauf les dernières, de les fenêtres , macOS , iOS et Linux. Cela a également touché un grand nombre de les serveurs , services cloud, appareils IoT et autres technologies. L’exploit Spectre a affecté une variété de systèmes tout aussi répandue.
La plupart des principaux fournisseurs ont publié des correctifs logiciels pour corriger les vulnérabilités avant leur divulgation publique. Certains de ces correctifs peuvent avoir un impact négatif sur les performances du système, voire provoquer redémarrages indésirables . Correctifs matériels et micrologiciels ont également été libérés.
Côté basé sur le cache – attaques de canal
Les caches sont des mécanismes logiciels ou matériels qui stockent les données pour accélérer les demandes futures. Ils sont souvent utilisés pour des données susceptibles d’être fréquemment utilisées et contribuent à améliorer l’efficacité. Il est beaucoup plus rapide pour le système de récupérer les données du cache facilement disponible que de la mémoire principale, du stockage secondaire ou d'un serveur éloigné. De même, il peut être plus rapide de récupérer les données stockées dans le cache que de devoir refaire les processus impliqués dans leur calcul.
Les caches sont utilisés dans de nombreux domaines informatiques, tels que le matériel, les logiciels et les réseaux. Certains d'entre eux incluent :
- Cache GPU
- Cache du processeur
- mise en cache Web
- Cache disque
Un bon exemple du processus de mise en cache est la mise en cache du processeur. Les processeurs peuvent réduire le temps et l'énergie moyens utilisés pour accéder à certaines données en les stockant à proximité du cœur du processeur, dans le cache du processeur. . Lorsque les copies de données sont stockées dans des caches CPU beaucoup plus rapides et plus proches, elles sont récupérées plus rapidement que lorsqu'elles sont récupérées à partir d'autres emplacements mémoire.
La plupart des processeurs ont une hiérarchie de niveaux de cache, les niveaux inférieurs ayant des temps d'accès plus rapides, mais un nombre de blocs inférieur et des tailles de bloc plus petites, ainsi que moins de blocs dans un ensemble. Les caches de niveau supérieur contiennent progressivement plus de blocs, des tailles de bloc plus grandes, un plus grand nombre de blocs dans chaque ensemble, mais des temps d'accès plus longs. Cependant, ces caches de niveau supérieur ont toujours des temps d'accès beaucoup plus rapides que la mémoire principale .
Bien que cette conception des hiérarchies de cache se traduise en moyenne par des calculs beaucoup plus rapides, certaines attaques par canal secondaire peuvent également l'exploiter. Les attaques liées au cache ont fait l'objet d'une enquête depuis les années 90 , mais ces attaques antérieures impliquaient principalement des modifications matérielles et n’étaient pas particulièrement réalisables.
Les attaques découvertes plus récemment opèrent uniquement sur les logiciels, ce qui ouvre un monde d'opportunités aux pirates. Il s'agit notamment d'attaques de cache basées sur le timing qui peuvent être lancées à distance en accédant à l'intervalle de temps entre les caches sur puce et la mémoire principale. Si les attaquants parviennent à pénétrer dans cette partie du système d’une victime, ils peuvent surveiller les traces d’accès réussis et manqués à différents moments d’accès.
Semblable aux attaques temporelles de la section précédente, ces informations temporelles provenant des caches intégrés et de la mémoire principale peuvent être utilisées pour déduire des informations sensibles. En combinaison avec la connaissance de l'algorithme cryptographique, un attaquant pourrait utiliser ces inférences temporelles pour extraire les clés secrètes, compromettant ainsi les mécanismes de sécurité.
Fuite de données du processeur Intel
Comme exemples spécifiques de la façon dont ces attaques de cache par canal secondaire peuvent se produire, des chercheurs de plusieurs institutions différentes a enquêté sur la fuite de données des processeurs Intel. Ils ont identifié trois contextes différents dans lesquels des fuites pourraient se produire entre les machines virtuelles :
- Quand multithreading Les processeurs exécutent les threads de l'attaquant et de leur victime potentielle sur des machines virtuelles distinctes mais sur le même cœur physique. Étant donné que les deux machines virtuelles partagent le même cœur, les informations contenues dans les caches de niveau 1, de niveau 2 et de dernier niveau de la victime sont vulnérables.
- Pendant changement de contexte entre les processus en cours d'exécution, lorsque deux machines virtuelles différentes se trouvent sur le même cœur. Planification préemptive permet à deux processus distincts de s'exécuter sur le même noyau, partageant le cache. Si le système utilise la planification pour basculer entre les processus de la machine virtuelle de la victime, il peut divulguer l’activité à l’attaquant. Cela affecte les informations dans tous les caches.
- Dans les contextes multicœurs où le cache de dernier niveau est partagé. Malgré les processus exécutés sur différents cœurs, le cache partagé de dernier niveau laisse toujours la machine virtuelle d’une victime vulnérable aux attaques . Cette configuration permet aux processus attaquants de manipuler les caches des processus de la victime sur un cœur distinct. Cette vulnérabilité existe en raison de l’architecture inclusive d’Intel, qui dispose de caches qui permettent à des instructions privilégiées de supprimer des lignes de cache, telles que les processus de la victime du cache partagé de dernier niveau.
Ensemble, ces trois types de fuites d’informations offrent aux pirates informatiques de nombreuses opportunités de lancer diverses attaques. Certains d'entre eux incluent :
Attaque principale et sonde
L’attaque principale et sonde est capable d’exploiter les données du cache de niveau un et les données du cache de dernier niveau. Cela nécessite que l'attaquant dispose d'un logiciel d'espionnage capable d'observer le cache via l'un des types de fuite mentionnés ci-dessus où les deux parties partagent des ressources.
L'attaquant commence par l'étape principale, où il remplit le cache avec son propre code. Il passe ensuite dans un état de repos, permettant à la victime d'exécuter son propre code. Lors de l’étape de vérification, l’attaquant surveille son propre cache rempli tout en continuant à exécuter le code normalement. L'attaquant mesure ensuite le temps nécessaire pour charger chaque ensemble de données qu'il met dans le cache.
Dans certains cas, la victime expulsera les ensembles de cache de l’attaquant, ce qui allongera le processus de récupération de l’attaquant. Outre une connaissance détaillée de l'algorithme, l'attaquant peut utiliser ces informations de synchronisation pour estimer quelles lignes de cache ont été chargées par la victime . Ces informations peuvent être utilisées par l'attaquant pour aider déduire les clés .
Expulsion et attaque contre la montre
Avec cette technique, l’attaquant a également besoin d’accéder aux logiciels espions. Ils commencent par remplir le cache avec leurs propres données, tout comme l’étape principale de la technique précédente. Suite à cela, l’attaquant laisse le programme de la victime exécuter son propre code. Son accès à la mémoire expulse certaines des lignes de cache que l'attaquant avait amorcées.
L’attaquant surveille alors les variations des temps d’exécution de la victime. À partir de la différence de temps de chargement, l'attaquant peut déduire à quelles lignes la victime a accédé . Ces informations peuvent finalement donner à un attaquant la prise dont il a besoin pour découvrir les clés secrètes.
Attaque de rinçage et de rechargement
Le technique de rinçage et de rechargement est une attaque basée sur les traces, ce qui signifie qu’elle tente de manipuler les traces à partir de l’accès d’une victime. Il repose sur le partage de pages, où la victime et l'attaquant partagent un espace d'adressage. La menace est due aux caches inclusifs de l'architecture Intel x86, qui fournissent des instructions privilégiées pour vider les lignes mémoire de chaque niveau du cache.
L'attaquant commence par vider une ligne de cache partagée. Il reste ensuite inactif, laissant à la victime le temps de s'exécuter et d'accéder au cache. L’attaquant recharge ensuite la ligne de cache partagé et mesure le temps nécessaire à son chargement.
Si la victime accède à la ligne de cache partagée, l'opération de rechargement ne prendra que peu de temps, car elle sera disponible dans le cache. Si le rechargement prend beaucoup plus de temps, cela signifie que la ligne est extraite de la mémoire et que la victime n’a pas accédé à la ligne de cache.
Étant donné que l'attaquant et la victime partagent les données dans le cache, l'attaquant est autorisé à les exploiter. Lorsque le moment de l'opération de rechargement indique que la victime a accédé au cache, l'attaquant peut utiliser ces données pour l'aider à déterminer les clés partagées. .
Atténuation des attaques par canal secondaire basées sur le cache
Les exemples ci-dessus ne représentent que trois des nombreuses attaques par canal secondaire basées sur le cache. Contre-mesures La lutte contre les diverses attaques par canal secondaire basées sur le cache peut être grossièrement divisée en trois catégories :
- Techniques d'atténuation spécifiques à l'application
- Techniques d'atténuation basées sur le compilateur
- Refonte du matériel
En raison de la nature complexe de l’architecture moderne, une technique d’atténuation donnée peut ne pas protéger entièrement le système. Pour cette raison, les développeurs de matériel et de logiciels doivent prendre en compte l’intégralité du modèle de menace et choisir des techniques d’atténuation capables de lutter contre les menaces spécifiques rencontrées.
Techniques d'atténuation spécifiques à l'application
Certaines approches populaires d'atténuation logicielle impliquent désactiver le partage de ressources ou isoler les applications . Cela empêche les attaquants de pouvoir accéder au cache d'une victime potentielle.
Une méthode spécifique est page à colorier , qui est une technique qui partitionne le cache en ensembles de cache selon la granularité des tailles de page. Ces pages mémoire reçoivent des couleurs et seules les pages ayant les mêmes couleurs peuvent être mappées au même ensemble de cache. Les pages séquentielles dans l’espace d’adressage virtuel se voient attribuer des couleurs différentes, elles ne peuvent donc pas être mappées au même ensemble de cache.
Il existe des approches à la fois statiques et dynamiques de la coloration des pages. Une approche dynamique nommée Chameleon peut fournir une coloration sécurisée pour sécuriser les processus, ce qui lui permet de maintenir un isolement strict dans un environnement virtualisé . Cela empêche les attaquants de pouvoir accéder au cache de la victime.
Techniques d'atténuation basées sur le compilateur
Biscuit, développé par des chercheurs du Georgia Institute of Technology, est un exemple de technique d'atténuation basée sur un compilateur. Selon leur papier , Biscuit est capable de détecter les attaques par canal secondaire basées sur le cache pour les processus planifiés sur des serveurs partagés. Un aspect important de Biscuit est son modèle de cache-miss que le compilateur insère aux entrées des nids de boucles.
Le modèle de cache-miss prédit les cache-miss de la boucle correspondante. Il utilise des balises pour envoyer les informations d'absence de cache au planificateur au moment de l'exécution. Le planificateur utilise ensuite ces informations pour co-planifier les processus de manière à garantir que leur empreinte de cache combinée ne dépasse pas la capacité maximale du cache de dernier niveau. Les processus planifiés sont surveillés pour comparer les échecs de cache réels aux échecs de cache prédits. Lorsque des anomalies sont détectées, le planificateur recherche pour isoler l'attaquant.
Dans cet article, les chercheurs ont montré que la technique d’atténuation basée sur le compilateur de Biscuit était capable de détecter et d’atténuer une série d’attaques, y compris les techniques d’amorçage et de sonde ainsi que les techniques de vidage et de rechargement que nous avons mentionnées plus tôt.
Refonte du matériel
Les techniques générales d’atténuation basées sur le matériel sont limitées, car elles entraînent d’importants frais généraux de performances qui rendent leur mise en œuvre peu pratique. Ces techniques d'atténuation basées sur le matériel nécessitent généralement la conception d'un nouveau matériel qui minimise les risques d'une architecture faiblement couplée et les risques de disponibilité de ressources partagées.
L’une des menaces majeures vient de l’existence de canaux de timing matériels. Pour contrer ces risques, il est possible d’introduire du bruit aléatoire dans le système. Cela empêche les attaquants de pouvoir corréler leurs mesures avec les véritables opérations. Cependant, comme nous l’avons indiqué ci-dessus, cela tend à être trop inefficace pour être pratique.
Attaques par canal secondaire de surveillance de l’alimentation
Les attaques par canal secondaire de surveillance de l’alimentation reposent sur l’accès d’un attaquant à la consommation électrique d’un système cryptographique. La consommation électrique de tout appareil est soumise aux lois de la physique.
Cela signifie que si un attaquant surveille la consommation électrique d'un système cryptographique pendant qu'il effectue diverses opérations, il pourra peut-être utiliser les informations qu'il collecte pour découvrir les clés secrètes. Il existe deux types différents d'analyse de puissance :
Analyse de puissance simple
Cette technique consiste à représenter graphiquement l’utilisation actuelle d’un cryptosystème au fil du temps. La consommation électrique varie à mesure que le système effectue différentes opérations. En analysant les différents profils de consommation électrique de diverses opérations, un attaquant peut être en mesure de déduire des informations sur le fonctionnement de l'appareil, ainsi que sur son matériel de saisie.
Dans le cadre d'une simple analyse de puissance, un attaquant prend un ensemble de mesures d'informations de puissance au cours d'une opération cryptographique. Cette série de mesures est appelée tracer .
Imaginons qu'un attaquant surveillait un système cryptographique alors qu'il effectuait une opération AES :
Dans le tracé ci-dessus, nous avons 11 pointes. Le premier est environ deux tiers plus long que les autres, qui ont tous à peu près la même longueur. Chacune des pointes est également à peu près à la même distance. Le premier pic est dû à la consommation d’énergie qui se produit lorsque le texte en clair est chargé dans le registre. Les 10 autres pics indiquent l’utilisation actuelle de chacun des 10 tours de l’algorithme AES.
Tout comme le graphique nous montre très clairement quand se déroule chacune des 10 séries d’AES, si nous devions zoomer, nous obtiendrions également un aperçu des moindres détails de ces opérations. Plus un attaquant zoomait, plus il pouvait glaner d'informations sur la consommation d'énergie, ce qui pourrait révéler des informations importantes, telles que des détails sur la planification des clés et la séquence des instructions exécutées. En fin de compte, ces informations peuvent conduire l’attaquant à briser le cryptosystème.
Atténuation de l'analyse de puissance simple
L’analyse de puissance est généralement effectuée de manière passive, de sorte qu’il n’existe normalement aucun moyen pour les dispositifs cryptographiques de détecter si cela se produit ou non. Il s’agit également d’un processus non invasif et, ensemble, ces facteurs rendent les processus d’audit et les boucliers physiques inappropriés comme mécanismes de défense.
En tant que mécanisme de défense plus sécurisé, les implémentations de systèmes cryptographiques doivent être conçues de manière à ce qu'il n'y ait aucune valeur secrète qui affecte branches conditionnelles (ce sont essentiellement des instructions programmées qui disent «si x se produit, branchez vers y»), au sein du logiciel.
Ceci est nécessaire car lorsque les systèmes cryptographiques comportent des branchements conditionnels dans l'exécution de leur logiciel, il peut divulguer des informations qui peuvent permettre aux attaquants de découvrir facilement des données secrètes . Cela est dû au fait que la consommation d’énergie varie en fonction de la branche prise par le système cryptographique. Avec une surveillance attentive, un attaquant peut être en mesure d'utiliser ces informations pour déduire des détails sur le système de chiffrement sous-jacent ou sur le matériel de chiffrement.
De même, les mises en œuvre doivent être conçues de manière à ce que les éléments suivants sources de variations ne proposent pas d’informations qui pourraient être utilisées pour compromettre le système :
- Instructions CPU avec timing variable – Ces variations donnent des indices similaires à l’attaquant.
- Variations du microcode – Même dans du code sans branche avec un timing constant, microcode les variations peuvent toujours présenter des variations de consommation d'énergie en fonction des données, dont les attaquants peuvent tirer parti.
- Diverses opérations arithmétiques – Lorsque ces opérations présentent de grandes variations dans leur complexité, cela entraîne également de grandes variations dans leur consommation électrique respective. Ces informations peuvent également être exploitées.
- Changements de contexte sur les processeurs multithread et les interruptions de minuterie – Même si ces variations ne sont pas liées au traitement cryptographique, elles peuvent émettre des informations de puissance qui peuvent être utiles à un attaquant. Cependant, les utilisations de ces informations ont tendance à être plus limitées que les exemples mentionnés ci-dessus.
Analyse de puissance différentielle
L'analyse de puissance différentielle est une technique plus sophistiquée plus difficile à défendre . L'idée a été introduite pour la première fois par Paul Kocher et al. dans leur article de 1998, Analyse de puissance différentielle .
Dans l'article, les chercheurs décrivent comment il existe des corrélations supplémentaires entre la consommation d'énergie et les opérations effectuées par le cryptosystème, en plus des variations dont nous avons déjà parlé dans la section sur l'analyse de puissance simple.
Même si ces autres variations sont généralement plus petites et peuvent être éclipsées par du bruit et des erreurs de mesure, il est souvent encore possible d’utiliser ces mesures pour briser le cryptosystème. L'analyse de puissance différentielle utilise des fonctions statistiques personnalisées en fonction de l'algorithme cryptographique spécifique ciblé par un attaquant.
Dans leur article initial, les universitaires ont décrit une analyse différentielle des pouvoirs par rapport aux Norme de cryptage des données (DES) , car il s’agissait encore d’un algorithme populaire au moment de leurs recherches. Les calculs expliquant le fonctionnement de l’attaque contre DES sont compliqués, nous n’entrerons donc pas dans les détails.
Au lieu de cela, il est plus important de noter que étant donné que ces variations sont généralement plus petites et entrent en concurrence avec davantage de bruit, les techniques d'analyse de puissance différentielle incluent des propriétés de correction d'erreur et de traitement du signal. . Ceux-ci permettent aux attaquants de obtenez des informations sur les opérations cryptographiques qui ne sont pas visibles grâce à une simple analyse de puissance .
Dans certaines situations, cela leur permet d’extraire des secrets et de casser des systèmes cryptographiques sécurisés contre une simple analyse de puissance. L'analyse de puissance différentielle est également viable par rapport à d'autres algorithmes de chiffrement, tels que AES .
Il existe une forme encore plus avancée d'analyse de puissance différentielle connue sous le nom de analyse de puissance différentielle du second ordre . Ces attaques peuvent utiliser différents décalages temporels, une gamme de techniques de mesure et plusieurs sources de données. S’ils sont théoriquement capables de briser certains systèmes résistants aux attaques d’analyse de puissance simple et différentielle, ils sont également bien plus complexes.
Parce que la plupart des systèmes du monde réel susceptibles de analyse de puissance différentielle du second ordre sont également sensibles à l’analyse de puissance différentielle normale, ces attaques sont principalement étudiées par les chercheurs et ne sont pas fréquemment observées dans la nature.
Atténuation différentiel analyse de puissance
La nature plus sophistiquée de l’analyse différentielle de puissance rend sa défense beaucoup plus difficile par rapport à une simple analyse de puissance. En effet, même si les corrélations les plus évidentes entre la consommation électrique et les opérations cryptographiques ont été évitées, il peut encore y avoir des indices subtils dans les données .
Avec une analyse statistique appropriée, ceux-ci pourraient révéler des détails sur le fonctionnement du cryptosystème et son matériel de chiffrement, ce qui pourrait finalement compromettre le système.
Malgré cela, certaines approches visent à se défendre contre l'analyse de puissance différentielle . Ceux-ci inclus:
- Réduire la taille des signaux – Minimiser la taille des signaux peut contribuer à réduire la qualité des informations disponibles pour l’analyse statistique, dans l’espoir de rendre ces attaques non viables. Les concepteurs de cryptosystèmes peuvent y parvenir en sélectionnant des opérations qui ont un code de chemin d'exécution constant et qui divulguent moins d'informations via leur consommation d'énergie. Ils peuvent également utiliser des poids de Hamming, qui sont des chaînes composées de symboles autres que zéro qui apparaissent dans le code.
- Ajout de bruit – L'ajout de bruit dans les mesures de consommation d'énergie augmente le nombre d'échantillons dont un attaquant aurait besoin pour mener une attaque réussie. Lorsqu’une quantité suffisante de bruit est ajoutée, cela peut rendre impossible l’analyse de puissance différentielle. La randomisation du calendrier et de l’ordre d’exécution peut également contribuer à rendre ces attaques irréalisables.
- Concevoir des cryptosystèmes avec des hypothèses réalistes sur le matériel sur lequel ils fonctionnent – Les attaques par canal secondaire utilisent les informations du matériel pour briser le cryptosystème. Il est donc important de prendre en compte ses faiblesses lors de la conception des cryptosystèmes. Une défense contre ces faiblesses consiste à inclure des compteurs clés qui empêchent les attaquants de collecter un grand nombre d’échantillons. Un autre moyen d'empêcher les attaquants de collecter des données sur un grand nombre d'exécutions consiste à utiliser de manière agressive les processus de modification des exposants et des modules dans les schémas à clé publique. Les procédures de mise à jour de clé non linéaires peuvent également supprimer la corrélation entre la consommation d'énergie et des opérations spécifiques.
Attaques électromagnétiques
Les appareils électroniques émettent des rayonnements électromagnétiques. Cela est dû au fait que les fils transportant du courant émettent des champs magnétiques. Ainsi, chaque fois qu’un appareil est utilisé, il crée ces petites quantités de rayonnement électromagnétique. Quand les cryptosystèmes exécutent des opérations , la quantité de rayonnement électromagnétique peut varier selon le type d'opération.
Les attaquants peuvent mesurer le rayonnement électromagnétique de ces différentes opérations au fil du temps, puis utiliser ces informations pour obtenir des informations sur le cryptosystème et son matériel de chiffrement. . En fin de compte, un attaquant peut être en mesure d’exploiter ces informations pour compromettre le cryptosystème et accéder à des données sensibles.
Les attaques électromagnétiques peuvent être effectuées de manière non invasive, mais le déconditionnement d'une puce peut contribuer à améliorer le signal. Cela peut faciliter la rupture du cryptosystème. Des exemples d'attaques électromagnétiques incluent la découverte des Bell Labs et le phreaking de Van Eck, dont nous avons parlé dans L’histoire des attaques par canal secondaire section.
Des dispositifs cryptographiques simples comme les cartes à puce et réseaux de portes programmables sur site ont tendance à être les plus vulnérables aux attaques électromagnétiques. S'il existe également des attaques techniques contre téléphones intelligents et des ordinateurs , ces dispositifs complexes émettent trop de bruit provenant de leurs autres processus, ce qui tend à rendre les attaques électromagnétiques moins attrayantes que les alternatives telles que l'exploitation des vulnérabilités logicielles.
Analyse électromagnétique simple
Le type d’attaque électromagnétique le plus élémentaire est analyse électromagnétique simple . Cela implique qu’un attaquant mesure directement l’activité électromagnétique. Pour que ces attaques réussissent, les attaquants ont besoin d'une compréhension approfondie de leur algorithme ciblé et de la manière dont il a été mis en œuvre .
Les attaquants mesurent le rayonnement électromagnétique émis par diverses opérations cryptographiques au fil du temps et représentent ces informations sous forme de trace. Ces traces de rayonnement électromagnétique peuvent leur fournir des détails sur les opérations cryptographiques et même amener un attaquant à découvrir le matériel de chiffrement.
Le concept sous-jacent est que les algorithmes cryptographiques s'exécutent dans une séquence définie d'opérations variables. Lorsque le rayonnement électromagnétique est représenté graphiquement sous forme de trace, il est possible de reconnaître ces opérations en fonction des pics d'activité. . Cela fonctionne à peu près de la même manière que dans la technique simple d’analyse de puissance dont nous avons parlé ci-dessus.
Dans certains cas, les attaquants peuvent compromettre le système à partir d’une seule trace de mesures électromagnétiques. Les attaquants peuvent également utiliser plusieurs traces pour tenter de déduire les secrets du cryptosystème. L’avantage des traces multiples est qu’elles permettent aux attaquants de réduire la quantité de bruit dans leurs mesures. Celles-ci sont connues sous le nom d’attaques par analyse électromagnétique différentielle.
Analyse électromagnétique différentielle
L’analyse électromagnétique différentielle peut être utile dans les cas où une simple analyse électromagnétique n’a pas fourni suffisamment d’informations ou s’il y avait trop de bruit dans les mesures. Un autre avantage est que ces attaques ne nécessitent pas autant de connaissances sur le cryptosystème ciblé pour être efficaces . Ils sont également viables contre implémentations de chiffrement à clé symétrique .
Bien que ces attaques aient des utilisations supplémentaires par rapport à une simple analyse électromagnétique, elles sont également plus complexes, ce qui les rend plus difficiles à monter.
Atténuation des attaques par analyse électromagnétique
La plupart des attaques par analyse électromagnétique nécessitent que l'attaquant se trouve à proximité immédiate de l'appareil. Cela signifie que sécuriser l'emplacement contre les attaquants peut sécuriser le cryptosystème . Une autre méthode pour atténuer les attaques d’analyse électromagnétique consiste à protéger physiquement le rayonnement électromagnétique. Le matériel sous-jacent peut être conçu avec un blindage, tel qu’une cage de Faraday, qui réduira la force du signal.
Les attaquants déballent souvent les puces pour rendre le signal plus fort, ce qui signifie que la sécurité peut être renforcée en collant la puce. Si la puce est collée de telle manière qu’elle ne peut être retirée sans être détruite, cela empêche les attaquants de pouvoir la déconditionner.
Une autre option consiste à concevoir le système de manière à ce qu'il y ait il n'y a plus de corrélation entre l'algorithme cryptographique et le rayonnement électromagnétique . Ceci peut être accompli grâce à la randomisation du cycle d'horloge, à la randomisation de l'ordre de cryptage des bits et aux interruptions de processus.
Autres attaques par canal secondaire
Il existe de nombreux autres types d’attaques complexes par canal secondaire, mais par souci de brièveté, nous ne les aborderons pas tous en profondeur. Ces autres comprennent :
- Analyse différentielle des défauts – Ce type d’attaque par canal secondaire implique qu’un attaquant tente de provoquer des pannes dans le système dans l’espoir que cela puisse révéler des informations sur l’état interne du système.
- Imagerie thermique – Les attaques par imagerie thermique surveillent la chaleur générée par le système et tentent de corréler la température avec les opérations en cours.
- Attaques optiques – Ces attaques peuvent être utilisées pour surveiller et enregistrer les signaux visuels émis lors des opérations cryptographiques. Un exemple est celui des voyants LED de nombreux ordinateurs qui peuvent être corrélés à l'activité du disque dur.
- Attaques par canal secondaire basées sur l'allocation – Chacune des attaques par canal secondaire évoquées précédemment peut être considérée comme basée sur la consommation. Les fuites d'informations lors de ces attaques sont basées sur le nombre de ressources consommées lors d'une opération cryptographique. Les attaques par canal secondaire basées sur l'allocation diffèrent dans le sens où l'attaquant surveille le nombre de ressources qui ont été attribué à un processus, pas ceux qui ont été consommés . Ils utilisent ensuite ces informations pour tenter de briser le système.
Chacune des attaques ci-dessus fonctionne selon des principes similaires à ceux des autres attaques par canal secondaire que nous avons couvertes. Essentiellement, lorsque des algorithmes sécurisés sont mis en œuvre sans les techniques d’atténuation appropriées, chacun de ces canaux peut permettre la fuite d’informations sur les opérations cryptographiques.
Si un attaquant surveille et analyse ces informations, il peut les utiliser pour découvrir les détails du système cryptographique et les clés secrètes, ce qui lui permet finalement de compromettre la sécurité du système.
Les algorithmes sécurisés ont encore besoin d’implémentations sécurisées
Comprendre les attaques par canal secondaire est essentiel pour sécuriser un système. Il est facile de supposer que tant qu’un appareil utilise un algorithme sécurisé tel que AES-256 , qu'il sera sécurisé uniquement grâce à la force de l'algorithme. Bien que l'AES-256 soit toujours considéré comme un algorithme sécurisé, la véritable sécurité de l'appareil dépend également de sa mise en œuvre n.
Si un algorithme comme AES-256 a été mis en œuvre sans prendre en compte ces attaques par canal secondaire ni déployer les techniques d'atténuation dont nous avons parlé, il peut toujours être vulnérable aux attaquants.
C’est l’une des raisons de l’adage courant dans la communauté de la cryptographie : « Ne lancez pas votre propre crypto ». Cela signifie essentiellement : « N’implémentez pas vos propres systèmes cryptographiques (sauf si vous êtes un expert et que votre travail sera examiné par des équipes d’autres experts). »
Même s’il est facile de construire un système cryptographique que vous ne pouvez pas comprendre personnellement comment le casser, cela ne signifie pas que personne d’autre ne pourra le casser. Compte tenu du nombre de génies existants, de l’immense complexité de ces systèmes et des nombreuses possibilités d’attaques par canal secondaire, il est essentiel que toute mise en œuvre soit soumise à un processus d’examen rigoureux.
Si cela ne se produit pas, il est beaucoup plus probable qu’un pirate informatique intelligent s’infiltre dans le système en utilisant l’une des nombreuses attaques par canal secondaire ou par d’autres techniques. En fin de compte, cela peut mettre en danger toutes les données protégées par le système.