Extraction clé de périphériques mobiles via non intrusives physiques canaux latéraux

sosoblanc

Attendre l'inattendu
Premium
Inscription
24 Juin 2014
Messages
105
Réactions
15
Points
1 536
RGCoins
25
Cette recherche a été menée à l' Université de Tel Aviv , en collaboration avec l'Université d'Adélaïde.

Résumé

Nous montrons un logiciel cryptographique moderne sur les téléphones mobiles, la mise en œuvre de l'algorithme de signature numérique ECDSA, peut exposer par inadvertance ses clés secrètes à travers des canaux secondaires physiques: le rayonnement électromagnétique et la consommation d'énergie qui fluctuent d'une manière qui dépend de l'information secrète pendant le calcul cryptographique. Un attaquant peut non effractive mesurer ces effets physiques à l'aide d'une sonde 2 $ magnétique tenue à proximité du dispositif, ou un adaptateur USB improvisé connecté au câble USB du téléphone, et une carte son USB. L'utilisation de ces mesures, nous avons pu extraire pleinement les clés de signature secrète de OpenSSL et CoreBitcoin en cours d'exécution sur les appareils iOS. Nous avons également montré une fuite clé partielle de OpenSSL fonctionnant sur Android et de CommonCrypto iOS.

L'algorithme cryptographique attaqué est , un algorithme de signature numérique standard utilisé dans de nombreuses applications telles que les portefeuilles Bitcoin et d' Apple Pay. Ainsi, de telles applications, en particulier celles qui reposent sur des versions vulnérables de OpenSSL, CoreBitcoin ou iOS, peuvent exposer leurs utilisateurs à des attaques physiques à faible coût menant au vol des pouvoirs de signature et les transactions non autorisées subséquentes ou fausse authentification.

Notre méthodologie comprend l'acquisition physique de signal à partir d'appareils mobiles (téléphones et tablette), le traitement du signal pour l'extraction du signal et la mise en valeur en utilisant Singular Spectrum Analysis, et un algorithme basé sur treillis pour récupérer la clé de signature secrète par l'agrégation des informations partielles tirées de nombreuses opérations de signature randomisées.

Voici un exemple d'une configuration d'attaque électromagnétique (en dessous de la table en verre), qui peut être utilisé pour attaquer un téléphone mobile placé sur la table.

qxnIEzi.png


7DviPXW.png


Questions & Réponses :
Q1: Quel est l'état des bibliothèques vulnérables?
Pratiquer une divulgation responsable, nous avons travaillé avec les fournisseurs de tous les logiciels ciblés pour transmettre nos conclusions et decoordonner la réponse, avant la divulgation publique. Statut de niveau d'application est la suivante:​

  • :
    • OpenSSL 1.0.x est vulnérable : nous avons effectué l' extraction clé sur cette mise en œuvre.
      Exception: OpenSSL utilise une implémentation alternative pour certaines courbes elliptiques, lors de la compilation pour x86-64 avec le non-défaut enable-ec_nistp_64_gcc_128 option. Nous avons aucune preuve que la mise en œuvre alternative est vulnérable.
      Les développeurs du OpenSSL nous informés que " les attaques secondaires canaux matériels ne sont pas dans le modèle de menace de OpenSSL", donc pas de mises à jour sont prévues pour OpenSSL 1.0.x pour atténuer nos attaques.
    • OpenSSL 1.1.x est vulnérable , car il utilise la mise en œuvre wNAF vulnérables comme OpenSSL 1.0.x.
      Exceptions: le code x86-64 précité. En outre, sur ARM, et plus particulièrement pour le NIST P-256 courbe (mais pas secp256k1), le nouveau code à temps constant est utilisé et nous avons aucune preuve qu'elle est vulnérable.
  • :
    • iOS 7.1.2-8.3 semble vulnérable : sa mise en œuvre de ECDSA, en CommonCrypto, présente une fuite scalaire dépendant et semble vulnérable ainsi.
    • iOS 9.x ne semble pas vulnérable : sa mise en œuvre utilise des techniques d'atténuation-canal latéral et nous avons aucune preuve qu'elle est vulnérable.
  • : CoreBitcoin est vulnérable : nous avons effectué l' extraction clé sur cette mise en œuvre. Les développeurs ont exprimé leur intention de passer à la bibliothèque dans l'avenir.
  • la dernière Bitcoin Core ne semble pas vulnérable . Il transition à l' aide de la bibliothèque dans v0.10.0 (publié en Février 2015; voir et ) et nous avons aucune preuve que libsecp256k1 est vulnérable.
  • : la version Android de BouncyCastle est vulnérable , comme l'a découvert par un travail simultané et indépendant, .
Q2: Qu'est-ce que le signal électromagnétique mesuré ressemble?
Le signal électromagnétique est mesurée à l'aide d'une sonde magnétique, et numérisé par une carte son, une radio définie par logiciel, ou une carte d'échantillonnage de laboratoire de qualité. Après un certain filtrage numérique, le signal brut ressemble à ceci:
YSdqr3M.png


Afin d'obtenir une trace plus claire, nous avons appliqué une analyse du spectre singulier (SSA). La trace de la trace résultant ressemble à ceci:
xA3BKMY.png


Les informations nécessaires à l' extraction clé réussie est la séquence de DOUBLES et AJOUTER des opérations effectuées sur la courbe elliptique (marquée D et A respectivement). Ces opérations peuvent être tirées ci - dessus, mais nous pouvons les détecter beaucoup plus fiable en analysant les composantes de fréquence de la trace:
KZ6X7Cc.png


Après avoir observé la courbe elliptique à DOUBLE et AJOUTER des opérations au cours de quelques milliers de signatures, la clé secrète de signature peut être complètement reconstruit.

Q3: Vous avez attaqué ECDSA sur les téléphones. Qu'en est-il d'autres schémas cryptographiques? Que diriez-vous des PC?
D' autres schémas cryptographiques, en cours d' exécution sur les ordinateurs portables , sont également vulnérables aux attaques physiques non-invasives clé d'extraction côté canal . Dans des travaux antérieurs , nous avons attaqué:
  • Implémentations RSA en utilisant fenêtre coulissante et fenêtre fixe exponentiation (présentés ), Ainsi que exponentiation carré et toujours-multiplication ( et ).
  • Implémentations ElGamal utilisant fenêtre coulissante et fenêtre fixe exponentiation ( ), Ainsi que exponentiation carré et toujours-multiplication ( ).
  • ECDH implémentations de chiffrement en utilisant DEUX -et-sometimes- AJOUTER avec NAF represenation ( ).
Les travaux en cours évalue la sécurité des systèmes cryptographiques supplémentaires.

Q4: Pourquoi avez-vous attaquez ECDSA? Est-il différent des travaux antérieurs sur RSA, ElGamal et ECDH?
Nous nous sommes concentrés sur l' extraction de secrets clés du , pour deux raisons:
  • En termes d'importance pratique, ECDSA est un algorithme de signature numérique standard ( ) qui est beaucoup plus rapide que lessignatures RSA traditionnelles au même niveau de sécurité, ce qui en fait un choix très populaire dans de nouveaux logiciels et des protocoles en cours d' exécution sur les téléphones mobiles ( par exemple, Bitcoin et Apple Pay).
  • Du point de vue de la recherche, ECDSA soulève défis nouveaux et intéressants, en plaçant une barre très haut sur le traitement du signal nécessaire et des outils cryptanalyse. Tout d' abord, les signatures ECDSA sont rapides , de sorte que l'attaquant obtient peu d' informations physiques ( parrapport à, par exemple, RSA). Deuxièmement et plus fondamentalement, les signatures ECDSA sont randomisés . Lors de l' attaque des opérations non randomisées, tels que RSA / ElGamal / ECDH décryptage, les attaquants peuvent compter sur le déclenchement de nombreux décryptages identiques et puis en agrégeant leurs traces enregistrées afin d'améliorer le rapport signal-bruit et faire face aux événements transitoires tels que les interruptions.Mais avec ECDSA, l'attaquant est obligé de faire des déductions à partir de traces individuelles qui sont bruyants et souvent interrompu.
Q5: Que faire si je ne peux pas obtenir assez proche physiquement au dispositif cible?
Pour RSA et ElGamal, des attaques similaires ont été mises en évidence à partir de grandes distances, y compris à travers les murs:

  • Potentiel Laptop-châssis , mesurée à partir de l' extrémité de pratiquement tout câble blindé relié à l'ordinateur portable (comme Ethernet, USB, HDMI et les câbles VGA), peut être utilisé pour la clé d'extraction, comme nous l' avons démontré dans un .
  • Émanations acoustiques (sonores) , mesurée au moyen d' un microphone, peuvent également être utilisés pour extraire les clés à partir d' une gamme de plusieurs mètres, comme nous l' avons montré dans un .
  • Fuite électromagnétique, mesurée si le mur , peut être utilisé pour l' extraction clé des ordinateurs portables, comme nous l' avons montré dans un .
  • L' analyse de puissance, qui surveille la consommation d'énergie du téléphone, peut être utilisé pour extraire les clés de signature ainsi. En principe, un chargeur, la batterie ou même station de charge peuvent être augmentés avec l'équipement requis afin d' en extraire la clé.
UT6qbXb.png


Q6: Comment réaliste est l'attaque? Quel est son coût dans la pratique?
Nous avons montré que le signal peut être mesuré et analysé en utilisant un équipement pas cher et facilement disponible: une carte son USB branché à un ordinateur portable, des fils, et une sonde de 2 $ (qui peut également être fait à partir de fils lisses).

Les petites boucles de fil agissant comme sondes EM peuvent être facilement dissimulées dans des objets divers qui viennent à proximité avec des appareils mobiles, tels que les et les cas de téléphone. La consommation d'énergie du téléphone peut être facilement contrôlée par l' augmentation d' un chargeur de rechange, ou boîtier de la batterie avec l'équipement nécessaire. Cas de téléphone qui contiennent une batterie supplémentaire (et donc sont connectés au port de chargement du téléphone) peuvent même être augmentées pour surveiller les deux canaux simultanément.

L'attaque nécessite la mesure de quelques milliers de signatures ECDSA. Comment cela peut être fait dépend de l'application particulière attaquée. Par exemple, dans , qui permettent de faire des légers out-of-blockchain paiements automatisés pour un service continu, chaque paiement nécessite une signature ECDSA.

Q7: La plupart de vos photos sont des iPhones. Qu'en est-il des téléphones Android?
Le ECDSA de OpenSSL fonctionnant sur les téléphones Android est également vulnérable à nos attaques. Par exemple, voici un 10s Sony Xperia mesurés, avec notre équipement de mesure de laboratoire de qualité:

lK23DUD.png


Un travail simultané et indépendant, , a également étudié la vulnérabilité de la mise en œuvre de ECDSA de Android BouncyCastle, et trouva vulnérable aux (intrusives) électromagnétiques attaques clés d'extraction.​
 
Cette recherche a été menée à l' Université de Tel Aviv , en collaboration avec l'Université d'Adélaïde.

Résumé

Nous montrons un logiciel cryptographique moderne sur les téléphones mobiles, la mise en œuvre de l'algorithme de signature numérique ECDSA, peut exposer par inadvertance ses clés secrètes à travers des canaux secondaires physiques: le rayonnement électromagnétique et la consommation d'énergie qui fluctuent d'une manière qui dépend de l'information secrète pendant le calcul cryptographique. Un attaquant peut non effractive mesurer ces effets physiques à l'aide d'une sonde 2 $ magnétique tenue à proximité du dispositif, ou un adaptateur USB improvisé connecté au câble USB du téléphone, et une carte son USB. L'utilisation de ces mesures, nous avons pu extraire pleinement les clés de signature secrète de OpenSSL et CoreBitcoin en cours d'exécution sur les appareils iOS. Nous avons également montré une fuite clé partielle de OpenSSL fonctionnant sur Android et de CommonCrypto iOS.

L'algorithme cryptographique attaqué est , un algorithme de signature numérique standard utilisé dans de nombreuses applications telles que les portefeuilles Bitcoin et d' Apple Pay. Ainsi, de telles applications, en particulier celles qui reposent sur des versions vulnérables de OpenSSL, CoreBitcoin ou iOS, peuvent exposer leurs utilisateurs à des attaques physiques à faible coût menant au vol des pouvoirs de signature et les transactions non autorisées subséquentes ou fausse authentification.

Notre méthodologie comprend l'acquisition physique de signal à partir d'appareils mobiles (téléphones et tablette), le traitement du signal pour l'extraction du signal et la mise en valeur en utilisant Singular Spectrum Analysis, et un algorithme basé sur treillis pour récupérer la clé de signature secrète par l'agrégation des informations partielles tirées de nombreuses opérations de signature randomisées.

Voici un exemple d'une configuration d'attaque électromagnétique (en dessous de la table en verre), qui peut être utilisé pour attaquer un téléphone mobile placé sur la table.

qxnIEzi.png


7DviPXW.png


Questions & Réponses :
Q1: Quel est l'état des bibliothèques vulnérables?
Pratiquer une divulgation responsable, nous avons travaillé avec les fournisseurs de tous les logiciels ciblés pour transmettre nos conclusions et decoordonner la réponse, avant la divulgation publique. Statut de niveau d'application est la suivante:​

  • :
    • OpenSSL 1.0.x est vulnérable : nous avons effectué l' extraction clé sur cette mise en œuvre.
      Exception: OpenSSL utilise une implémentation alternative pour certaines courbes elliptiques, lors de la compilation pour x86-64 avec le non-défaut enable-ec_nistp_64_gcc_128 option. Nous avons aucune preuve que la mise en œuvre alternative est vulnérable.
      Les développeurs du OpenSSL nous informés que " les attaques secondaires canaux matériels ne sont pas dans le modèle de menace de OpenSSL", donc pas de mises à jour sont prévues pour OpenSSL 1.0.x pour atténuer nos attaques.
    • OpenSSL 1.1.x est vulnérable , car il utilise la mise en œuvre wNAF vulnérables comme OpenSSL 1.0.x.
      Exceptions: le code x86-64 précité. En outre, sur ARM, et plus particulièrement pour le NIST P-256 courbe (mais pas secp256k1), le nouveau code à temps constant est utilisé et nous avons aucune preuve qu'elle est vulnérable.
  • :
    • iOS 7.1.2-8.3 semble vulnérable : sa mise en œuvre de ECDSA, en CommonCrypto, présente une fuite scalaire dépendant et semble vulnérable ainsi.
    • iOS 9.x ne semble pas vulnérable : sa mise en œuvre utilise des techniques d'atténuation-canal latéral et nous avons aucune preuve qu'elle est vulnérable.
  • : CoreBitcoin est vulnérable : nous avons effectué l' extraction clé sur cette mise en œuvre. Les développeurs ont exprimé leur intention de passer à la bibliothèque dans l'avenir.
  • la dernière Bitcoin Core ne semble pas vulnérable . Il transition à l' aide de la bibliothèque dans v0.10.0 (publié en Février 2015; voir et ) et nous avons aucune preuve que libsecp256k1 est vulnérable.
  • : la version Android de BouncyCastle est vulnérable , comme l'a découvert par un travail simultané et indépendant, .
Q2: Qu'est-ce que le signal électromagnétique mesuré ressemble?
Le signal électromagnétique est mesurée à l'aide d'une sonde magnétique, et numérisé par une carte son, une radio définie par logiciel, ou une carte d'échantillonnage de laboratoire de qualité. Après un certain filtrage numérique, le signal brut ressemble à ceci:
YSdqr3M.png


Afin d'obtenir une trace plus claire, nous avons appliqué une analyse du spectre singulier (SSA). La trace de la trace résultant ressemble à ceci:
xA3BKMY.png


Les informations nécessaires à l' extraction clé réussie est la séquence de DOUBLES et AJOUTER des opérations effectuées sur la courbe elliptique (marquée D et A respectivement). Ces opérations peuvent être tirées ci - dessus, mais nous pouvons les détecter beaucoup plus fiable en analysant les composantes de fréquence de la trace:
KZ6X7Cc.png


Après avoir observé la courbe elliptique à DOUBLE et AJOUTER des opérations au cours de quelques milliers de signatures, la clé secrète de signature peut être complètement reconstruit.

Q3: Vous avez attaqué ECDSA sur les téléphones. Qu'en est-il d'autres schémas cryptographiques? Que diriez-vous des PC?
D' autres schémas cryptographiques, en cours d' exécution sur les ordinateurs portables , sont également vulnérables aux attaques physiques non-invasives clé d'extraction côté canal . Dans des travaux antérieurs , nous avons attaqué:
  • Implémentations RSA en utilisant fenêtre coulissante et fenêtre fixe exponentiation (présentés ), Ainsi que exponentiation carré et toujours-multiplication ( et ).
  • Implémentations ElGamal utilisant fenêtre coulissante et fenêtre fixe exponentiation ( ), Ainsi que exponentiation carré et toujours-multiplication ( ).
  • ECDH implémentations de chiffrement en utilisant DEUX -et-sometimes- AJOUTER avec NAF represenation ( ).
Les travaux en cours évalue la sécurité des systèmes cryptographiques supplémentaires.

Q4: Pourquoi avez-vous attaquez ECDSA? Est-il différent des travaux antérieurs sur RSA, ElGamal et ECDH?
Nous nous sommes concentrés sur l' extraction de secrets clés du , pour deux raisons:
  • En termes d'importance pratique, ECDSA est un algorithme de signature numérique standard ( ) qui est beaucoup plus rapide que lessignatures RSA traditionnelles au même niveau de sécurité, ce qui en fait un choix très populaire dans de nouveaux logiciels et des protocoles en cours d' exécution sur les téléphones mobiles ( par exemple, Bitcoin et Apple Pay).
  • Du point de vue de la recherche, ECDSA soulève défis nouveaux et intéressants, en plaçant une barre très haut sur le traitement du signal nécessaire et des outils cryptanalyse. Tout d' abord, les signatures ECDSA sont rapides , de sorte que l'attaquant obtient peu d' informations physiques ( parrapport à, par exemple, RSA). Deuxièmement et plus fondamentalement, les signatures ECDSA sont randomisés . Lors de l' attaque des opérations non randomisées, tels que RSA / ElGamal / ECDH décryptage, les attaquants peuvent compter sur le déclenchement de nombreux décryptages identiques et puis en agrégeant leurs traces enregistrées afin d'améliorer le rapport signal-bruit et faire face aux événements transitoires tels que les interruptions.Mais avec ECDSA, l'attaquant est obligé de faire des déductions à partir de traces individuelles qui sont bruyants et souvent interrompu.
Q5: Que faire si je ne peux pas obtenir assez proche physiquement au dispositif cible?
Pour RSA et ElGamal, des attaques similaires ont été mises en évidence à partir de grandes distances, y compris à travers les murs:
  • Potentiel Laptop-châssis , mesurée à partir de l' extrémité de pratiquement tout câble blindé relié à l'ordinateur portable (comme Ethernet, USB, HDMI et les câbles VGA), peut être utilisé pour la clé d'extraction, comme nous l' avons démontré dans un .
  • Émanations acoustiques (sonores) , mesurée au moyen d' un microphone, peuvent également être utilisés pour extraire les clés à partir d' une gamme de plusieurs mètres, comme nous l' avons montré dans un .
  • Fuite électromagnétique, mesurée si le mur , peut être utilisé pour l' extraction clé des ordinateurs portables, comme nous l' avons montré dans un .
  • L' analyse de puissance, qui surveille la consommation d'énergie du téléphone, peut être utilisé pour extraire les clés de signature ainsi. En principe, un chargeur, la batterie ou même station de charge peuvent être augmentés avec l'équipement requis afin d' en extraire la clé.
UT6qbXb.png


Q6: Comment réaliste est l'attaque? Quel est son coût dans la pratique?
Nous avons montré que le signal peut être mesuré et analysé en utilisant un équipement pas cher et facilement disponible: une carte son USB branché à un ordinateur portable, des fils, et une sonde de 2 $ (qui peut également être fait à partir de fils lisses).

Les petites boucles de fil agissant comme sondes EM peuvent être facilement dissimulées dans des objets divers qui viennent à proximité avec des appareils mobiles, tels que les et les cas de téléphone. La consommation d'énergie du téléphone peut être facilement contrôlée par l' augmentation d' un chargeur de rechange, ou boîtier de la batterie avec l'équipement nécessaire. Cas de téléphone qui contiennent une batterie supplémentaire (et donc sont connectés au port de chargement du téléphone) peuvent même être augmentées pour surveiller les deux canaux simultanément.

L'attaque nécessite la mesure de quelques milliers de signatures ECDSA. Comment cela peut être fait dépend de l'application particulière attaquée. Par exemple, dans , qui permettent de faire des légers out-of-blockchain paiements automatisés pour un service continu, chaque paiement nécessite une signature ECDSA.

Q7: La plupart de vos photos sont des iPhones. Qu'en est-il des téléphones Android?
Le ECDSA de OpenSSL fonctionnant sur les téléphones Android est également vulnérable à nos attaques. Par exemple, voici un 10s Sony Xperia mesurés, avec notre équipement de mesure de laboratoire de qualité:

lK23DUD.png


Un travail simultané et indépendant, , a également étudié la vulnérabilité de la mise en œuvre de ECDSA de Android BouncyCastle, et trouva vulnérable aux (intrusives) électromagnétiques attaques clés d'extraction.​
Merci pour ces informations qui ont certainement dû prendre beaucoup de temps :ok:
 
Retour
Haut