Smart male chastity lock cock-up

TL;DR

  • Smart Bluetooth-mannelijke kuisheid lock, ontworpen voor de gebruiker te geven van de afstandsbediening om een vertrouwde 3rd party met behulp van de mobiele app/API
  • Meerdere API gebreken betekende dat iedereen kon het op afstand vergrendelen van alle apparaten en voorkomen dat gebruikers van het vrijgeven van zichzelf
  • Verwijderen dan moet een haakse slijper of een soortgelijke, gebruikt in de nabijheid van de delicate en gevoelige gebieden
  • Exacte locatie van de gebruiker gegevens ook gelekt door API, met inbegrip van persoonlijke gegevens en privé chats
  • de Verkoper in eerste instantie reageren, dan miste drie sanering termijnen die zij zichzelf stellen over een 6 maand periode
  • weigerde vervolgens verder te interageren, ook al waren de meeste problemen opgelost in migratie naar V2 API, toch bleef API v1 onvergeeflijk beschikbaar
  • dit bericht wordt gepubliceerd in coördinatie met Internet van Dongs
  • 27/01/2021 zij stellen dat de mobiele en API problemen nu zijn opgelost.

Smart adult toys en us

We hebben al lang niet meer over slim adult toys geschreven, maar de qiui celmaat kuisheidskooi was gewoon te interessant om voorbij te gaan. We werden getipt over het volwassen kuisheidsapparaat, ontworpen om het aanhangsel van de drager op te sluiten.

Er zijn andere mannelijke Kuisheidsapparaten beschikbaar, maar dit is een vergrendelings-en klemmechanisme met Bluetooth (BLE) en een bijbehorende mobiele app. Het idee is dat de drager de controle over het slot aan iemand anders kan geven.

wij doen niet aan kink shaming. Mensen moeten in staat zijn om deze apparaten veilig en veilig te gebruiken zonder het risico dat gevoelige persoonlijke gegevens worden gelekt.

de veiligheid van teledildonica is op zich interessant. Het is vermeldenswaard dat de verkoop van slim volwassen speelgoed aanzienlijk is gestegen tijdens de recente lockdown.

Wat is het risico voor gebruikers?

We ontdekten dat externe aanvallers kunnen voorkomen dat het Bluetooth-slot wordt geopend, waardoor de gebruiker permanent in het apparaat wordt vergrendeld. Er is geen fysieke ontgrendeling. De buis is vergrendeld op een ring gedragen rond de basis van de geslachtsdelen, waardoor dingen ontoegankelijk. Een haakse slijper of ander geschikt zwaar gereedschap zou nodig zijn om de drager vrij te snijden.

locatie, wachtwoord in platte tekst en andere persoonlijke gegevens werden ook uitgelekt, zonder authenticatie, door de API.

We hadden specifieke problemen tijdens het openbaarmakingsproces, omdat we de leverancier meestal vroegen om een lekkende API te verwijderen terwijl herstel werd geïmplementeerd. Echter, iedereen die momenteel het apparaat gebruikt wanneer de API offline werd genomen, zou ook permanent worden vergrendeld!

zoals u zult zien in de tijdlijn voor openbaarmaking onderaan dit bericht, werden sommige problemen opgelost, maar andere niet, en de leverancier stopte gewoon met het beantwoorden van ons, journalisten en retailers. Gezien de triviale aard van het vinden van een aantal van deze kwesties, en dat het bedrijf werkt aan een ander apparaat dat nog meer potentiële fysieke schade (een “interne” kuisheidsapparaat) vormt, hebben we ons gedwongen gevoeld om deze bevindingen op dit punt te publiceren.

de problemen

we hebben hier belangrijke details geredigeerd.

mobiele app

We vonden een ernstige kwetsbaarheid voor de privacy zeer snel met de mobiele app: alle API-eindpunten werden niet geverifieerd met behulp van slechts een lange-ish “memberCode” om verzoeken te doen. De ledencode zelf is enigszins deterministisch en is gebaseerd op de datum waarop een gebruiker zich heeft aangemeld voor de service, maar we vonden een nog eenvoudiger manier met behulp van een kortere “vriend code”.

een verzoek met deze zescijferige “vriend”-code gaf een enorme hoeveelheid informatie over die gebruiker terug, inclusief zeer gevoelige informatie zoals hun naam, telefoonnummer, verjaardag, de exacte coördinaten waar de app werd geopend, hun langere “memberCode” – waarde en het wachtwoord in platte tekst van de gebruiker (niet dat we het nodig hebben).

Het zou een aanvaller niet meer dan een paar dagen kosten om de gehele gebruikersdatabase te exfiltreren en deze te gebruiken voor chantage of phishing.

nummers en gelekte locatiegegevens

We waren in staat om een paar ID ‘ s willekeurig te bekijken, met gebruikerslocaties op het moment van app-registraties. Houd in gedachten dat dit slechts een kleine subset van gebruikers uit de beschikbare gegevens. We gooiden alle persoonlijke informatie onmiddellijk weg.

memberCode data = DoS voor de gebruiker

:

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,

en zodra we dat hebben, kunnen we uitzoeken welke rechten die persoon heeft over dat slot (dus kunnen ze het zelf ontgrendelen of iemand anders vragen):

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

en als ze dat kunnen, kunnen we dat omdraaien zodat ze nu buitengesloten zijn van het apparaat:

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

en we kunnen dat met iedereen doen, heel snel, iedereen in-of uitschakelen. Er is ook geen nood-override-functie, dus als je opgesloten zit, is er geen uitweg. Dit kan wel of niet worden beschouwd als een functie!

BLE-problemen

de BLE-implementatie zelf vereist een API-verzoek om een unlock-opdracht te genereren op basis van een token dat eerder naar het slot is geschreven. Het is mogelijk dat we de verzoeken en antwoorden kunnen analyseren om de juiste sleutel te genereren, of de vergrendelingshardware zelf reverse engineeren…

het bovenstaande is afkomstig van de gedecompileerde Android-app en door het aan te sluiten met Frida kunnen we de meldingen (36f6) en schrijft (36f5) zien die geassocieerd zijn met het controleren eerst het batterijniveau en dan het ontgrendelen (het derde schrijven):

 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

Maar Wacht, Die hex van de Android-app, en de BLE-kenmerken lijken erg vertrouwd. Het is precies dezelfde uitvoering als de Nokelock we keken naar, behalve de geadverteerde naam van het apparaat is “OKGSS101”.

De per lock AES-coderingssleutel wordt geretourneerd in de API-aanroep waarin de apparaten staan die we eerder hebben gemaakt. Massa ontgrendelen over BLE iemand?

vergrendeld? Hier is een tijdelijke oplossing

Als u zich opgesloten voelt, vraagt u zich waarschijnlijk af hoe u er zonder zwaar gereedschap of een bezoek aan de eerste hulp uit kunt komen…

het ontwerp van de sluitpen maakt gebruik van een motor om het uit te trekken en is helaas niet ferro, dus geen eenvoudig gebruik van magneten, noch “stoten” het open (zoals u het draagt). Ik had een beetje succes met een shim gemaakt van een cut-up blik, maar het idee van scherpe puntige metaal in de buurt van iets belangrijks is niet ideaal.

Het “betere” alternatief is om het printplaatgebied te openen waar de frontknop en het licht zijn:

Het is ingegelijmd maar kwam er zonder veel moeite of schade uit. 3 volt (twee AA batterijen) aangebracht op de witte en gele draden is genoeg om de ontgrendelingsmotor direct aan te drijven (Wit = negatief, geel = positief), een techniek die bekend staat als “spiking”.

uw lokale spoedeisende hulp zal waarschijnlijk het juiste gereedschap hebben om het metaal veilig door te snijden en zou uw betere eerste aanroep zijn!

conclusie

voor een realistische bedreiging lijkt het risico van het lekken van persoonlijke gegevens eerder te worden uitgebuit en een aanvaller te belonen.

een aantal landen heeft onderdrukkende wetten die gebruikers van dit soort apparaten kunnen blootstellen aan ongerechtvaardigde interesse van wetshandhavers en dwepers.

verder zullen gebruikers waarschijnlijk hun privéleven privé willen houden. Ze moeten verwachten privacy standaard en veiligheid door ontwerp. Als men zeer privé informatie wil delen, dan moet dat door expliciete bedoeling van de gebruiker zijn.

veel volwassen speelgoedverkopers hebben de afgelopen jaren vrijwel volledig geen acht geslagen op privacy en veiligheid. Gelukkig, projecten zoals het internet van Dongs hebben geholpen begeleiden velen naar een betere beveiliging. Qiui had de boodschap duidelijk niet begrepen.

Disclosure timeline

Disclosure was niet zo naadloos als we aanvankelijk hadden gehoopt:

20 April 2020: we berichtten hen met de vraag aan wie ze het probleem moesten melden. Ze antwoordden zeer snel. Cool!

geen probleem, dus we hebben het opnieuw geprobeerd zonder PGP:

dus stuurden we ze de details. Stilte heerste.

26 mei 2020: we pushten een beetje harder, ze reageerden, verklarend dat ze zouden fix door 6 juni.

11/06/2020: een bijgewerkte versie werd geïmplementeerd in de App & Play Stores. Dit meestal opgelost Problemen met Verzoeken nu gedwongen te authenticeren. Oudere API-eindpunten bleven echter over en nieuwe API ‘ s retourneerden nog steeds exacte gebruikerslocaties.

17 juni 2020: we stuurden een bericht waarin de resterende problemen werden beschreven, zonder antwoord.

25 juni 2020: we hebben opnieuw contact opgenomen via een journalist, Qiui zei dat ze niet wilden repareren (of niet konden) omdat ze “slechts” $50.000 hadden.

30 juni 2020: we stuurden een follow-up e-mail (en twitter DM) met mogelijke oplossingen voor de resterende problemen (en hadden het vertaald in het Chinees voor het geval dat), zonder antwoord.

10 juli 2020: we hebben contact opgenomen met twee Britse retailers van het apparaat om hen bewust te maken van de problemen. Eén van hen trok het uit de verkoop en maakte contact met de in de EU gevestigde groothandelaren. Qiui reageerde terug naar de retailers dat de resterende problemen zouden worden opgelost “in Augustus”.11 September 2020: RenderMan van @InternetOfDongs nam ook contact met ons op: hij had een andere onderzoeker door het onthullingsproces met Qiui geholpen. @MikeTsenatek had een wachtwoord reset probleem onafhankelijk gevonden en was ook moeite om gehoord te worden door de leverancier. Toevallig zag hij een tweet van mij enige tijd geleden, dacht dat we misschien naar dit apparaat keken en stak zijn hand uit.

We hadden een geweldige call together waar we Opmerkelijk vergelijkbare ervaringen uitwisselden van interacties met Qiui! Zijn verslag is hier beschikbaar.

Dit versterkte onze beslissing om te publiceren: het is duidelijk dat anderen deze kwesties waarschijnlijk onafhankelijk van ons zouden vinden, dus de zaak van algemeen belang werd in onze gedachten gemaakt.

RenderMan verdient zeker lof voor zijn voortdurende inspanningen om gesprekken tussen onderzoekers en leveranciers in de volwassen speelgoedarena te bewerkstelligen. Sommige leveranciers hebben aanzienlijke verbeteringen aangebracht in hun productbeveiliging en privacy als gevolg van zijn harde werk.

4 oktober 2020: we werden gecontacteerd door een derde onderzoeker met soortgelijke zorgen.

6 oktober 2020: we publiceerden in coördinatie met de andere partijen.

Update 27/01/2021

Qiui ‘ s Europese distributeur vroeg ons om een update van deze blog in het licht van de ontwikkelingen. Ze namen op 28 December contact met ons op en legden uit dat het probleem met de mobiele app lag. Dit was niet ons begrip, gezien de beveiligingsproblemen hierboven zijn in de API.

hoe dan ook, we vroegen om bewijs van dit en kregen een pen testrapport van de mobiele app door een derde partij.

Het rapport was duidelijk van de mobiele app en had een aantal aanbevelingen gedaan.

We gingen terug naar de distributeur en vroegen om een kopie van een pen testrapport van de API.

Dit kwam op 19 januari. Een aantal andere zaken waren opgemerkt, een resultaat van een volledig geautoriseerde pen test, die we niet hadden toestemming om te doen tijdens ons oorspronkelijke onderzoek.

zij stellen dat de mobiele en API problemen nu zijn opgelost.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.