2 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Le Creative Sound Blaster Katana V2X peut être transformé par un attaquant situé à environ 15 m de portée Bluetooth, sans appairage ni contact physique, en dispositif de surveillance ou en Rubber Ducky distant en exécutant des commandes CTP et des mises à jour de firmware
  • En USB, le CTP exige une authentification challenge-response basée sur une clé statique, mais le chemin Bluetooth accepte les mêmes commandes CTP via une caractéristique GATT sans authentification, ce qui permet de lire des informations et de modifier des paramètres
  • Le conteneur de firmware est composé de FBOOT, FMAIN et CHK2, et accepte un firmware modifié tant que le checksum SHA-256 CHK2 correspond, sans vérification de signature
  • Le PoC a téléversé un firmware personnalisé via BLE pendant environ 10 minutes, puis, après redémarrage, le haut-parleur s'est fait passer pour un clavier HID USB et a saisi puis exécuté echo pwned
  • Creative, contacté via SingCERT, a estimé que cela « ne présente pas de risque de cybersécurité » et n'a pas considéré le problème comme une vulnérabilité ; le dernier firmware reste vulnérable et seul un correctif non officiel bloquant CTP-over-Bluetooth est disponible

Le cœur de la vulnérabilité

  • Le Katana V2X est une barre de son reliée au PC en USB, et l'application Creative modifie via CTP des paramètres comme le DSP, la configuration des LED et la source de sortie
  • Pour envoyer des commandes CTP en USB, il faut d'abord passer une authentification challenge-response, et la clé est une valeur statique que l'on peut dériver des binaires inclus dans l'application Creative
  • Les mises à jour de firmware passent elles aussi par CTP, et l'image initiale du firmware a été extraite en capturant le trafic USB avec Wireshark
  • En Bluetooth Low Energy, il est parfois possible de se connecter à un appareil et de lire ou écrire des caractéristiques GATT sans appairage ; l'appairage apporte du chiffrement, mais n'est pas toujours nécessaire à la connexion elle-même
  • Dans le firmware du Katana V2X, le gestionnaire CTP interne était relié non seulement à l'USB mais aussi au Bluetooth ; depuis un ordinateur portable, l'écriture de 5a 09 01 02 dans la caractéristique 9e9daaec-3a10-4fe8-b69f-7397aff77886 a permis de lire la chaîne complète de version du firmware depuis la caractéristique 9e9daaeb-3a10-4fe8-b69f-7397aff77886

Vérification du firmware et chaîne d'attaque OTA

  • Le conteneur de firmware comprend FBOOT, lié au mode de récupération, le firmware principal FMAIN exécuté au démarrage normal, ainsi que CHK2, un checksum SHA-256 du conteneur complet
  • FBOOT et FMAIN sont du code basé sur FreeRTOS, comme l'indique la chaîne /home/jieyi/mcuos2.5/kernel/freertos-8.2.3/, et FMAIN est environ 6,5 fois plus volumineux que FBOOT
  • L'appareil acceptait un firmware modifié tant que CHK2 était correct ; après flash d'un firmware où la chaîne WELCOME avait été remplacée par PATCHED, l'afficheur à segments montrait PATCHED au démarrage
  • Un script Python réimplémentant la même procédure de mise à jour de firmware via BLE a téléversé un firmware personnalisé sans appairage ni authentification, l'opération prenant environ 10 minutes à cause du débit BLE
  • Le haut-parleur étant équipé d'un microphone, il existe en théorie la possibilité qu'un firmware personnalisé le transforme en dispositif de surveillance discret écoutant les conversations et les transmettant à un destinataire via Bluetooth

Injection via clavier USB

  • Le Katana V2X fonctionne normalement comme un périphérique de confiance connecté en USB au PC
  • L'appareil n'est pas déjà un clavier complet, mais il se déclare comme périphérique HID Consumer Control pour des commandes multimédias comme le volume et lecture/pause
  • En ajoutant une deuxième entrée de report descriptor USB dans le firmware, il a été possible de faire reconnaître l'appareil également comme clavier
  • Le firmware contenait déjà une routine d'envoi de données HID, qu'il suffisait d'appeler en lui passant les données des touches à presser et relâcher pour émettre des frappes
  • Au lieu de détourner un flux d'exécution complexe, le code personnalisé a été exécuté au démarrage en écrasant la tâche FreeRTOS diagnostic, qui semblait ne rien faire en usage normal
  • Cette tâche attend environ 20 secondes que le sous-système USB soit prêt, puis tape echo pwned à intervalles d'environ 20 ms, appuie sur Entrée, puis se termine
  • Le correctif final se composait de 83 octets de report USB, 102 octets d'assembleur ARM/Thumb pour l'injecteur de frappes, et 2 octets par touche à transmettre
  • Dans une attaque réelle, il serait possible d'ouvrir un programme comme powershell.exe et d'y coller une commande malveillante sur une seule ligne ; si l'attaquant désactive aussi les routines de mise à jour du firmware en mode normal et en mode récupération, il peut devenir impossible de supprimer le firmware malveillant et d'appliquer de futurs correctifs
  • Le Bluetooth du haut-parleur reste toujours activé, même en mode veille, et il ne semble pas exister de moyen de le désactiver

Atténuation et chronologie de la divulgation

  • Creative ne disposait pas de contact de sécurité public, et il était difficile de trouver un autre moyen de contact que le formulaire d'assistance du site web
  • Après deux tentatives via ce formulaire, SingCERT est intervenu comme médiateur
  • Creative a répondu à SingCERT presque deux mois plus tard, en déclarant que cela « ne présente pas de risque de cybersécurité » et n'est donc pas considéré comme une vulnérabilité
  • Aucun correctif n'est fourni par Creative, et le dernier firmware reste vulnérable
  • Une mesure d'atténuation non officielle bloque CTP-over-Bluetooth dans le firmware, mais il est très probable que l'application mobile Creative cesse de fonctionner avec ce changement
  • v2x-patcher télécharge le firmware officiel depuis les serveurs de Creative, le modifie en mémoire, puis le téléverse sur un Katana V2X connecté en USB
  • Tous les tests et travaux de rétro-ingénierie ont été réalisés sur le firmware version 1.3.230619.1820

Détails de rétro-ingénierie

  • FMAIN.bin n'était pas une image unique mais une structure scatter-loaded, où différents offsets de fichier sont chargés à des adresses différentes
  • L'analyse automatique de Ghidra nécessitait la bonne adresse de base et la bonne carte mémoire ; après inférence puis validation via lecture mémoire de l'appareil, l'application de cette disposition a produit des résultats d'analyse valides
  • Les pointeurs de chaînes n'étaient pas chargés directement, mais via des paires movw et movt ; un script repérant les paires chargées dans le même registre et créant des références DATA lorsqu'elles pointaient vers une mémoire valide a généré environ 13 000 références
  • Pour tester sans reflasher le firmware à chaque fois, le gestionnaire d'echo de l'opcode CTP 0x54 a été écrasé pour traiter des commandes de lecture, d'écriture et d'exécution
  • Le gestionnaire personnalisé final faisait 96 octets, ce qui tenait dans la taille du gestionnaire d'origine, d'environ 106 octets
  • Lors de l'exécution de plusieurs frappes via mem-exec dans le contexte de la tâche de traitement USB, l'accumulation des délais vTaskDelay provoquait des redémarrages de l'appareil à cause du watchdog par tâche
  • En injectant le code de frappe non pas directement dans la tâche USB mais dans la tâche de service diagnostic, le problème de watchdog a disparu

1 commentaires

 
GN⁺ 4 시간 전
Avis sur Hacker News
  • Ça me fait rire de voir des commentaires qui n’ont manifestement pas lu l’article correctement, voire pas lu du tout. C’est en gros l’équivalent d’un bucket S3 public sur une carte de périphérique Bluetooth
    Cela dit, le travail en lui-même est vraiment impressionnant. Je pensais qu’il serait bien plus difficile de transformer un appareil connecté en USB en vecteur d’attaque, mais le fait que cela puisse se faire simplement en imitant un clavier, en ouvrant un terminal local et en exécutant des commandes malveillantes est assez absurde. Ce n’est pas un terminal avec privilèges administrateur, donc les dégâts sont limités dans une certaine mesure, mais sous Windows beaucoup d’utilisateurs valident les invites UAC sans réfléchir, donc on pourrait probablement obtenir un accès complet sur pas mal de PC

  • Selon un e-mail de SingCERT, le fabricant aurait déclaré : « cela n’est pas considéré comme une vulnérabilité car cela ne crée pas de risque de cybersécurité ». Donc écrire à distance un firmware arbitraire sur un appareil connecté en USB à l’ordinateur de quelqu’un, sans même passer par l’appairage, ne serait pas une faille de sécurité

    • C’est la logique du « on peut seulement lui faire taper des caractères, quel risque cela représente ? »
      Je me demande combien d’autres fabricants de périphériques fonctionnent en apparence sans équipe sécurité. Il y a probablement beaucoup plus de vulnérabilités de ce genre, simplement pas encore découvertes. Mon frère s’est déjà fait réveiller à 2 h du matin parce que des gamins du quartier s’étaient connectés à son enceinte Bluetooth pour y faire tourner en boucle des bruits de pet à volume maximum ; ce n’est probablement que la partie émergée de l’iceberg des usages malveillants du Bluetooth
    • Si quelqu’un allait dans un showroom Creative, un salon commercial ou au CES pour « patcher » tous les appareils, cette réponse changerait très vite
    • Cette citation sur le risque semble reposer sur une incompréhension totale de la notion de risque. On a d’abord une vulnérabilité, puis on y associe impact et probabilité, et c’est seulement ensuite qu’on parle de risque
      Par définition, il existe toujours des vulnérabilités à faible risque parce que leur impact ou leur probabilité est faible. Les CVE ont des scores, mais le risque réel et l’acceptabilité du risque avant ou après atténuation dépendent du cas d’usage. « Pas de risque => pas de vulnérabilité » est un raisonnement erroné par construction ; je peux seulement admettre « pas de vulnérabilité => pas de risque »
    • On pourrait dire la même chose de n’importe quel ordinateur sous macOS ou Windows. Le simple fait de pouvoir exécuter son propre logiciel n’est pas forcément une vulnérabilité
      En revanche, il est étrange que l’interface de reflashing soit exposée en Bluetooth. À ma connaissance, il faut un accès physique pour appairer une enceinte
      Correction : j’avais tort. C’est un endpoint BTLE qui fonctionne sans appairage. Dans ce cas, c’est une vulnérabilité complètement absurde. J’espère qu’ils la corrigeront sans retirer la possibilité d’exécuter son propre logiciel
    • Je ne me souviens même plus de ce que j’avais appris autrefois sur Creative Labs, mais en me lançant dans cette histoire j’étais déjà persuadé que Creative Labs trouverait le moyen de tout gâcher
  • L’article est bien écrit et facile à comprendre, donc ça vaut le coup de le parcourir
    En résumé, l’auteur a trouvé un moyen de réécrire un firmware arbitraire par Bluetooth sur la soundbar Creative Sound Blaster Katana V2X, sans authentification réelle ni interaction de l’utilisateur
    Comme cette soundbar est directement connectée en USB à l’ordinateur hôte, il a pu ajouter des descripteurs au firmware pour qu’elle soit reconnue comme un clavier. Ensuite, il était trivial d’envoyer des frappes au PC. La soundbar ayant aussi un microphone, un attaquant pourrait également la transformer en dispositif d’écoute
    Cela a été signalé à Creative et à SingCERT, mais l’entreprise n’a répondu que deux mois plus tard pour dire qu’elle « ne considère pas cela comme une vulnérabilité car cela ne crée pas de risque de cybersécurité »
    L’auteur publie un patcher de firmware qui désactive le protocole de transfert défectueux. C’est une méthode un peu brutale, qui risque aussi de casser les fonctionnalités de l’application Bluetooth officielle, mais cela semble être le mieux qu’on puisse faire sans coopération du fabricant

  • Même chez les fabricants historiques, il est assez courant de construire d’abord l’appareil puis de traiter le logiciel comme un ajout après coup. Ils se soucient à peine du cycle de vie logiciel, que ce soit pour la sécurité, les correctifs, les mises à jour ou l’évolution de l’écosystème
    J’ai même vu des cas où la marque avait confié le logiciel à une petite société de développement externe, puis cette société a fermé, disparu ou arrêté son activité, et le fabricant ne possédait même pas le code source. À partir de là, plus aucun moyen d’améliorer ou de corriger le logiciel qui fait fonctionner l’appareil, et des couches successives de middleware, d’UI et de couches de connexion temporaires s’empilent

    • C’est effrayant de voir à quel point cela arrive souvent. Avec la quantité de périphériques informatiques et téléphoniques bon marché vendus à chaque minute aujourd’hui, il n’existe de toute façon aucun moyen réaliste pour une quelconque autorité de tout surveiller et réguler
      En pratique, il y a probablement pas mal d’appareils dont le firmware n’a même pas été écrit par un « petit sous-traitant », mais par une sorte de pirate de la supply chain
  • Pourquoi voir si petit ? On peut aussi utiliser l’enceinte elle-même comme attaquant
    N’importe quel script kiddie équipé d’un LLM pourrait probablement créer un ver qui se propage via la supply chain. On pourrait même pirater directement les enceintes sur le sol de l’usine pour leur faire jouer du Rickroll ou autre
    Je me demande si, même dans ce cas, Creative continuerait à affirmer que cela « ne crée pas de risque de cybersécurité »
    Bonus : si en fermant la faille de sécurité on désactive aussi la fonction normale de flash du firmware, le fabricant devra jailbreaker l’enceinte pour la réparer, ce qui donne encore plus de points

    • Il suffit de flasher un ver sur l’appareil et de l’envoyer en RMA
    • C’était probablement faisable avant. Les modèles récents imposent des restrictions de plus en plus fortes et abandonnent les anciens, au point d’exiger parfois même une pièce d’identité officielle
  • Le fait que le fabricant ne considère pas cela comme une vulnérabilité, au point que l’auteur ait dû publier un patch tiers, n’inspire pas confiance

    • Est-ce vraiment surprenant ? Le hack de l’auteur est excellent, et l’impact pourrait être important en cas de ciblage, mais globalement l’impact reste très faible. Le fabricant a peu de raisons de s’en soucier
      Pour être victime, il faut posséder cet appareil, que l’attaquant le sache, et qu’il soit à proximité. Il suffit de penser à la réplique de Fight Club
      A = nombre d’enceintes déployées sur le terrain
      B = pourcentage susceptible d’être piraté
      C = montant moyen d’un règlement à l’amiable hors tribunal
      Décision : on lance un rappel ou une réparation si le coût de ne rien faire dépasse celui du rappel. Le coût le plus important serait que les gens arrêtent d’acheter leurs enceintes, mais cela ne semble pas très probable
  • Si j’étais à la tête d’une organisation comme le Mossad, je dépenserais une grosse partie du budget pour racheter tous les appareils Bluetooth du marché, affecter des diplômés israéliens en informatique en manque de travail à la recherche de ce genre de vulnérabilités, puis en faire une boîte à outils facile à déployer
    Par exemple, je voudrais qu’un agent capable d’accéder à des bureaux du gouvernement iranien se promène dans le bâtiment avec un téléphone et compromette autant d’ordinateurs que possible. Maintenant que j’y pense, il faut sans doute partir du principe qu’ils le font déjà en vrai

    • C’est un peu l’inverse. Israël n’a pas tant que ça de diplômés en informatique au départ. Les meilleurs talents passent déjà par l’unité 8200
      C’est pratiquement l’équivalent d’un master totalement socialisé en génie informatique, et comme c’est une organisation de renseignement d’origine électromagnétique, ils y apprennent ce genre de choses. Après 2 ou 3 ans de service, ils n’ont pas de prêt étudiant, l’État fournit beaucoup de capital d’amorçage aux startups, et l’écosystème de TLV fonctionne comme une petite Bay Area
      Vivre chez ses parents est aussi plus socialement accepté, donc une grande partie des gens dans la vingtaine n’ont pas de dettes, ont de faibles dépenses mensuelles, de solides compétences techniques acquises pendant le service militaire, se trouvent dans un pôle de création d’entreprise et ont un bon accès au capital. Résultat, il en sort beaucoup de licornes, surtout dans la cybersécurité(https://www.techaviv.com/unicorns)
      Par comparaison, aux États-Unis il faut se consacrer à 4 années d’études, s’endetter lourdement, payer un loyer et galérer à trouver du capital d’amorçage. L’idée de « on peut toujours tirer parti des restes d’un système cassé » rate la perspective qui consiste à avoir, dès le départ, un système qui fonctionne
    • Ce type d’entraînement représenterait probablement une erreur d’arrondi dans le budget de n’importe quel appareil de sécurité nationale ou service de renseignement. Avec l’IA, on pourrait désormais aussi automatiser le premier balayage des appareils et la sélection des candidats qui méritent une analyse manuelle
      Si ce n’est pas déjà une pratique standard, j’en serais assez surpris. Après, c’est peut-être moins productif qu’on l’imagine et ça ne vaut pas l’effort. Mais à voir ce cas précis, cela semble pouvoir donner des résultats, et il faudrait comparer avec d’autres méthodes des services de renseignement dont nous n’avons pas connaissance
    • En parallèle de cette proposition, il serait peut-être plus simple de fabriquer et vendre directement des appareils bogués, c’est-à-dire volontairement backdoorés
      Qu’est-ce qui est le plus facile à marketer, ou à boguer ? :-)
    • Il est impossible qu’aucun service de renseignement dans le monde ne soit en train de faire ça
    • NSO Group(https://en.wikipedia.org/wiki/NSO_Group) est probablement ce genre d’acteur. Les services de renseignement israéliens pourraient très bien introduire des vulnérabilités dans des appareils bon marché de mauvaise qualité, ou dans ce genre d’appareils hors de prix mais tout aussi médiocres, puis laisser NSO ou une organisation israélienne du même type les exploiter. On sait déjà qu’ils vendent des bippers
  • J’écris du firmware, surtout sur du firmware pour appareils compatibles Bluetooth, et ma boîte a bloqué ce site web

  • Les gens qui adorent la technologie achètent une enceinte ultra-intelligente qui se connecte à tous les ordinateurs de la maison et pilote même une cafetière ultra-intelligente pour lancer un café frais dès que Miles Davis commence à jouer
    Ceux qui comprennent la technologie gardent une hache à côté du grille-pain

    • C’est le sens originel du mot hacker
  • J’attends déjà avec impatience le moment où une chaîne faite à l’arrache sortira une vidéo là-dessus et me la mettra en une de YouTube dans environ 4 jours ouvrés

    • Tu sais qu’en désactivant l’enregistrement de l’historique YouTube, tu peux carrément ne plus avoir de page d’accueil ?
    • Oui, mais LinkedIn peut toujours le poster avant et rafler toute la gloire