Alors que les appareils de l'internet des objets (IoT) continuent de s'infiltrer dans nos foyers et offrent un éventail de fonctionnalités de plus en plus large, de nouvelles inquiétudes commencent à naître quant à la sécurité des données traitées par ces appareils. Bien qu'ils aient fait l'objet d'innombrables failles de sécurité ayant conduit à l'exposition des identifiants de connexion, des informations financières et de la localisation géographique des personnes, entre autres, il existe peu de types de données ayant plus de potentiel pour nuire aux utilisateurs que celles relatives à leurs préférences et comportements sexuels.

Alors que de nouveaux modèles de jouets sexuels intelligents ne cessent d'arriver sur le marché, nous pourrions penser que des progrès sont réalisés dans le renforcement des mécanismes garantissant de bonnes pratiques dans le traitement des informations des utilisateurs. Cependant, nos recherches ont révélé d'intéressantes failles de sécurité dérivées à la fois de l'implémentation des apps contrôlant les dispositifs et de la conception de ces dispositifs, affectant le stockage et le traitement des informations. Aujourd'hui, ces conclusions sont plus pertinentes que jamais, car nous assistons à une augmentation rapide des ventes de sex toys, reflet de la situation actuelle dans le monde et des mesures de distanciation sociale liées à COVID-19.

Comme c'est le cas avec tout autre dispositif connecté, il existe certaines menaces pour la vie privée liées à l'utilisation de jouets pour adultes connectés à Internet. Des vulnérabilités pourraient permettre aux attaquants d'exécuter un code malveillant sur l'appareil, ou de le verrouiller en empêchant l'utilisateur d'envoyer toute commande au jouet. En fait, nous avons déjà vu des scénarios de cas réels impliquant des attaques similaires, des chercheurs ayant découverts des rançongiciels verrouillant les ceintures de chasteté vulnérables lorsque les dispositifs sont utilisés et exigeant que les victimes paient une rançon pour déverrouiller les objets et libérer leur propriétaire.

Caractéristiques des sex toys connectés

De nos jours, les jouets sexuels intelligents présentent de nombreuses caractéristiques : contrôle à distance via Internet, discussions de groupe, messages multimédias, vidéoconférences, synchronisation avec des chansons ou des livres audio, et capacité à se connecter à des assistants intelligents, pour n'en citer que quelques-unes. Certains modèles peuvent se synchroniser pour reproduire leurs mouvements, et d'autres sont des wearables, soit des appareils à porter sur le corps.

En termes d'architecture, la plupart de ces appareils peuvent être contrôlés par Bluetooth Low Energy (BLE) à partir d'une application installée sur un smartphone. L'application est chargée de régler toutes les options de l'appareil et de contrôler le processus d'authentification de l'utilisateur. Pour ce faire, elle se connecte à un serveur dans le nuage, qui stocke les informations du compte de la personne. Dans certains cas, ce service en nuage sert également d'intermédiaire entre les partenaires en utilisant des fonctions comme le chat, la vidéoconférence et le transfert de fichiers, voire en donnant le contrôle à distance de leurs appareils à un partenaire.

Figure 1. Architecture d'un sex-toy intelligent

Cette architecture présente plusieurs points faibles qui pourraient être utilisés pour compromettre la sécurité des données traitées : Intercepter la communication locale entre l'application de contrôle et l'appareil, entre l'application et l'appareil, entre le téléphone distant et l'appareil, ou attaquer directement le service basé sur le cloud. Bien qu'ils aient déjà fait l'objet d'un examen minutieux de la part de nombreux chercheurs en sécurité ([1][2][3][4], entre autres), notre enquête a démontré que ces dispositifs continuent de présenter des failles de sécurité susceptibles de menacer la sécurité des données stockées ainsi que la vie privée et même la sécurité de l'utilisateur.

Pourquoi la sécurité est-elle si importante quand on parle de jouets sexuels?

Comme on peut l'imaginer, la sensibilité des informations traitées par les jouets sexuels est extrêmement critique : noms, orientation sexuelle ou de genre, listes de partenaires sexuels, informations sur l'utilisation des appareils, photos et vidéos intimes - toutes ces informations peuvent avoir des conséquences désastreuses si elles tombent entre de mauvaises mains. De nouvelles formes de sextorsion apparaissent sur le radar si l'on considère le matériel intime accessible via les apps qui contrôlent ces appareils.

Outre les préoccupations relatives à la vie privée, les jouets sexuels intelligents ne sont pas non plus exempts de la possibilité d'être compromis par des cyberattaquants. En ce qui concerne les vulnérabilités de l'application de contrôle d'un sex-toy, un attaquant pourrait prendre le contrôle du jouet, ce qui entraînerait des attaques par déni de service (DoS) qui bloqueraient la transmission de toute commande, ou un dispositif qui serait militarisé afin de mener des actions malveillantes et de propager des logiciels malveillants, voire un dispositif délibérément modifié pour causer des dommages physiques à l'utilisateur, par exemple en le faisant surchauffer.

Enfin, quelles sont les conséquences de la possibilité pour une personne de prendre le contrôle d'un dispositif sexuel sans consentement, pendant son utilisation, et d'envoyer différentes commandes au dispositif? Une attaque sur un dispositif sexuel constitue-t-elle un abus sexuel et pourrait-elle même conduire à une accusation d'agression sexuelle?

Évaluation de la sécurité de deux dispositifs populaires

L'objectif de cette recherche était de déterminer le niveau de sécurité des applications Android créées pour contrôler les modèles les plus populaires vendus par les principales marques d'appareils de plaisir sexuel et d'établir ainsi dans quelle mesure elles assurent la confidentialité des données de leurs utilisateurs. L'analyse se base sur deux modèles : Max, de Lovense et We-Vibe Jive.

Les sections suivantes détaillent certains des problèmes de sécurité que nous avons trouvés pour chaque application et appareil. Les deux développeurs ont reçu un rapport détaillé des vulnérabilités et des suggestions sur la manière de les corriger. Au moment de la publication de cet article, toutes les vulnérabilités ont été corrigées. Nous tenons à remercier WOW Tech Group et Lovense pour leur coopération dans le traitement des problèmes signalés.

Connexion Bluetooth (BLE)

Étant donné que dans ce protocole, le périphérique doit continuellement annoncer sa connexion pour que l'utilisateur puisse s'y connecter, n'importe qui peut utiliser un simple scanner Bluetooth pour trouver ces périphériques à proximité.

Figure 2. Découverte des jouets sexuels accessibles dans le voisinage immédiat, grâce à un scanner Bluetooth

La figure 2 montre avec quelle facilité ces dispositifs peuvent être trouvés avec un scanner Bluetooth mobile. Dans le scanner, nous pouvons voir Jive et Max ainsi que des informations détaillées. Jive s'annonce par son nom de modèle, ce qui le rend très facile à identifier. De plus, la puissance de son signal est de -69 dBm. Lorsque le scanner s'approche de l'appareil, ce niveau de puissance augmente, ce qui permet de localiser son propriétaire.

Jive et Max sont appariés à l'aide de la méthode « Just Works », qui constitue la moins sûre de toutes les méthodes d'appairage BLE. Dans cette méthode, la clé temporaire utilisée par les appareils pendant la deuxième étape de l'appairage est fixée à 0, et les appareils génèrent ensuite la valeur de la clé à court terme sur cette base. Cette méthode est largement ouverte aux attaques de type man-in-the-middle (MitM), car n'importe quel dispositif peut se connecter en utilisant 0 comme clé temporaire. Concrètement, cela signifie que le Jive et le Max se connecteront automatiquement à tout téléphone mobile, tablette ou ordinateur qui leur en fera la demande, sans procéder à aucune vérification ou authentification.

Dans la démonstration de concept suivante, le cadre BtleJuice et deux dongles BLE ont été utilisés pour reproduire une attaque MitM entre un utilisateur et le Jive. Dans ce scénario simulé, un attaquant prend d'abord le contrôle d'un Jive, auquel il peut se connecter directement en raison de son absence d'authentification, puis annonce un dispositif Jive factice, qui est configuré sur la base des informations annoncées par le Jive original. Ensuite, lorsque l'utilisateur décide de se connecter au jouet, son appareil se connecte en fait au faux appareil annoncé par l'attaquant. L'attaquant peut alors, via l'interface web de BtleJuice, capturer tous les paquets envoyés par l'utilisateur et destinés au jouet et ainsi obtenir des informations sur les modes d'utilisation, l'intensité des vibrations, etc. L'attaquant peut également modifier les commandes interceptées, en changeant le mode ou l'intensité de vibration ou générer ses propres commandes et les envoyer au jouet, même si l'utilisateur n'interagit pas avec lui.

Dans le cas du dispositif Jive, ces risques sont accrus par le fait qu'il s'agit d'un wearable, conçu pour que l'utilisateur puisse le porter au cours de sa journée, au restaurant, à la fête, à l'hôtel ou dans tout autre lieu public.

Contrôle à distance de Lovense par l’attaque de force brute des tokens

La liste des options de l'application Lovense pour ses fonctions de contrôle à distance comprend l'option de générer une URL au format https://api2.lovense.com/c/<TOKEN>, où <TOKEN> est une combinaison de quatre caractères alphanumériques. Cela permet aux utilisateurs distants de contrôler l'appareil en saisissant simplement l'URL dans leur navigateur.

Étonnamment, pour un token aussi court avec relativement peu de combinaisons possibles (1 679 616 tokens possibles sur une application comptant plus d'un million de téléchargements), le serveur ne dispose d'aucune protection contre les attaques par force brute.

Lorsqu'une requête est effectuée avec un token inexistant, le serveur redirige vers /redirect et renvoie le message JSON {“result”:true,”code”:404,”message”:”Page Not Found”}. En revanche, si le token est valide, le serveur redirige vers une autre URL au format https://[apps|api2].lovense.com/app/ws/play/<SID>, qui redirige à son tour vers https://[apps|api2].lovense.com/app/ws2/play/<SID>, où <SID> est l'ID de la session : une chaîne de type MD5 qui identifie l'utilisateur et l'ID du périphérique pour lequel elle a été créée. Un token expire lorsque sa limite de temps est écoulée (vraisemblablement 30 minutes), ou lorsque quelqu'un visite l'URL finale après être passé par tout le processus de redirection. Cependant, certains tokens sont restés actifs après la fin de la demi-heure, même pendant des jours.

Puisqu’il est possible de distinguer les tokens valides, actifs et expirés, en fonction de la réponse du serveur. Nous avons créé une preuve de concept pour trouver des tokens valides par force brute. Dans la vidéo, nous avons d'abord énuméré des dizaines de tokens : nous en avons créé certains avec notre appareil, puis nous avons ajouté d'autres tokens aléatoires. La plupart des tokens générés par notre appareil avaient déjà expiré, mais l'un d'entre eux était encore actif. Nous avons ensuite programmé un simple script Python et nous l'avons utilisé contre cet ensemble de tokens. Lorsque ce script trouve un token valide, il ouvre l'URL finale dans le navigateur et vérifie si la session a expiré à l'aide d'une extension Chrome que nous avons conçue pour les besoins de cette recherche. S'il s'avère que la session est active, il envoie un message via un bot Telegram au compte spécifié, l'informant du nouveau panneau de contrôle trouvé. Nous avons enregistré une vidéo de démonstration du concept, disponible ici :

En travaillant aux côtés du fournisseur, nous avons pu confirmer qu'il était possible de trouver des tokens d'utilisateurs aléatoires en utilisant la force brute. Il s'agit d'une vulnérabilité extrêmement grave, car elle permet à un attaquant de détourner facilement à distance des dispositifs qui attendent des connexions par le biais de tokens actifs, sans le consentement ou la connaissance de l'utilisateur.

Autres préoccupations en matière de confidentialité

En ce qui concerne les applications qui contrôlent ces jouets (Lovense Remote and We-Connect), on a constaté que certains choix de conception controversés pouvaient menacer la vie privée des utilisateurs. Cela pourrait être très dangereux, car de nombreux utilisateurs accordent le contrôle de leurs appareils à de parfaits inconnus en partageant leurs tokens en ligne, soit par préférence personnelle, soit dans le cadre d'un service de « cam girl/boy ».

Lovense Remote n’incluait pas de chiffrement de bout en bout, les captures d'écran n’étaient pas désactivées, l'option « supprimer » dans le chat n'effaçait pas réellement les messages du téléphone distant, et les utilisateurs pouvaient télécharger et transférer le contenu d'autres personnes sans qu'un avertissement soit envoyé à l'auteur du contenu. De plus, chaque adresse électronique est partagée entre tous les téléphones impliqués dans chaque chat et est stockée en texte clair à plusieurs endroits, comme le fichier de préférences partagé wear_share_data.xml. Ainsi, des utilisateurs malveillants pourraient trouver les adresses électroniques associées à un nom d'utilisateur donné et vice versa.

Enfin, Lovense Remote ne met pas en œuvre l'épinglage des certificats pour les mises à jour du micrologiciel. Comme les clés de déchiffrement sont stockées dans le code de l'application, il serait relativement simple pour un attaquant de créer un script pour intercepter les paquets et rediriger la victime vers l'URL malveillante de l'attaquant pour télécharger une fausse mise à jour du micrologiciel .

Dans l'application We-Connect, les métadonnées sensibles n'étaient pas supprimées des fichiers avant leur envoi, ce qui signifie que les utilisateurs ont pu envoyer par inadvertance des informations sur leurs appareils et leur géolocalisation exacte lorsqu'ils sextaient avec d'autres utilisateurs. Enfin, le code PIN à quatre chiffres permettant d'accéder à l'application peut être facilement forcé en utilisant une mauvaise clé USB (preuve de concept).

Conclusions

Les jouets sexuels intelligents gagnent en popularité comme partie prenante concept de « sexnologie » : une combinaison de sexe et de technologie. Les dernières avancées dans le secteur incluent des modèles dotés de capacités de réalité virtuelle (VR) et des robots sexuels alimentés par l'intelligence artificielle qui comprennent des caméras, des microphones, ainsi que des capacités d'analyse de la voix basées sur des techniques d'intelligence artificielle. En effet, on pourrait dire que l'ère des sex toys intelligents ne fait que commencer.

Comme pour tout autre dispositif IoT, il n'existe pas de solution infaillible pour évaluer et sécuriser les jouets sexuels intelligents. La protection des données dépendant largement des bonnes pratiques adoptées par les utilisateurs finaux, il devient prioritaire d'éduquer les consommateurs sur les risques de sécurité et de confidentialité associés à ces jouets pour adultes.

De plus, les applications mobiles comme ces applications de contrôle des jouets sexuels intelligents traitent des informations très précieuses de leurs utilisateurs. Il est essentiel que les développeurs comprennent l'importance de consacrer le temps et les efforts nécessaires à la conception et à la création de systèmes sécurisés, sans succomber aux pressions du marché qui privilégient la vitesse à la sécurité. Négliger la configuration adéquate de l'environnement de production au profit d'un déploiement rapide ne devrait jamais être une option.

Le white paper complet et disponible ici :