TL;DR
- Smart Bluetooth male chastity lock, suunniteltu käyttäjän antamaan kaukosäätimen luotetulle 3. osapuolelle käyttäen mobile app/API
- useita API-puutteita tarkoitti, että kuka tahansa voi etälukita kaikki laitteet ja estää käyttäjiä vapauttamasta itseään
- poistaminen vaatii sitten kulmahiomakoneen tai vastaavan, jota käytetään lähellä herkkiä ja herkkiä alueita
- tarkat käyttäjän sijaintitiedot vuotivat myös API: n kautta, mukaan lukien henkilökohtaiset tiedot ja yksityiset chatit
- myyjä reagoi aluksi, sitten jäi kolme korjaamisen määräaikaa, jotka he asettivat itselleen yli 6 kuukautta period
- sitten lopulta kieltäytyi enää vuorovaikutuksesta, vaikka suurin osa ongelmista ratkaistiin siirryttäessä v2 API: een, silti API v1 jätettiin väistämättä saataville
- tämä viesti on julkaistu yhteistyössä Internet of Dongsin kanssa
- 27/01/2021 he toteavat, että mobiili-ja API-ongelmat on nyt ratkaistu.
Smart adult toys and us
Emme ole kirjoittaneet älykkäistä aikuisten leluista pitkään aikaan, mutta Qiuin Sellikaveri chastity cage oli yksinkertaisesti liian kiinnostava ohitettavaksi. Saimme vihjeen aikuisten siveyslaitteesta, joka on suunniteltu lukitsemaan käyttäjän lisäke.
muitakin miespuolisia siveyslaitteita on saatavilla, mutta kyseessä on Bluetooth (BLE) – tyyppinen Lukko-ja puristinmekanismi, jossa on mukana mobiilisovellus. Ajatuksena on, että käyttäjä voi antaa lukon hallinnan jollekin toiselle.
Emme ole kink shamingin asialla. Ihmisten olisi voitava käyttää näitä laitteita turvallisesti ja turvallisesti ilman vaaraa arkaluonteisten henkilötietojen vuotamisesta.
teledildoniikan alan turvallisuus on sinänsä mielenkiintoista. On syytä huomata, että älykkäiden aikuisten lelujen myynti on kasvanut merkittävästi viime lukkojen aikana.
mikä on käyttäjille aiheutuva riski?
huomasimme, että etähyökkääjät voisivat estää Bluetooth-lukon avaamisen, jolloin käyttäjä lukittuisi pysyvästi laitteeseen. Fyysistä avausta ei ole. Putki lukitaan sukupuolielimen tyven ympärille kuluneeseen renkaaseen, jolloin asiat eivät pääse perille. Käyttäjän irrottamiseen tarvittaisiin kulmahiomakone tai muu sopiva raskas työkalu.
myös sijainti, selkotekstisalasana ja muut henkilötiedot vuodettiin API: n toimesta ilman todennusta.
meillä oli erityisiä ongelmia julkistamisprosessin aikana, sillä yleensä pyysimme myyjää poistamaan vuotavan API: n korjauksen ajaksi. Kuitenkin, kuka tahansa tällä hetkellä käyttää laitetta, kun API otettiin offline olisi myös pysyvästi lukittu!
kuten näet tämän julkaisun alareunassa olevasta paljastusaikajanasta, jotkin ongelmat korjattiin, mutta toiset eivät, ja myyjä yksinkertaisesti lopetti vastaamasta meille, toimittajille ja jälleenmyyjille. Kun otetaan huomioon joidenkin näiden ongelmien löytämisen vähäpätöinen luonne ja se, että yritys työskentelee toisella laitteella, joka aiheuttaa vieläkin suurempaa fyysistä haittaa (”sisäinen” siveyslaite), olemme tunteneet pakottavan julkaisemaan nämä havainnot tässä vaiheessa.
asiat
olemme poistaneet tässä merkittäviä yksityiskohtia.
Mobile app
löysimme vakavan yksityisyyden haavoittuvuuden hyvin nopeasti mobiilisovelluksesta: kaikki API-päätelaitteet olivat todentamattomia käyttäen vain pitkäsanaista ”membercodea” pyyntöjen tekemiseen. MemberCode itsessään on hieman deterministinen ja perustuu käyttäjän palveluun kirjautumisen päivämäärään, mutta löysimme vielä helpomman tavan käyttää lyhyempää ”ystäväkoodia”.
tällä kuusinumeroisella ”friend”-koodilla tehty pyyntö palautti valtavan määrän tietoa kyseisestä käyttäjästä, sisältäen erittäin arkaluonteisia tietoja, kuten nimen, puhelinnumeron, syntymäpäivän, tarkat koordinaatit, joissa sovellus avattiin, heidän pidemmän ”memberCode” – arvonsa ja käyttäjän selkotekstisen salasanan (ei sillä, että tarvitsisimme sitä).
hyökkääjältä ei menisi kuin pari päivää koko käyttäjätietokannan tyhjentämiseen ja sen käyttämiseen kiristykseen tai tietojenkalasteluun.
numeroita ja vuotaneita sijaintitietoja
saimme otettua satunnaisesti muutaman tunnuksen, joista näkyi käyttäjien sijainnit sovellusten rekisteröintien aikaan. Muista, että tämä on vain pieni osa käyttäjistä käytettävissä olevista tiedoista. Heitimme pois kaikki henkilökohtaiset tiedot välittömästi.
memberCode data = DoS käyttäjälle
nyt meillä on pidempi memberCode, johon voimme hakea kaikki kyseiseen henkilöön liittyvät laitteet:
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,
ja kun meillä on tämä, voimme selvittää, mitä oikeuksia tuolla henkilöllä on kyseiseen lukkoon (niin voivat he avata sen itse tai joutua kysymään joltain muulta):
GET /wear?memberCode=20200409xxxxxxx&deviceCode=20191204xxxxxx HTTP/1.1Host: qiuitoy.com
ja jos voivat, voimme kääntää sen niin että he ovat nyt lukittuina laitteesta:
POST /binding HTTP/1.1Host: qiuitoy.comConnection: closememberName=Pwned&memberCode=20200409xxxxxx&deviceCode=20191204xxxxxx
ja voimme tehdä sen kaikille, hyvin nopeasti, lukitsemalla kaikki sisään tai ulos. Hätäohjaustoimintoakaan ei ole, joten lukkojen takana ei ole ulospääsyä. Tätä voidaan pitää ominaisuutena tai ei!
BLE-ongelmat
itse BLE-toteutus vaatii API-pyynnön luoda lukituksen komento, joka perustuu aiemmin lukkoon kirjoitettuun tokeniin. On mahdollista, että voisimme analysoida pyynnöt ja vastaukset luodaksemme oikean avaimen, tai takaisinmallintaa itse lukkolaitteisto…
yllä oleva on otettu dekompiloidusta Android-sovelluksesta ja kytkemällä sen Fridaan voimme nähdä ilmoitukset (36f6) ja kirjoittaa (36f5) liittyy tarkistaa akun taso ensin ja sitten avata (kolmas kirjoittaa):
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
mutta odota, tuo hex Android-sovelluksesta, ja BLE-ominaisuudet näyttävät hirveän tutuilta. Se on täsmälleen sama toteutus kuin Nokelock, jota katsoimme, paitsi mainostetun laitteen nimi on ”OKGSS101”.
per lock AES-salausavain palautetaan API-puhelussa listaamalla aiemmin tekemämme laitteet. Massat vapautumassa kellekään?
Locked in? Tässä kiertotie
Jos huomaat olevasi lukittuna sisään, mietit varmaan, miten pääset ulos ilman raskaita työkaluja tai käyntiä päivystyksessä…
lukitustapin suunnittelussa käytetään moottoria sen vetämiseen eikä se valitettavasti ole ferrous, joten magneetteja ei ole helppo käyttää, eikä sen ”törmääminen” auki (kuten sinulla on päälläsi). Minulla oli pieni menestys leikatusta tölkistä tehdyn Shimin kanssa, mutta ajatus teräväkärkisestä metallista kaiken tärkeän lähellä ei ole ihanteellinen.
parempi” vaihtoehto on prikata auki piirilevyn alue, jossa etupainike ja valo ovat:
se liimautui sisään, mutta tuli ulos ilman suurempia ponnistuksia tai vaurioita. 3 volttia (kaksi AA-paristoa) valkoisille ja keltaisille johdoille riittää ajamaan avausmoottoria suoraan (valkoinen = negatiivinen, keltainen = positiivinen), joka tunnetaan ”piikkinä”.
paikallisella hätäkeskuksellasi on todennäköisesti oikeat työkalut leikata vaikka metalli turvallisesti, ja se olisi parempi ensimmäinen käyntisatama!
johtopäätös
realistisen uhan osalta näyttää todennäköisemmältä, että henkilötietojen vuotamisen riskiä käytetään hyväksi ja siitä palkitaan hyökkääjä.
useissa maissa on sortavia lakeja, jotka saattavat altistaa tämäntyyppisten laitteiden käyttäjät lainvalvojien ja kiihkoilijoiden aiheettomalle kiinnostukselle.
edelleen käyttäjät todennäköisesti haluavat pitää yksityiselämänsä yksityisenä. Heidän pitäisi odottaa yksityisyyttä oletusarvoisesti ja turvallisuutta suunnitelmallisesti. Jos haluaa jakaa hyvin yksityistä tietoa, niin sen pitäisi olla käyttäjän nimenomainen tarkoitus.
monet aikuiset lelumyyjät ovat viime vuosina osoittaneet lähes täydellistä piittaamattomuutta yksityisyydestä ja turvallisuudesta. Onneksi dongien Internetin kaltaiset hankkeet ovat auttaneet monia parantamaan turvallisuutta. Qiui ei selvästikään saanut viestiä.
julkistamisen aikajana
julkistaminen ei ollut niin saumatonta kuin olisimme aluksi toivoneet:
huhtikuun 20.päivä 2020: viestitimme heille kysyen, kenelle raportoida asiasta. He vastasivat hyvin nopeasti. Siistiä!
Ei ongelmaa, joten yritimme uudelleen ilman PGP: tä:
joten lähetimme heille yksityiskohdat. Hiljaisuus vallitsi.
26.5.2020: puskimme vähän kovempaa, he vastasivat ilmoittaen korjaavansa 6.6.mennessä.
11/06/2020: sovellukseen otettiin käyttöön päivitetty versio & Play Stores. Tämä lähinnä ratkaisi ongelmat, kun pyynnöt on nyt pakko todentaa. Vanhemmat API-päätelaitteet jätettiin kuitenkin ylös, ja uudet sovellusliittymät palauttivat silti tarkat käyttäjäpaikat.
17.6.2020: lähetimme viestin, jossa tarkennettiin jäljellä olevia ongelmia, eikä vastausta kuulunut.
25.6.2020: otimme jälleen yhteyttä, erään toimittajan kautta, Qiui sanoi, että he eivät halunneet korjata (tai eivät voineet), koska heillä ”oli vain” 50 000 dollaria.
30.kesäkuuta 2020: lähetimme seurantasähköpostin (ja twitter DM), jossa oli mahdollisia korjauksia jäljellä oleviin ongelmiin (ja käännytimme sen kiinaksi kaiken varalta), ilman vastausta.
10. heinäkuuta 2020: otimme yhteyttä kahteen brittiläiseen laitteen jälleenmyyjään, jotta he olisivat tietoisia ongelmista. Yksi veti sen myynnistä ja otti yhteyttä EU: ssa toimiviin tukkukauppiaisiin. Qiui vastasi takaisin jälleenmyyjille, että loput asiat korjattaisiin ”elokuussa”.
11.syyskuuta 2020: @Internetofdongsin RenderMan otti yhteyttä myös meihin: hän oli auttanut toista tutkijaa paljastusprosessin läpi Qiuin kanssa. @MikeTsenatek oli löytänyt salasanan palauttamisongelman itsenäisesti ja kamppaili myös saadakseen myyjältä kuulla. Sattumalta hän huomasi jokin aika sitten twiittini, arveli, että saattaisimme katsoa tätä laitetta ja otti yhteyttä.
meillä oli suuri puhelu yhdessä, jossa vaihdoimme huomattavan samanlaisia kokemuksia vuorovaikutuksesta Qiuin kanssa! Hänen kirjoituksensa on luettavissa täällä.
tämä vahvisti julkaisupäätöstämme: selvästikin muut todennäköisesti pitivät näitä asioita meistä riippumattomina, joten yleisen edun mukainen tapaus tuli mieleemme.
RenderMan ansaitsee ehdottomasti kunniamaininnan jatkuvasta pyrkimyksestään välittää tutkijoiden ja myyjien välisiä keskusteluja aikuisten lelusalalla. Jotkut myyjät ovat tehneet merkittäviä parannuksia niiden tuotteiden turvallisuutta ja yksityisyyttä seurauksena hänen kovan työn.
4.lokakuuta 2020: meihin otti yhteyttä kolmas tutkija, jolla oli samanlaisia huolia.
lokakuun 6.päivä 2020: julkaisimme yhdessä muiden puolueiden kanssa.
Update 27/01/2021
Qiuin Eurooppalainen jakelija pyysi meitä toimittamaan päivityksen tähän blogiin kehityksen vuoksi. He ottivat yhteyttä 28. joulukuuta ja kertoivat, että ongelma oli mobiilisovelluksessa. Tämä ei ollut meidän ymmärryksemme, ottaen huomioon edellä mainitut turvallisuusongelmat ovat API: ssa.
joka tapauksessa pyysimme todisteita tästä ja kolmas osapuoli lähetti kännykkäsovelluksesta kynätestiraportin .
raportti oli selvästi mobiilisovelluksesta ja siinä oli annettu useita suosituksia.
menimme takaisin jakelijalle ja pyysimme kopion API: n kynätestiraportista.
tämä saapui 19. Moni muukin asia oli huomattu, tulos täysin luvallisesta kynätestistä, johon meillä ei ollut lupaa alkuperäisen tutkimustyömme aikana.
he toteavat, että mobiili-ja API-ongelmat on nyt ratkaistu.