Smart male chastity lock cock-up

TL;DR

  • Smart Bluetooth male chastity lock, conceput pentru ca utilizatorul să ofere control de la distanță unei părți a 3-A de încredere folosind aplicația mobilă/API
  • multiple defecte API au însemnat că oricine ar putea bloca de la distanță toate dispozitivele și împiedica utilizatorii să se elibereze
  • îndepărtarea necesită apoi un polizor unghiular sau similar, utilizat în imediata apropiere a zonelor delicate și sensibile
  • date precise despre locația utilizatorului, de asemenea, scurgeri de API, inclusiv informații personale și chat-uri private
  • furnizor inițial receptiv, apoi a ratat trei termene de remediere ei s-au stabilit peste o lună 6 perioada
  • apoi a refuzat în cele din urmă să interacționeze mai departe, chiar dacă majoritatea problemelor au fost rezolvate în migrarea către API v2, totuși API v1 a rămas inexcusabil disponibil
  • această postare este publicată în coordonare cu Internet of Dongs
  • 27 / 01 / 2021 ei afirmă că problemele mobile și API au fost rezolvate acum.

Jucării inteligente pentru adulți și noi

nu am scris despre jucării inteligente pentru adulți de mult timp, dar cușca de castitate a colegului de celulă Qiui a fost pur și simplu prea interesantă pentru a trece. Am fost informați despre dispozitivul de castitate pentru adulți, conceput pentru a bloca apendicele purtătorului.

există și alte dispozitive de castitate de sex masculin disponibile, dar acest lucru este un Bluetooth (BLE) activat de blocare și de tip clemă mecanism cu o aplicație mobilă de companie. Ideea este că purtătorul poate da controlul încuietorii altcuiva.

nu suntem în afaceri de rușine nod. Oamenii ar trebui să poată utiliza aceste dispozitive în siguranță și în siguranță, fără riscul de scurgeri de date personale sensibile.

securitatea câmpului teledildonic este interesantă în sine. Este demn de remarcat faptul că vânzările de jucării inteligente pentru adulți au crescut semnificativ în timpul blocării recente.

care este riscul pentru utilizatori?

am descoperit că atacatorii de la distanță ar putea împiedica deschiderea blocării Bluetooth, blocând permanent utilizatorul în dispozitiv. Nu există deblocare fizică. Tubul este blocat pe un inel purtat în jurul bazei organelor genitale, făcând lucrurile inaccesibile. Un polizor unghiular sau alt instrument greu adecvat ar fi necesar pentru a tăia purtătorul liber.

locație, parola plaintext și alte date cu caracter personal a fost, de asemenea, scurgeri, fără a fi nevoie de autentificare, de API.

am avut probleme speciale în timpul procesului de divulgare, așa cum ne-ar cere, de obicei, vânzătorul să ia în jos un API neetanșe în timp ce remedierea a fost pusă în aplicare. Cu toate acestea, oricine utilizează în prezent dispozitivul atunci când API-ul a fost deconectat ar fi, de asemenea, blocat permanent!

după cum veți vedea în cronologia dezvăluirii din partea de jos a acestui post, unele probleme au fost remediate, dar altele nu, iar vânzătorul a încetat pur și simplu să ne răspundă nouă, jurnaliștilor și comercianților cu amănuntul. Având în vedere natura banală a găsirii unora dintre aceste probleme și faptul că compania lucrează la un alt dispozitiv care prezintă un potențial și mai mare rău fizic (un dispozitiv de castitate „intern”), ne-am simțit obligați să publicăm aceste constatări în acest moment.

problemele

am redactat detalii semnificative aici.

Mobile app

am găsit o vulnerabilitate gravă de Confidențialitate foarte repede cu aplicația mobilă: toate punctele finale API au fost neautentificate folosind doar un lung-ish „memberCode” pentru a face cereri. Codul de membru în sine este oarecum determinist și se bazează pe data la care un utilizator s-a înscris la serviciu, cu toate acestea am găsit o modalitate și mai ușoară folosind un „cod de prieten”mai scurt.

o solicitare cu acest cod „prieten” din șase cifre a returnat o cantitate imensă de informații despre acel utilizator, inclusiv informații foarte sensibile, cum ar fi numele, numărul de telefon, ziua de naștere, coordonatele exacte în care a fost deschisă aplicația, valoarea lor „memberCode” mai lungă și parola plaintext a utilizatorului (nu că avem nevoie de ea).

nu i-ar lua unui atacator mai mult de câteva zile pentru a exfiltra întreaga bază de date a utilizatorilor și a o folosi pentru șantaj sau phishing.

numere și scurgeri de date despre locație

am reușit să eșantionăm câteva ID-uri la întâmplare, arătând locațiile utilizatorilor în momentul înregistrării aplicațiilor. Rețineți că acesta este doar un mic subset de utilizatori din datele disponibile. Am aruncat imediat orice informație personală.

memberCode data = DoS pentru utilizator

acum avem memberCode mai putem prelua toate dispozitivele asociate cu acea persoană:

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,

și odată ce avem asta, putem afla ce permisiuni are acea persoană peste acea blocare (deci o pot debloca singuri sau trebuie să întrebe pe altcineva):

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

și dacă pot, putem răsturna asta astfel încât să fie acum blocați din dispozitiv:

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

și putem face asta tuturor, foarte repede, blocând pe toată lumea înăuntru sau afară. Nu există nici o funcție de suprascriere de urgență, fie, așa că, dacă sunteți blocat în nu există nici o cale de ieșire. Acest lucru poate sau nu poate fi considerat o caracteristică!

probleme BLE

implementarea BLE în sine necesită o solicitare API pentru a genera o comandă de deblocare bazată pe un jeton scris anterior la blocare. Este posibil am putea analiza cererile și răspunsurile pentru a genera cheia dreapta, sau reverse engineering hardware-ul de blocare în sine…

cele de mai sus este luat de la decompiled Android app și de prindere-l cu Frida putem vedea notifică (36f6) și scrie (36f5) asociat cu verificarea nivelului bateriei mai întâi și apoi deblocarea (a treia scriere):

 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

dar așteptați, că hex din aplicația Android, iar caracteristicile BLE arata extrem de familiar. Este exact aceeași implementare ca Nokelock la care ne-am uitat, cu excepția numelui dispozitivului anunțat este „OKGSS101”.

cheia de criptare per lock AES este returnată în apelul API care listează dispozitivele pe care le-am făcut mai devreme. Deblocarea în masă peste cineva BLE?

blocat? Iată o soluție

dacă vă aflați blocat în, probabil vă întrebați cum puteți ieși fără unelte grele sau o vizită la camera de urgență…

designul știftului de blocare folosește un motor pentru a-l retrage și, din păcate, nu este feros, deci nu este ușor de utilizat magneții și nici nu îl „loviți” deschis (așa cum îl veți purta). Am avut un mic succes cu un shim realizat dintr-o cutie tăiată, dar ideea de metal ascuțit ascuțit lângă orice lucru important nu este ideală.

alternativa „mai bună” este deschiderea zonei plăcii de circuite unde butonul frontal și lumina sunt:

este lipit, dar a ieșit fără prea mult efort sau daune. 3 volți (două baterii AA) aplicate firelor albe și galbene sunt suficiente pentru a conduce direct motorul de deblocare (alb = negativ, galben = pozitiv), o tehnică cunoscută sub numele de „spiking”.

departamentul dvs. local de urgență va avea probabil instrumentele potrivite pentru a tăia metalul în siguranță și ar fi primul dvs. port de escală!

concluzie

pentru o amenințare realistă, riscul de scurgere a datelor cu caracter personal pare mai probabil să fie exploatat și să ofere recompensă unui atacator.

o serie de țări au legi opresive care pot expune utilizatorii acestor tipuri de dispozitive la un interes nejustificat din partea autorităților de aplicare a legii și a bigoților.

Mai mult, utilizatorii vor dori să-și păstreze viața privată privată. Ei ar trebui să se aștepte la confidențialitate în mod implicit și la securitate prin design. Dacă cineva dorește să împărtășească informații foarte private, atunci aceasta ar trebui să fie prin intenția explicită a utilizatorului.

mulți vânzători de jucării pentru adulți au arătat o ignorare aproape completă a confidențialității și securității în ultimii ani. Din fericire, proiecte precum Internet of Dongs au ajutat mulți să ghideze către o securitate îmbunătățită. În mod clar Qiui nu a primit mesajul.

cronologia dezvăluirii

dezvăluirea nu a fost atât de perfectă pe cât am fi sperat inițial:

20 aprilie 2020: le-am trimis mesaje întrebând cui să raporteze problema. Au răspuns foarte repede. Super!

nicio problemă, așa că am încercat din nou fără PGP:

așa că le-am trimis detaliile. Tăcerea domnea.

26 mai 2020: am împins puțin mai tare, au răspuns ei, afirmând că vor rezolva până pe 6 iunie.

11/06/2020: o versiune actualizată a fost implementată în aplicație& magazine Play. Acest lucru a rezolvat în mare parte problemele, cererile fiind acum forțate să se autentifice. Cu toate acestea, punctele finale API mai vechi au fost lăsate în sus, iar API-urile noi au returnat încă locațiile exacte ale utilizatorilor.

17 iunie 2020: am trimis un mesaj care detaliază problemele reziduale, fără răspuns.

25 iunie 2020: am ajuns din nou, prin intermediul unui jurnalist, Qiui a spus că nu vor să repare (sau nu pot), deoarece „doar” aveau 50.000 de dolari.

30 iunie 2020: am trimis un e-mail de urmărire (și twitter DM) cu potențiale soluții la problemele rămase (și l-am tradus în chineză pentru orice eventualitate), fără răspuns.

10 iulie 2020: am contactat doi comercianți cu amănuntul din Marea Britanie a dispozitivului pentru a le face conștienți de problemele. Unul a retras – o de la vânzare și a luat contact cu angrosiștii cu sediul în UE. Qiui a răspuns înapoi comercianților cu amănuntul că problemele rămase vor fi rezolvate „în August”.

11 septembrie 2020: RenderMan de la @InternetOfDongs a luat legătura și cu noi: a ajutat un alt cercetător prin procesul de dezvăluire cu Qiui. @ MikeTsenatek a găsit o problemă de resetare a parolei în mod independent și se lupta, de asemenea, să fie auzit de vânzător. Din întâmplare a observat un tweet de-al meu cu ceva timp în urmă, și-a dat seama că s-ar putea să ne uităm la acest dispozitiv și să ajungem.

am avut un apel mare împreună în cazul în care am schimbat experiențe remarcabil similare de interacțiuni cu Qiui! Scrisul lui este disponibil aici.

Acest lucru ne-a întărit decizia de a publica: în mod clar alții erau susceptibili să găsească aceste probleme independente de noi, așa că cazul de interes public a fost făcut în mintea noastră.

RenderMan merită cu siguranță kudos pentru eforturile sale continue de a intermedia conversații între cercetători și vânzători în arena jucăriilor pentru adulți. Unii furnizori au adus îmbunătățiri semnificative securității și confidențialității produselor lor ca urmare a muncii sale grele.

4 octombrie 2020: am fost contactați de un al treilea cercetător cu preocupări similare.

6 octombrie 2020: am publicat în coordonare cu celelalte părți.

actualizare 27 / 01 / 2021

distribuitorul European al Qiui ne-a cerut să furnizăm o actualizare a acestui blog în lumina evoluțiilor. Ne-au contactat pe 28 decembrie, explicând că problema a fost cu aplicația mobilă. Acest lucru nu a fost înțelegerea noastră, având în vedere problemele de securitate de mai sus sunt în API.

oricum, am cerut dovezi în acest sens și am primit un raport de testare a stiloului din aplicația mobilă de către o a 3-a parte .

raportul a fost în mod clar al aplicației mobile și a făcut o serie de recomandări.

ne-am întors la distribuitor și am cerut o copie a unui raport de testare a stiloului API.

aceasta a sosit pe 19 ianuarie. O serie de alte probleme au fost observate, un rezultat al unui test stilou complet autorizat, pe care nu am avut permisiunea de a face în timpul cercetării noastre originale.

ei afirmă că problemele mobile și API au fost rezolvate acum.

Lasă un răspuns

Adresa ta de email nu va fi publicată.