- 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,FMAINetCHK2, et accepte un firmware modifié tant que le checksum SHA-256CHK2correspond, 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 02dans la caractéristique9e9daaec-3a10-4fe8-b69f-7397aff77886a permis de lire la chaîne complète de version du firmware depuis la caractéristique9e9daaeb-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 principalFMAINexécuté au démarrage normal, ainsi queCHK2, un checksum SHA-256 du conteneur complet FBOOTetFMAINsont du code basé sur FreeRTOS, comme l'indique la chaîne/home/jieyi/mcuos2.5/kernel/freertos-8.2.3/, etFMAINest environ 6,5 fois plus volumineux queFBOOT- L'appareil acceptait un firmware modifié tant que
CHK2était correct ; après flash d'un firmware où la chaîneWELCOMEavait été remplacée parPATCHED, l'afficheur à segments montraitPATCHEDau 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.exeet 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.binn'é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
movwetmovt; 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
0x54a é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-execdans le contexte de la tâche de traitement USB, l'accumulation des délaisvTaskDelayprovoquait 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
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é
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
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 »
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
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
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
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
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 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
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
Qu’est-ce qui est le plus facile à marketer, ou à boguer ? :-)
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
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