TL;DR
- Serrure de chasteté masculine Bluetooth intelligente, conçue pour permettre à l’utilisateur de donner le contrôle à distance à une tierce partie de confiance à l’aide d’une application / API mobile
- Plusieurs défauts de l’API permettaient à n’importe qui de verrouiller à distance tous les appareils et d’empêcher les utilisateurs de se libérer
- La suppression nécessite ensuite une meuleuse d’angle ou similaire, utilisée à proximité de zones délicates et sensibles
- Les données de localisation précises de l’utilisateur ont également été divulguées par l’API, y compris les informations personnelles et les chats privés
- Le fournisseur a d’abord répondu, puis a manqué trois délais de correction. Ils ont se fixer sur un mois 6 period
- Puis a finalement refusé d’interagir davantage, même si la majorité des problèmes ont été résolus lors de la migration vers l’API v2, mais l’API v1 a inexcusablement laissé disponible
- Ce post est publié en coordination avec Internet of Dongs
- 27/01/2021 Ils affirment que les problèmes de mobile et d’API ont maintenant été résolus.
Les jouets pour adultes intelligents et nous
Nous n’avons pas écrit sur les jouets pour adultes intelligents depuis longtemps, mais la cage de chasteté Qiui Cellmate était tout simplement trop intéressante pour passer. Nous avons été informés du dispositif de chasteté pour adultes, conçu pour enfermer l’appendice du porteur.
Il existe d’autres dispositifs de chasteté masculine disponibles, mais il s’agit d’un mécanisme de verrouillage et de serrage compatible Bluetooth (BLE) avec une application mobile complémentaire. L’idée est que le porteur puisse donner le contrôle de la serrure à quelqu’un d’autre.
Nous ne sommes pas dans le domaine de la honte. Les gens devraient pouvoir utiliser ces appareils en toute sécurité et en toute sécurité sans risque de fuite de données personnelles sensibles.
La sécurité du domaine de la télédildonique est intéressante en soi. Il convient de noter que les ventes de jouets pour adultes intelligents ont considérablement augmenté lors du récent verrouillage.
Quel est le risque pour les utilisateurs ?
Nous avons découvert que des attaquants distants pouvaient empêcher l’ouverture du verrou Bluetooth, verrouillant définitivement l’utilisateur dans l’appareil. Il n’y a pas de déverrouillage physique. Le tube est verrouillé sur un anneau porté autour de la base des organes génitaux, rendant les choses inaccessibles. Une meuleuse d’angle ou un autre outil lourd approprié serait nécessaire pour libérer le porteur.
L’emplacement, le mot de passe en clair et d’autres données personnelles ont également été divulgués, sans nécessité d’authentification, par l’API.
Nous avons eu des problèmes particuliers pendant le processus de divulgation, car nous demandions généralement au fournisseur de supprimer une API qui fuit pendant la mise en œuvre de la correction. Cependant, toute personne utilisant actuellement l’appareil lorsque l’API a été mise hors ligne serait également verrouillée en permanence!
Comme vous le verrez dans le calendrier de divulgation au bas de cet article, certains problèmes ont été résolus, mais d’autres ne l’ont pas été, et le vendeur a simplement cessé de nous répondre, aux journalistes et aux détaillants. Étant donné la nature triviale de la découverte de certains de ces problèmes, et que l’entreprise travaille sur un autre appareil qui pose des dommages physiques encore plus importants (un appareil de chasteté « interne »), nous nous sommes sentis obligés de publier ces résultats à ce stade.
Les problèmes
Nous avons expurgé des détails importants ici.
Application mobile
Nous avons constaté très rapidement une grave vulnérabilité de confidentialité avec l’application mobile : tous les points de terminaison de l’API n’étaient pas authentifiés en utilisant uniquement un « memberCode » de longue durée pour effectuer des requêtes. Le memberCode lui-même est quelque peu déterministe et est basé sur la date à laquelle un utilisateur s’est inscrit au service, mais nous avons trouvé un moyen encore plus simple d’utiliser un « code ami » plus court.
Une demande avec ce code « ami » à six chiffres a renvoyé une énorme quantité d’informations sur cet utilisateur, y compris des informations très sensibles telles que son nom, son numéro de téléphone, son anniversaire, les coordonnées exactes où l’application a été ouverte, leur valeur « memberCode » plus longue et le mot de passe en texte brut de l’utilisateur (pas que nous en ayons besoin).
Il ne faudrait pas plus de quelques jours à un attaquant pour exfiltrer toute la base de données des utilisateurs et l’utiliser à des fins de chantage ou de phishing.
Numéros et données de localisation divulguées
Nous avons pu échantillonner quelques identifiants au hasard, montrant les emplacements des utilisateurs au moment des enregistrements de l’application. Gardez à l’esprit qu’il ne s’agit que d’un petit sous-ensemble d’utilisateurs à partir des données disponibles. Nous avons immédiatement jeté toutes les informations personnelles.
memberCode data=DoS pour l’utilisateur
Maintenant, nous avons le code membre le plus long que nous pouvons récupérer tous les périphériques associés à cette personne:
GET /list?memberCode=20200409xxxxxxxx HTTP/1.1Host: qiuitoy.comConnection: close "deviceId": 0, "deviceCode": "201909xxxxxxxxxx", "deviceName": "Cellmatexxxx", "deviceNick": "Cellmatexxxx", "deviceNumber": "QIUIxxxxxxxxx", "deviceType": 2, "deviceBlue": null, "deviceBlueAddr": "F9:34:02:XX:XX:XX", "isEncrypt": 1,
Et une fois que nous l’avons, nous pouvons déterminer les autorisations que cette personne a sur ce verrou (elle peut donc le déverrouiller elle-même ou demander à quelqu’un d’autre):
GET /wear?memberCode=20200409xxxxxxx&deviceCode=20191204xxxxxx HTTP/1.1Host: qiuitoy.com
Et si elles le peuvent, nous pouvons le retourner pour qu’elles soient maintenant verrouillées hors de l’appareil:
POST /binding HTTP/1.1Host: qiuitoy.comConnection: closememberName=Pwned&memberCode=20200409xxxxxx&deviceCode=20191204xxxxxx
Et nous pouvons le faire à tout le monde, très rapidement, en verrouillant tout le monde, ou en dehors. Il n’y a pas non plus de fonction de remplacement d’urgence, donc si vous êtes verrouillé, il n’y a pas d’issue. Cela peut ou non être considéré comme une fonctionnalité!
Problèmes BLE
L’implémentation BLE elle-même nécessite une requête API pour générer une commande de déverrouillage basée sur un jeton précédemment écrit dans le verrou. Il est possible que nous puissions analyser les demandes et les réponses pour générer la bonne clé, ou rétroconcevoir le matériel de verrouillage lui-même…
Ce qui précède est tiré de l’application Android décompilée et en l’accrochant à Frida, nous pouvons voir les notifications (36f6) et écrit ( 36f5) associé à la vérification du niveau de la batterie d’abord, puis au déverrouillage (la troisième écriture):
BluetoothGattCallback constructor called from com.apicloud.uzble.AndroidBle$2 UUID: 000036f5-0000-1000-8000-00805f9b34fb data: 0x56f3430769ddd6e1603xxx UUID: 000036f6-0000-1000-8000-00805f9b34fb data: 0xe01012b3074d111c98bxxx UUID: 000036f5-0000-1000-8000-00805f9b34fb data: 0x25f8a92325fd9cfc7ea79xxx UUID: 000036f6-0000-1000-8000-00805f9b34fb data: 0x2717dd996ab4a017a6ceexxx UUID: 000036f5-0000-1000-8000-00805f9b34fb data: 0x9ee90373a2d3f156b3557xxx UUID: 000036f6-0000-1000-8000-00805f9b34fb data: 0xbcdaea06fa1cb94f3f1c2596xxx UUID: 000036f5-0000-1000-8000-00805f9b34fb data: 0x9ee90373a2d3f156b3557d52xxxx UUID: 000036f6-0000-1000-8000-00805f9b34fb data: 0xc04dab04c54c818d808a78c79adef839
Mais attendez, cet hexadécimal de l’application Android et les caractéristiques BLE semblent terriblement familières. C’est exactement la même implémentation que le Nokelock que nous avons examiné, sauf que le nom de périphérique annoncé est « OKGSS101 ».
La clé de chiffrement AES par verrou est renvoyée dans l’appel API répertoriant les périphériques que nous avons effectués précédemment. Déverrouillage de masse sur quelqu’un BLE?
Verrouillé ? Voici une solution de contournement
Si vous vous retrouvez enfermé, vous vous demandez probablement comment vous pouvez sortir sans outils lourds ou une visite aux urgences
La conception de la goupille de verrouillage utilise un moteur pour la retirer et n’est malheureusement pas ferreuse, donc pas facile d’utiliser des aimants, ni de la « cogner » (comme vous la porterez). J’ai eu un peu de succès avec une cale faite à partir d’une boîte découpée, mais l’idée d’un métal pointu et pointu près de tout ce qui est important n’est pas idéale.
La « meilleure » alternative consiste à ouvrir la zone de la carte de circuit imprimé où se trouvent le bouton avant et la lumière:
Il est collé mais est sorti sans trop d’efforts ni de dégâts. 3 volts (deux piles AA) appliqués sur les fils blanc et jaune suffisent pour entraîner directement le moteur de déverrouillage (blanc = négatif, jaune = positif), une technique appelée « spiking ».
Votre service d’urgence local aura probablement les bons outils pour couper le métal en toute sécurité et serait votre meilleur premier port d’escale!
Conclusion
Pour une menace réaliste, le risque de fuite de données personnelles semble plus susceptible d’être exploité et de récompenser un attaquant.
Un certain nombre de pays ont des lois oppressives qui peuvent exposer les utilisateurs de ces types d’appareils à un intérêt injustifié de la part des forces de l’ordre et des fanatiques.
De plus, les utilisateurs sont susceptibles de vouloir garder leur vie privée privée. Ils doivent s’attendre à la confidentialité par défaut et à la sécurité par conception. Si l’on veut partager des informations très privées, cela devrait être par l’intention explicite de l’utilisateur.
De nombreux vendeurs de jouets pour adultes ont fait preuve d’un mépris presque total pour la confidentialité et la sécurité au cours des dernières années. Heureusement, des projets tels que l’Internet des Dongs ont aidé beaucoup de gens à améliorer leur sécurité. Il est clair que Qiui n’avait pas reçu le message.
Calendrier de divulgation
La divulgation n’a pas été aussi transparente que nous aurions pu l’espérer au départ:
20 avril 2020: nous leur avons envoyé un message leur demandant à qui signaler le problème. Ils ont répondu très rapidement. Super!
Pas de problème, nous avons donc essayé à nouveau sans PGP:
Nous leur avons donc envoyé les détails. Le silence régnait.
26 mai 2020: nous avons poussé un peu plus fort, ils ont répondu, déclarant qu’ils corrigeraient d’ici le 6 juin.
06/11/2020 : une version mise à jour a été déployée sur l’application &Play Stores. Cela a principalement résolu les problèmes liés aux demandes maintenant obligées de s’authentifier. Les points de terminaison d’API plus anciens ont cependant été laissés en place, et les nouvelles API renvoyaient toujours les emplacements exacts des utilisateurs.
17 juin 2020 : nous avons envoyé un message détaillant les problèmes résiduels, sans réponse.
25 juin 2020: nous avons de nouveau contacté, via un journaliste, Qiui a dit qu’ils ne voulaient pas réparer (ou ne pouvaient pas) car ils n’avaient « que » 50 000 $.
30 juin 2020: nous avons envoyé un e-mail de suivi (et un DM Twitter) avec des solutions potentielles aux problèmes restants (et l’avons fait traduire en chinois au cas où), sans réponse.
10 juillet 2020: nous avons contacté deux détaillants britanniques de l’appareil pour les sensibiliser aux problèmes. L’un d’eux l’a retiré de la vente et a pris contact avec les grossistes basés dans l’UE. Qiui a répondu aux détaillants que les problèmes restants seraient résolus « en août ».
11 septembre 2020: RenderMan de @InternetOfDongs nous a également contactés: il avait aidé un autre chercheur à travers le processus de divulgation avec Qiui. @MikeTsenatek avait trouvé un problème de réinitialisation de mot de passe indépendamment et avait également du mal à se faire entendre par le fournisseur. Par hasard, il a remarqué un de mes tweets il y a quelque temps, a pensé que nous pourrions regarder cet appareil et a tendu la main.
Nous avons eu un grand appel ensemble où nous avons échangé des expériences remarquablement similaires d’interactions avec Qiui! Son article est disponible ici.
Cela a renforcé notre décision de publier: il est clair que d’autres étaient susceptibles de trouver ces questions indépendantes de nous, donc l’intérêt public a été fait dans notre esprit.
RenderMan mérite certainement des félicitations pour ses efforts continus pour négocier des conversations entre les chercheurs et les vendeurs dans le domaine des jouets pour adultes. Certains fournisseurs ont apporté des améliorations significatives à la sécurité et à la confidentialité de leurs produits grâce à son travail acharné.
4 octobre 2020 : Nous avons été contactés par un troisième chercheur ayant des préoccupations similaires.
6 octobre 2020 : Nous avons publié en coordination avec les autres parties.
Mise à jour 27/01/2021
Le distributeur européen de Qiui nous a demandé de fournir une mise à jour de ce blog à la lumière des développements. Ils nous ont contactés le 28 décembre pour nous expliquer que le problème était lié à l’application mobile. Ce n’était pas notre compréhension, étant donné que les problèmes de sécurité ci-dessus se trouvent dans l’API.
Quoi qu’il en soit, nous avons demandé des preuves de cela et nous avons reçu un rapport de test de stylo de l’application mobile par une tierce partie.
Le rapport portait clairement sur l’application mobile et avait formulé un certain nombre de recommandations.
Nous sommes retournés chez le distributeur et avons demandé une copie d’un rapport de test de stylo de l’API.
Ceci est arrivé le 19 janvier. Un certain nombre d’autres problèmes avaient été relevés, à la suite d’un test au stylo entièrement autorisé, ce que nous n’avions pas la permission de faire lors de notre recherche initiale.
Ils indiquent que les problèmes de mobile et d’API ont maintenant été résolus.