BlackHat Conference, Las Vegas : C’est l’une des conférences de la BlackHat 2018 la plus suivie de de ces 20 dernières années. Aurélien Francillon, Giovanni Camurati, Sebastian Poeplau, Marius Muench et Tom Hayes sont parvenus à récupérer une clef de chiffrement à distance, sans le moindre lien physique, en écoutant « simplement » (ou presque) les traces de signaux émis par la logique de chiffrement située près d’un transmetteur Bluetooth.
De façon très sommaire, les chercheurs se sont aperçus de la présence de signaux parasites relativement ténus, transportés par l’onde radio émise par un circuit Nordic nRF52832. Ces signaux ne font pas partie de l’information Bluetooth transportée par la section « radio » de ce circuit tout-en-un, mais sont injectés par couplage (par rayonnement électromagnétique de proximité), passant ainsi du processeur vers l’électronique de l’émetteur bande de base. C’est donc là une variante des « side attack » qui consistent à récupérer les appels de courant du processeur de chiffrement en surveillant le rail d’alimentation d’un système électronique protégé.
D’un point de vue technique, c’est le bruit généré par les signaux numériques (signaux carrés, riches en harmoniques paires), eux-mêmes créés par le processeur de chiffrement, qui viennent perturber soit le convertisseur numérique/analogique de la radio logicielle (SDR) embarquée, soit l’un des deux mélangeurs à quadrature du circuit I/Q, soit directement l’amplificateur de puissance HF. Dans tous les cas, cette injection se traduit par une modulation d’amplitude de l’onde porteuse HF. Même de très faible puissance, ce signal est ensuite assez facile à extraire avec… un second SDR (grâce à la formule √(I2 + Q2) généralement désignée sous le nom de « pont aux ânes » et que les comptables Grecs connaissent depuis plus de 2600 ans )
La principale différence par rapport aux side attack conventionnelles, c’est que l’information stratégique (l’activité du processeur de chiffrement) n’est pas récupérée directement. Elle est extraite d’une couche de transport, et pourrait (le conditionnel est d’importance) être récupérée aussi loin que porte l’émetteur ainsi parasité. Ce n’est donc pas franchement l’extraction de la clef elle-même qui fait toute la qualité de ce hack, mais le travail de « reversing » de la couche radio et les implications que cela sous-entend.
Bien sûr, l’on pourrait critiquer la réalité de ce « proof of concept ». L’extraction a bien été effectuée à plus de 10 mètres de distance, mais dans le calme électromagnétique le plus absolu d’une chambre anéchoïde. Le composant exploité, au sens hacking du terme, était un SoC qui associe un émetteur Bluetooth BLE et un processeur ARM… la proximité de ces deux fonctions sur un même substrat facilite la propagation des signaux d’un point à l’autre d’une puce de quelques millimètres à peine. Dans la « vraie vie », le bruit électromagnétique ambiant, les éventuels autres signaux parasites (notamment l’alimentation du circuit Nordic lui-même), les circuits intégrés satellites qui fournissent l’information à transmettre, l’environnement industriel général, la température ambiante sont autant d’obstacles qui rendent ardue la discrimination des signaux de chiffrement, quand bien même l’on utiliserait des processeurs et logiciels de traitement de signaux perfectionnés. Ajoutons également (l’étude en question suggère cette contre-mesure) que rien n’empêche les concepteurs d’un système embarqué de séparer nettement les fonctions de chiffrement de la partie radio-transmission. Voir d’entourer d’un blindage électromagnétique doublé d’un bon filtrage (découplage des alimentations, réjection mode commun des bus de données) les sections numériques.
Par ailleurs, lorsqu’une information réellement confidentielle doit être transmise, il existe une foultitude de méthodes de protection liées à la couche de transport : agilité de fréquence, transmissions à faible énergie par bit quasiment indiscernables dans le plancher de bruit HF ambiant, formes d’ondes complexes qui rendent toute interception impossible tant que l’on ne possède pas l’algorithme de synchronisation utilisé par le réseau de SDR, foisonnement d’informations non essentielles destinées à noyer les données réelles dans un brouillard de signaux dénués de signification…
Mais ce sont là des mesures qui coûtent cher, qui alourdissent les équipements, et dont le surcoût est justifié dans la plupart des modules IoT d’usage général, ceux-là même qui utilisent ces circuits intégrés « faillibles ».
Pis encore, même les systèmes de transmission haut de gamme, s’ils n’utilisent pas de circuits Nordic ou Qualcomm, reposent souvent sur des composants centraux (généralement des fpga) qui sont situés à la confluence des sections numérique et radio, et donc susceptibles de souffrir d’une faille analogue. Enfin, tous les émetteurs SDR ont besoin d’un convertisseur numérique analogique pour émettre, circuits dont la première qualité est leur impressionnante plage dynamique, donc leur propension à récupérer des signaux parfois de très faible amplitude pour ensuite risquer de les intégrer dans le signal à numériser. Et c’est également grâce ou à cause des SDR et de leurs étages de réception (convertisseur analogiques/numériques cette fois) qu’il devient possible d’intercepter non plus une fréquence précise, mais tout un spectre, ce qui facilite la détection, l’extraction puis l’analyse desdits signaux parasites.
Il y avait un « avant » les travaux de l’équipe d’Eurecom, il y aura un « après » avec une série de fuzzing de plus en plus intéressants. La porte ouverte à des « remote sploit » de plusieurs centaines de km ?