7 points par GN⁺ 2023-08-06 | 1 commentaires | Partager sur WhatsApp
  • Une attaque par canal auxiliaire acoustique, qui estime les touches pressées par un utilisateur uniquement à partir du son de la frappe au clavier, atteint jusqu’à 95 % de précision lorsqu’elle est combinée au deep learning
  • Un attaquant peut exploiter un micro à proximité, un smartphone infecté par un malware disposant de l’autorisation d’accès au micro, ou les sons de frappe d’un appel Zoom pour exposer des informations sensibles comme des mots de passe, des conversations ou des messages
  • L’expérience a été menée sur un MacBook Pro récent en recueillant le son de 36 touches pressées 25 fois chacune, puis en générant des formes d’onde et des spectrogrammes avant d’entraîner le classificateur d’images CoAtNet
  • Dans un environnement utilisant le même ordinateur portable et un iPhone 13 mini placé à 17 cm, l’enregistrement par smartphone a atteint 95 % de précision, l’enregistrement Zoom 93 %, et Skype 91,7 %
  • Modifier sa manière de taper, utiliser des mots de passe aléatoires, du bruit blanc, des filtres audio, l’authentification biométrique et un gestionnaire de mots de passe sont cités comme mesures d’atténuation, mais passer simplement à un clavier silencieux ne suffit pas à se protéger

Exfiltration de données à partir des sons de frappe

  • Des chercheurs d’universités britanniques ont entraîné un modèle de deep learning à estimer les données de frappe à partir des sons de clavier enregistrés par un micro
  • Dans une attaque fondée sur un enregistrement au micro, le modèle a atteint 95 % de précision
  • Lorsqu’il était entraîné avec de l’audio collecté via Zoom, la précision est descendue à 93 %, ce qui reste un niveau très élevé et un résultat record selon le média
  • Si l’attaque réussit, des mots de passe, des conversations, des messages et d’autres informations sensibles peuvent être divulgués à un tiers malveillant

Pourquoi le canal auxiliaire acoustique est réaliste

  • D’autres attaques par canal auxiliaire peuvent être affectées par des conditions particulières, le débit de données ou des limites de distance
  • Avec la généralisation des appareils équipés de micros et la possibilité de capturer de l’audio de haute qualité, la difficulté d’exécution des attaques acoustiques diminue
  • Combinées aux progrès du machine learning, les attaques par canal auxiliaire fondées sur le son deviennent une méthode d’attaque plus réalisable et plus dangereuse qu’on ne l’anticipait auparavant

Déroulement de l’attaque et collecte des données

  • La première étape consiste à enregistrer les sons de frappe du clavier cible
    • Cela peut être fait avec un micro à proximité
    • C’est aussi possible avec un téléphone infecté par un malware disposant d’un accès au micro
    • Lors d’un appel Zoom, un participant malveillant à la réunion peut corréler les messages saisis par la cible avec les sons enregistrés
  • Les chercheurs ont enregistré les sons produits en pressant 36 touches 25 fois chacune sur un MacBook Pro récent
  • Ils ont généré des formes d’onde et des spectrogrammes à partir des enregistrements afin de visualiser les différences identifiables entre les touches
  • Le signal a ensuite été soumis à certaines étapes de traitement des données afin de pouvoir être utilisé pour l’identification des frappes

Entraînement du modèle et environnement expérimental

  • Les images de spectrogrammes ont été utilisées pour entraîner CoAtNet, un classificateur d’images
  • Les chercheurs ont expérimenté avec les époques, le taux d’apprentissage et les paramètres de partitionnement des données afin d’obtenir la meilleure précision de prédiction
  • L’environnement de test était le suivant
    • Le même ordinateur portable, doté du clavier utilisé sur les ordinateurs portables Apple des deux dernières années
    • Un iPhone 13 mini placé à 17 cm de la cible
    • Zoom
  • La précision du classificateur variait selon le support
    • Enregistrement par smartphone : 95 %
    • Enregistrement Zoom : 93 %
    • Enregistrement Skype : 91,7 %

Mesures d’atténuation possibles

  • L’article de recherche suggère aux utilisateurs très préoccupés par les attaques par canal auxiliaire acoustique de modifier leur manière de taper ou d’utiliser des mots de passe aléatoires
  • Parmi les autres défenses figurent des logiciels qui rejouent des sons de frappe, le bruit blanc et des filtres audio logiciels appliqués aux sons de frappe
  • Ce modèle d’attaque se montre très efficace même avec des claviers très silencieux, si bien qu’ajouter un matériau absorbant à un clavier mécanique ou passer à un clavier à membrane a peu de chances d’aider
  • Lorsque c’est possible, utiliser l’authentification biométrique et recourir à un gestionnaire de mots de passe afin d’éviter la saisie manuelle d’informations sensibles constituent aussi des facteurs d’atténuation

Recommandations supplémentaires de Zoom

  • Zoom indique accorder une grande importance à la confidentialité et à la sécurité des utilisateurs
  • En plus des mesures d’atténuation proposées par les chercheurs, les utilisateurs de Zoom peuvent mieux protéger leurs informations avec les réglages suivants
    • Configurer la suppression du bruit de fond sur un niveau plus élevé
    • Couper le micro par défaut lors de l’entrée dans une réunion
    • Couper le micro pendant une réunion lorsqu’ils tapent au clavier

1 commentaires

 
GN⁺ 2023-08-06
Avis sur Hacker News
  • Les données d’entraînement et de test ont été produites avec le même ordinateur portable, le même micro et le même environnement, et il est même possible que ce soit la même personne qui ait appuyé sur les touches.
    Le modèle Zoom aussi a été réentraîné avec des données collectées sur Zoom ; ils appellent cela une attaque par canal auxiliaire pratique, mais ne semblent absolument pas avoir vérifié si cette approche se généralise.

    • À mon avis, la forme généralisable de cette attaque, c’est justement cela.
      Il ne s’agit pas d’apprendre le son de n’importe quel clavier, mais d’apprendre le son d’une cible précise.
      Par exemple, si un streamer Twitch tape une réponse dans le chat avec son micro en direct allumé, puis saisit plus tard son mot de passe Twitch, on peut entraîner sur l’audio de la première situation et l’appliquer à la seconde.
    • Avec une surface d’attaque aussi limitée, je pense que cela peut fonctionner sans qu’un modèle se généralise à plusieurs personnes ou claviers.
      L’intérêt de l’attaque sur Zoom est que, si l’on peut amener la cible à taper dans la fenêtre de chat, on obtient le « texte en clair » juste après avoir entendu le « texte chiffré ».
      Les frappes entendues dans d’autres contextes ont aussi de bonnes chances de correspondre à quelques grammaires qu’un LLM sait déjà reconnaître — langage naturel, langage de programmation, commandes, saisies de calcul, etc. — et si ce n’est pas le cas, il est probable qu’il s’agisse d’un mot de passe.
    • Je me demande si, aujourd’hui encore, Zoom transmet tel quel le bruit des frappes au clavier.
      La réduction de bruit récente est tellement agressive que, même quand quelqu’un dit « désolé pour le bruit du moteur/de l’ambulance/de la ville », les autres ne comprennent souvent pas de quoi il parle.
    • Pour une attaque ciblée, il n’y a pas besoin que ce soit généralisable.
    • Je ne comprends pas pourquoi toutes les applications de communication en ligne n’intègrent pas la suppression du bruit de clavier comme option standard.
      Les bruits de clavier sont assez distinctifs, donc cela ne devrait pas être si difficile.
  • Pour mon projet de fin d’études, j’ai travaillé sur une attaque acoustique par canal auxiliaire similaire ; il existe déjà pas mal de résultats dans ce domaine, et on a l’impression qu’il ne manque plus que quelqu’un combine les méthodologies.
    On obtient de très bons résultats avec des approches combinant modèles géométriques, modèles statistiques appris ou non appris de ce type, et divers modèles de langage.
    Voici quelques articles que j’avais lus :
    https://doi.org/10.1007/s10207-019-00449-8 - SonarSnoop. Émet des ultrasons avec le haut-parleur d’un téléphone pour profiler les interactions de l’utilisateur, par exemple la saisie de mot de passe par gestes de type swipe.
    https://people.eecs.berkeley.edu/~daw/papers/ssh-use01.pdf - « Timing Analysis of Keystrokes and Timing Attacks on SSH ». Article de 2001 qui utilise un modèle statistique du timing des frappes pour retrouver des mots de passe dans du trafic SSH chiffré.
    https://doi.org/10.1145/1609956.1609959 - « Keyboard acoustic emanations revisited ». Récupère du texte par classification fondée sur des caractéristiques cepstrales, en utilisant des modèles de Markov cachés et les propriétés de l’anglais.
    https://doi.org/10.1145/2660267.2660296 - « Context-free Attacks Using Keyboard Acoustic Emanations ». Utilise une approche géométrique qui estime probabilistiquement la position physique à partir des différences de temps d’arrivée.

  • Je ne comprends pas très bien pourquoi certains minimisent cela comme si ce n’était pas grand-chose.
    Du point de vue de la sécurité et du renseignement, c’est assez significatif : cela veut dire que l’apprentissage audio a atteint un niveau où un dispositif d’écoute sensible peut pratiquement devenir un keylogger.
    Dans de nombreux contextes, installer un dispositif d’écoute audio est beaucoup plus facile que mener une attaque réseau traditionnelle, et avec un micro canon moderne il n’est peut-être même pas nécessaire d’entrer dans le bâtiment.
    Cela s’applique bien plus largement que le vol de mots de passe.
    Ce vecteur d’attaque m’intéresse depuis longtemps, et je me demandais s’il finirait vraiment par atteindre ce stade.

    • Tous les canaux auxiliaires physiques possibles, comme Tempest par exemple, semblent désormais bien se prêter aux approches par machine learning.
      C’est vraiment fascinant.
    • Je me demande si diffuser en continu des sons de frappe aiderait.
      Pas un son abstrait, mais des enregistrements réels de moi en train de taper sur ce clavier, mélangés en phrases ou séquences qui sonnent de façon réaliste.
      En marquant de très courtes pauses pour que les vraies frappes puissent se mélanger, il me semble qu’il serait très difficile de les déchiffrer, ou de les corréler avec d’autres événements comme le moment de saisie d’un mot de passe.
      Mieux encore, on peut diffuser du bruit blanc autour de soi ; j’ai entendu dire que cela se fait parfois lors de réunions vraiment très importantes.
      Si l’on n’est pas une personne aussi importante, il suffit de ne saisir les éléments sensibles que sur son téléphone. Espérons que les écrans tactiles ne produisent pas assez de son.
    • Il faut relier l’entrée micro aux touches réellement saisies, et il faut aussi un volume suffisant pour entraîner le modèle.
      Ça a l’air assez trivial.
  • Intéressant. Je suis vraiment curieux de savoir quelles caractéristiques acoustiques sont reconnues.
    Est-ce proche de l’empreinte physique de chaque touche, au point qu’il faudrait mettre à jour le modèle si l’on change les keycaps ou les ressorts ? Un peu comme l’identification médico-légale des anciennes machines à écrire à partir de leurs irrégularités de fabrication ?
    Ou bien les touches elles-mêmes sont identiques, mais chacune produit un motif de résonance différent dans le clavier ou l’ordinateur portable à cause de la forme des objets autour ? Faut-il réentraîner le modèle si l’on déplace le clavier dans la pièce ?
    Je me demande aussi si la force avec laquelle on appuie sur une touche ne change rien du tout, ou au contraire beaucoup.
    Selon les claviers, entre les touches fines d’un MacBook et un clavier externe pleine hauteur, je me demande lequel rend les touches plus faciles ou plus difficiles à identifier.

    • Par extension, on peut regarder (1) les caractéristiques de la touche elle-même, (2) les caractéristiques d’une touche par rapport aux autres, (3) le trajet de transmission du son et l’environnement entre la touche et le micro, (4) la relation entre la touche et le doigt, et (5) la relation entre la touche et les dendrites associées.
    • Le style de frappe doit aussi compter.
      La vitesse à laquelle on atteint chaque touche, le rythme, la tendance à frapper certaines touches plus fort, etc., doivent avoir une influence.
      J’ai l’impression qu’on profile davantage la personne que le clavier.
  • À noter que certains, probablement la plupart des logiciels de visioconférence, suppriment les bruits de clavier de l’audio
    Parce que sur les ordinateurs portables, le micro est juste à côté des touches, ce qui devient particulièrement gênant
    Je suis presque sûr que Zoom le fait par défaut dans le cadre de la réduction du bruit. En utilisant les événements keydown, il pourrait même aider à l’identification, pas seulement au flux audio, donc ce serait peut-être plus simple
    Rien qu’avec la réduction de bruit de base activée, ce genre d’attaque devrait être bloqué dans une visioconférence classique
    Du coup, j’ai du mal à imaginer dans quel cas cela deviendrait une menace réaliste si l’attaquant n’a pas déjà un accès physique suffisant pour installer un keylogger classique ou une caméra cachée

    • Teams ne semble clairement pas l’avoir. Du moins pas par défaut, ou pas avec les réglages par défaut de notre entreprise
      Quand quelqu’un se met à taper pendant un appel, on l’entend très distinctement
    • Des réunions inter-entreprises, une cafétéria où se mélangent plusieurs bureaux, ou des cafés, par exemple
    • À mon avis, cela peut devenir un problème si n’importe quelle page web obtient l’autorisation d’accès au micro
  • Georgi Gerganov en avait déjà fait un il y a quelques années
    https://github.com/ggerganov/kbd-audio

  • L’illustration d’exemple montre une touche pressée toutes les 0,5 seconde, ce qui suggère une frappe à deux doigts d’environ 24 mots par minute
    Avec cette méthode, le modèle obtient des formes d’onde très propres
    Je me demande si cette approche fonctionnerait aussi bien avec des personnes qui tapent à vitesse moyenne ou rapide. Il pourrait être beaucoup plus difficile d’associer les profils sonores aux caractères

    • Même avec de l’ambiguïté, c’est mieux que de ne pas avoir de données
      Avec suffisamment de données d’entraînement, je pense qu’on pourrait trouver des motifs reproductibles chez des dactylos ordinaires
      Par exemple, sur un clavier QWERTY, il peut exister des motifs de tempo par paires, du genre après avoir tapé « A », taper « Q » prend 1,2 à 2,3 fois plus de temps que taper « J »
      Cela aide à réduire l’espace de recherche plutôt que de tester brutalement tous les caractères candidats
      Si la cible utilise une phrase secrète, cela devient interprétable quand certains caractères de référence sont identifiés avec une forte probabilité, comme « hXXXse battXXX stXXXXX cXXXXXX »
    • Les Soviétiques réussissaient déjà à écouter les sons des machines à écrire dans les années 1970
  • Après avoir vu cet article, j’ai publié en open source un projet de départ sur une variante de cette idée : https://github.com/secretlessai/audio-mnist
    Je m’intéresse depuis longtemps à l’application de techniques de classification d’images, comme les CNN, à des données audio
    Il y a quelques années, comme projet de week-end, j’avais créé un petit dataset « audio-mnist » à partir d’enregistrements audio de chiffres manuscrits, mais après quelques jours de travail je n’avais pas continué
    Pourtant, je pensais depuis un moment qu’il faudrait le publier en open source, et cet article m’a poussé à passer à l’action
    Avec davantage de données et quelques exemples CNN de base, cela pourrait devenir un bon point de départ pour divers travaux de recherche et outils
    Le code séparé pour créer les enregistrements et découper l’audio doit encore être retrouvé et nettoyé pour être compréhensible
    J’espère que cela aidera les personnes qui trouveront une partie de cette démarche intéressante ou utile

  • Ce serait sympa d’avoir un clavier sans fil qui fonctionne avec ça
    Pas besoin de batterie, de recharge ni de synchronisation

    • Certaines anciennes télécommandes TV fonctionnaient de cette manière
      Il s’agissait de la télécommande Space Command de Zenith, et c’est apparemment pour cela qu’on appelle parfois une télécommande TV un « clicker »
      https://www.theverge.com/23810061/zenith-space-command-remot...
    • Il suffit d’imaginer une expérience utilisateur où 1 caractère sur 20 que vous tapez est mal déduit
      L’impact probabilité d’échec × coût me semble difficilement supportable, même avec une amélioration d’un ordre de grandeur du taux d’erreur
  • Il est temps d’injecter dans mes appels Zoom un bruit de fond où je tape « fuck you »

    • Il suffit de convertir du texte en audio de frappes clavier, mais de prendre le texte dans le prompt LLM « une fanfic en pentamètre iambique, basée sur Love It or List It de HGTV, avec un agent immobilier Ewok et un décorateur d’intérieur Klingon »
      L’objectif est de faire complètement remettre en question ses choix de vie à la personne qui écoute, et peut-être même de la captiver avec l’histoire elle-même
    • Cela pourrait au contraire rendre le déchiffrement plus facile
      Parce que cela ferait un bon point de référence