Smart male chastity lock cock-up

TL;DR

  • Smart Bluetooth maschio castità lock, progettato per l’utente per fornire il controllo remoto di fiducia 3rd party utilizzo di app mobile/API
  • Più di API difetti significava che chiunque avrebbe potuto bloccare in remoto di tutti i dispositivi e impedire agli utenti di liberare se stessi
  • Rimozione richiede quindi una smerigliatrice angolare o simili, utilizzati nelle immediate vicinanze delicato e aree sensibili
  • Precisa della posizione dell’utente anche i dati diffusi da API, comprese le informazioni personali e private chat
  • Fornitore inizialmente reattivo, poi perso tre bonifica scadenze stabilite se stessi più di 6 mesi periodo
  • Poi finalmente rifiutato di interagire ulteriormente, anche se la maggior parte dei problemi sono stati risolti in migrazione a v2 API, ma API v1 inesorabilmente lasciato disponibile
  • Questo post è pubblicato in coordinamento con Internet of Dong
  • 27/01/2021 Essi affermano che i problemi mobili e API sono stati risolti.

Giocattoli per adulti intelligenti e noi

Non abbiamo scritto di giocattoli per adulti intelligenti da molto tempo, ma la gabbia di castità del compagno di cella Qiui era semplicemente troppo interessante per passare. Ci hanno informato del dispositivo di castita ‘ per adulti, progettato per bloccare l’appendice di chi lo indossa.

Ci sono altri dispositivi di castità maschile disponibili, ma questo è un Bluetooth (BLE) abilitato blocco e tipo di morsetto meccanismo con un compagno app mobile. L’idea è che chi lo indossa possa dare il controllo della serratura a qualcun altro.

Non siamo nel business di kink vergogna. Le persone dovrebbero essere in grado di utilizzare questi dispositivi in modo sicuro e sicuro senza il rischio di trapelare dati personali sensibili.

La sicurezza del campo teledildonico è di per sé interessante. Vale la pena notare che le vendite di giocattoli per adulti intelligenti sono aumentate in modo significativo durante il recente blocco.

Qual è il rischio per gli utenti?

Abbiamo scoperto che gli aggressori remoti potrebbero impedire l’apertura del blocco Bluetooth, bloccando in modo permanente l’utente nel dispositivo. Non c’è sblocco fisico. Il tubo è bloccato su un anello indossato intorno alla base dei genitali, rendendo le cose inaccessibili. Una smerigliatrice angolare o altro strumento pesante adatto sarebbe necessario per tagliare chi lo indossa libero.

Anche la posizione, la password in chiaro e altri dati personali sono stati trapelati, senza bisogno di autenticazione, dall’API.

Abbiamo avuto problemi particolari durante il processo di divulgazione, poiché di solito chiedevamo al fornitore di eliminare un’API che perdeva mentre veniva implementata la correzione. Tuttavia, chiunque attualmente utilizzi il dispositivo quando l’API è stata disattivata sarebbe anche bloccato in modo permanente!

Come vedrai nella timeline di divulgazione in fondo a questo post, alcuni problemi sono stati risolti, ma altri no, e il venditore ha semplicemente smesso di rispondere a noi, ai giornalisti e ai rivenditori. Data la natura banale di trovare alcuni di questi problemi, e che l’azienda sta lavorando su un altro dispositivo che pone ancora maggiori danni fisici potenziali (un dispositivo di castità “interno”), ci siamo sentiti in dovere di pubblicare questi risultati a questo punto.

I problemi

Abbiamo redatto dettagli significativi qui.

App mobile

Abbiamo trovato una grave vulnerabilità della privacy molto rapidamente con l’app mobile: tutti gli endpoint API non sono stati autenticati utilizzando solo un “memberCode” lungo per effettuare richieste. Il memberCode stesso è in qualche modo deterministico e si basa sulla data in cui un utente si è iscritto al servizio, tuttavia abbiamo trovato un modo ancora più semplice utilizzando un “codice amico”più breve.

Una richiesta con questo codice “amico” a sei cifre ha restituito un’enorme quantità di informazioni su quell’utente, incluse informazioni molto sensibili come il loro nome, numero di telefono, compleanno, le coordinate esatte in cui è stata aperta l’app, il loro valore “memberCode” più lungo e la password in chiaro dell’utente (non che ne abbiamo bisogno).

Non ci vorrebbe un utente malintenzionato più di un paio di giorni per esfiltrare l’intero database utente e usarlo per ricatti o phishing.

Numeri e dati di localizzazione trapelati

Siamo stati in grado di campionare alcuni ID a caso, mostrando le posizioni degli utenti al momento delle registrazioni delle app. Tieni presente che questo è solo un piccolo sottoinsieme di utenti dai dati disponibili. Abbiamo buttato via qualsiasi informazione personale immediatamente.

memberCode data = DoS per l’utente

Ora abbiamo il memberCode più lungo che possiamo recuperare tutti i dispositivi associati a quella persona:

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,

E una volta che ce l’abbiamo, siamo in grado di capire cosa le autorizzazioni che la persona ha, oltre che di blocco (in modo da possono sbloccare da soli o chiedere a qualcun altro):

GET /wear?memberCode=20200409xxxxxxx&deviceCode=20191204xxxxxx HTTP/1.1Host: qiuitoy.com

E se si può, si può capovolgere in modo che ora hanno bloccato il dispositivo:

POST /binding HTTP/1.1Host: qiuitoy.comConnection: closememberName=Pwned&memberCode=20200409xxxxxx&deviceCode=20191204xxxxxx

E siamo in grado di farlo a tutti, molto rapidamente, il blocco di tutti, o fuori. Non c’è nessuna funzione di override di emergenza, quindi se sei bloccato non c’è via d’uscita. Questo può o non può essere considerato una caratteristica!

Problemi BLE

L’implementazione BLE stessa richiede una richiesta API per generare un comando di sblocco basato su un token precedentemente scritto sul blocco. È possibile abbiamo potuto analizzare le richieste e le risposte per generare la chiave giusta, o decodificare il blocco hardware…

di cui sopra è tratto dal decompilato app Android e agganciando con Frida siamo in grado di vedere la notifica (36f6) e scrive (36f5) associata con il controllo del livello della batteria prima e poi sblocco (il terzo scrivere):

 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

Ma aspetta, quell’esadecimale dall’app Android e le caratteristiche BLE sembrano terribilmente familiari. È esattamente la stessa implementazione del Nokelock che abbiamo esaminato, tranne che il nome del dispositivo pubblicizzato è “OKGSS101”.

La chiave di crittografia AES per blocco viene restituita nella chiamata API che elenca i dispositivi che abbiamo creato in precedenza. Sblocco di massa su BLE chiunque?

Bloccato? Ecco una soluzione

Se ti trovi bloccato, probabilmente ti starai chiedendo come puoi uscire senza attrezzi pesanti o una visita al pronto soccorso

Il design del perno di bloccaggio utilizza un motore per ritirarlo e purtroppo non è ferroso, quindi non è facile usare i magneti, né è “urtarlo” aperto (come lo indosserai). Ho avuto un piccolo successo con uno spessore fatto da una lattina tagliata, ma l’idea di un metallo appuntito vicino a qualcosa di importante non è l’ideale.

Il “meglio” alternativa è allargate il circuito zona in cui il pulsante anteriore e la luce è:

È incollato ma è venuto fuori senza molto sforzo o danni. 3 volt (due batterie AA) applicate ai fili bianchi e gialli è sufficiente per azionare direttamente il motore di sblocco (bianco = negativo, giallo = positivo), una tecnica nota come “chiodatura”.

Il tuo dipartimento di emergenza locale avrà probabilmente gli strumenti giusti per tagliare il metallo in modo sicuro e sarebbe il tuo miglior primo porto di scalo!

Conclusione

Per una minaccia realistica, il rischio di perdita di dati personali sembra più probabile che venga sfruttato e dare ricompensa a un attaccante.

Un certo numero di paesi ha leggi oppressive che possono esporre gli utenti di questi tipi di dispositivi a interessi ingiustificati da parte delle forze dell’ordine e dei bigotti.

Inoltre, è probabile che gli utenti vogliano mantenere la loro vita privata privata. Dovrebbero aspettarsi la privacy per impostazione predefinita e la sicurezza in base alla progettazione. Se si desidera condividere informazioni molto private, allora dovrebbe essere per esplicito intento dell’utente.

Molti venditori di giocattoli per adulti hanno mostrato quasi totale disprezzo per la privacy e la sicurezza negli ultimi anni. Fortunatamente, progetti come Internet of Dong hanno contribuito a guidare molti verso una maggiore sicurezza. Chiaramente Qiui non aveva ricevuto il messaggio.

Disclosure timeline

Disclosure non era così semplice come avremmo potuto inizialmente sperato:

20 aprile 2020: li abbiamo messaged chiedendo a chi segnalare il problema. Hanno risposto molto rapidamente. Figo!

Nessun problema, abbiamo provato di nuovo senza PGP:

Così abbiamo inviato i dettagli. Regnava il silenzio.

26 maggio 2020: abbiamo spinto un po ‘ più forte, hanno risposto, affermando che avrebbero risolto entro il 6 giugno.

11/06/2020: una versione aggiornata è stata distribuita nell’App& Play Store. Questo per lo più ha risolto i problemi con le richieste ora costrette ad autenticarsi. Tuttavia, gli endpoint API più vecchi sono stati lasciati e le nuove API hanno comunque restituito posizioni utente esatte.

17 giugno 2020: abbiamo inviato un messaggio in dettaglio i problemi residui, senza risposta.

25 giugno 2020: abbiamo contattato di nuovo, tramite un giornalista, Qiui ha detto che non volevano aggiustare (o non potevano) dato che “solo” avevano $50,000.

30 giugno 2020: abbiamo inviato un’email di follow-up (e twitter DM) con potenziali correzioni ai problemi rimanenti (e l’abbiamo tradotta in cinese per ogni evenienza), senza alcuna risposta.

10 Luglio 2020: abbiamo contattato due rivenditori britannici del dispositivo per renderli consapevoli dei problemi. Uno lo ha ritirato dalla vendita e ha preso contatto con i grossisti con sede nell’UE. Qiui ha risposto ai rivenditori che i problemi rimanenti sarebbero stati risolti “in agosto”.

11 settembre 2020: Anche RenderMan di @ InternetOfDongs si è messo in contatto con noi: aveva aiutato un altro ricercatore nel processo di divulgazione con Qiui. @ MikeTsenatek aveva trovato un problema di reimpostazione della password in modo indipendente e stava anche lottando per essere ascoltato dal venditore. Per caso ha notato un mio tweet qualche tempo fa, ha capito che potremmo guardare questo dispositivo e ha contattato.

Abbiamo avuto una grande chiamata insieme dove abbiamo scambiato esperienze notevolmente simili di interazioni con Qiui! Il suo articolo è disponibile qui.

Questo ha rafforzato la nostra decisione di pubblicare: chiaramente altri erano propensi a trovare questi problemi indipendenti da noi, quindi il caso di interesse pubblico è stato fatto nella nostra mente.

RenderMan merita sicuramente complimenti per i suoi continui sforzi per mediare conversazioni tra ricercatori e venditori nell’arena dei giocattoli per adulti. Alcuni fornitori hanno apportato miglioramenti significativi per la loro sicurezza del prodotto e la privacy a seguito del suo duro lavoro.

4 ottobre 2020: Siamo stati contattati da un terzo ricercatore con preoccupazioni simili.

6 ottobre 2020: Abbiamo pubblicato in coordinamento con le altre parti.

Aggiornamento 27/01/2021

Il distributore europeo di Qiui ci ha chiesto di fornire un aggiornamento a questo blog alla luce degli sviluppi. Ci hanno contattato il 28 dicembre, spiegando che il problema era con l’applicazione mobile. Questa non era la nostra comprensione, dato che i problemi di sicurezza di cui sopra sono nell’API.

In ogni caso, abbiamo chiesto la prova di questo e sono stati inviati un rapporto di prova penna dal mobile app da un 3rd party .

Il rapporto era chiaramente di app mobile e aveva fatto una serie di raccomandazioni.

Siamo tornati al distributore e abbiamo chiesto una copia di un rapporto di prova penna dell’API.

Questo è arrivato il 19 gennaio. Un certo numero di altri problemi erano stati notati, un risultato di un test pen completamente autorizzato, che non avevamo il permesso di fare durante la nostra ricerca originale.

Affermano che i problemi mobili e API sono stati risolti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.