Lorsque vous pensez aux pirates, vous pouvez imaginer l'expert à la Hollywood qui tente de percer les défenses d'un ordinateur. Cependant, une attaque par canal auxiliaire permet à un pirate d'extraire des informations d'un appareil sans même toucher à la sécurité du système.
Voyons ce qu'est une attaque par canal latéral et ce qu'elle signifie pour vous.
Disons que vous vivez avec un colocataire qui appelle quelqu'un de temps en temps. Pour ce faire, ils utilisent un téléphone fixe avec des boutons physiques. Votre colocataire est très discret sur la personne qu'il appelle, mais vous êtes curieux.
Vous pouvez les regarder composer le numéro, mais que se passe-t-il si vous n'avez pas besoin de le faire ? Et si à la place, vous pouviez d'une manière ou d'une autre obtenir le nombre en surveillant des signaux non visuels, et comment procéderiez-vous ?
Une solution consiste à écouter la tonalité chaque fois que votre colocataire appuie sur une touche. Étant donné que chaque touche émet une tonalité différente, vous pouvez ensuite effectuer une rétro-ingénierie des sons pour déterminer quelle touche a été enfoncée.
Vous pourrez peut-être mesurer le temps qu'il faut à votre colocataire pour déplacer son doigt d'une touche à une touche adjacente. Ensuite, lorsque votre colocataire compose le numéro, vous mesurez l'intervalle de temps entre chaque appui.
Si l'écart est égal à votre mesure, le nombre sur lequel ils viennent d'appuyer était adjacent au dernier. Un délai plus long signifiait que le numéro suivant n'était pas adjacent, tandis que deux tapotements rapides signalaient que le même numéro avait été pressé deux fois. Ensuite, vous pouvez calculer tous les nombres possibles qui correspondent au modèle de synchronisation et utiliser ces données pour déterminer à qui il pourrait s'agir.
Vous pouvez apprendre à quoi ressemble chaque touche lorsqu'elle est enfoncée. Peut-être que la touche trois a un "clunk" plus lourd et que la touche neuf émet un léger grincement. Lorsque votre colocataire compose le numéro, vous surveillez les bruits et déterminez ce qui a été composé.
Ces méthodes définissent ce qu'est une "attaque par canal latéral". C'est un moyen d'extraire des données sans s'introduire directement dans l'appareil. Cela peut sembler très extrême, mais les attaques par canal latéral de l'ordinateur vont bien plus loin que d'écouter les pressions sur les boutons !
Maintenant que nous savons comment fonctionne une attaque par canal auxiliaire, examinons différentes catégories d'attaques que les pirates peuvent utiliser.
Premièrement, les attaques temporelles analysent le temps qu'il faut pour qu'un processus se termine. Cela revient à compter le temps de numérotation de votre colocataire et à le comparer à ce que vous savez.
Le pirate alimentera l'algorithme avec différentes entrées et regardera combien de temps le processus prend pour le mâcher. À partir de ces données, ils peuvent reconstituer les algorithmes potentiels qui correspondent aux données temporelles et trouver une solution.
Dans la vidéo ci-dessus, Joe Grand crée un appareil avec une serrure à combinaison à quatre boutons. Après avoir saisi le code, l'appareil compare la première partie de la saisie de l'utilisateur avec la première partie du code correct. Si c'est correct, il compare la deuxième pression avec la combinaison, et ainsi de suite. Si c'est faux, l'appareil arrête immédiatement le traitement.
Par conséquent, si vous testez les quatre boutons en tant que première entrée, la bonne prendra un peu plus de temps à traiter. Des entrées incorrectes ne provoquent qu'une seule comparaison, car l'appareil s'arrête immédiatement après la première. Cependant, une première saisie correcte entraînera le passage de l'appareil à la seconde, ce qui prend plus de temps.
Une fois que vous savez ce qu'est le premier bouton, vous pouvez alors essayer de le combiner avec chaque deuxième entrée possible, puis la troisième, etc. Tant que vous conservez l'entrée qui prend le plus de temps à traiter, vous finirez par découvrir le code.
Les attaques de synchronisation étaient une partie importante de l'exploit Meltdown. Il a analysé la vitesse de lecture du cache et a utilisé les résultats pour lire les données par lui-même.
Un pirate peut surveiller la quantité d'énergie utilisée par un composant pour voir ce qu'il fait. Si un composant consomme plus d'énergie que la normale, il calcule probablement quelque chose d'important ; lorsqu'il consomme moins, il passe probablement à la phase de calcul suivante.
Un pirate pourrait même utiliser des signatures de puissance pour voir quelles données étaient envoyées. Par exemple, sur AnySilicon, ils affichent un graphique de puissance qui révèle un composant envoyant des données binaires. Une petite bosse de puissance est nulle alors qu'une bosse plus grande est un.
L'analyse acoustique se produit lorsqu'un pirate écoute des modèles audio provenant d'un appareil et utilise les résultats pour rassembler des informations. Dans l'exemple de téléphone ci-dessus, écouter la tonalité ou appuyer sur un bouton serait une attaque acoustique.
Il y a eu quelques études qui testent la faisabilité d'une attaque acoustique. Une étude a écouté le son d'une imprimante pour évaluer ce qui était imprimé et a atteint un taux de précision de 72 %. Cela a grimpé jusqu'à 95 % si l'attaquant savait à peu près de quoi il s'agissait.
Une autre étude, appelée SonarSnoop, a transformé les téléphones en appareils sonar. L'étude a fait que les téléphones émettaient un son inaudible pour les oreilles humaines à travers le haut-parleur et enregistraient un écho via le microphone. L'écho du sonar permettrait à l'attaquant de connaître l'emplacement du doigt de la victime sur l'écran pendant qu'il dessine son schéma de déverrouillage, révélant ainsi comment déverrouiller le téléphone.
L'analyse électromagnétique (EM) surveille les ondes émises par les appareils. À partir de ces informations, un attaquant peut déchiffrer ce que fait l'appareil. À tout le moins, vous pouvez savoir si un appareil se trouve à proximité ; par exemple, vous pouvez utiliser un téléphone pour trouver des caméras de surveillance cachées en trouvant leurs ondes EM.
Il existe également une étude qui examine les appareils IoT et leurs émissions électromagnétiques. La théorie est que les équipes médico-légales peuvent surveiller les appareils suspects sans avoir à les pirater. Ceci est important, car cela permet aux forces de l'ordre de surveiller les activités suspectes sans laisser de trace.
Malheureusement, il n'existe aucun moyen simple de rendre votre PC invulnérable aux attaques par canal latéral. Tant qu'il consomme de l'énergie, émet des radiations et crée du son pendant son fonctionnement, il est mûr pour qu'un pirate puisse l'analyser.
Cependant, ce que vous pouvez faire, c'est empêcher un pirate d'effectuer l'attaque en premier lieu. Par exemple, prenez le programme SonarSnoop qui peut détecter les modèles de connexion sur les téléphones. Si ce programme était dans la nature, il emprunterait probablement les mêmes canaux de distribution que n'importe quel autre logiciel malveillant. Il se trouverait caché dans des applications et des programmes malveillants en attendant que quelqu'un le télécharge.
Ainsi, bien que vous ne puissiez pas empêcher vos appareils d'émettre des signaux révélateurs, vous pouvez empêcher l'installation de logiciels programmés pour surveiller lesdits signaux. Gardez vos outils antivirus à jour et pratiquez une bonne hygiène de cybersécurité et tout devrait bien se passer.
Les attaques par canal latéral sont effrayantes, car elles prouvent que des attaques peuvent se produire à votre insu. Cependant, vous pouvez faire votre part pour empêcher les pirates de prendre pied sur votre système et de le surveiller à la recherche d'informations privées.
Si vous souhaitez prendre des mesures supplémentaires pour protéger votre matériel, pourquoi ne pas sécuriser votre ordinateur pour le protéger contre le vol ?