Kaip saugumo tyrinėtojas „Google Home Mini“ pavertė pokalbių pasiklausymu

Jei turite „Google Home“ įrenginį, bet nerimaujate dėl visada įjungtų mikrofonų, jūsų nerimas yra pagrįstas.

Visada besiklausančio prietaiso turėjimas namuose yra gana dažnas reiškinys šiais laikais, ypač kai daugėja Amazon Echo įrenginių linijos ir Google Home serijos. Nors tai nepaprastai naudingos technologijos, jos nekelia susirūpinimo dėl privatumo. Jie turi visada veikiančius mikrofonus ir interneto ryšį, o tai kai kuriems žmonėms yra per didelis privatumo pažeidimas, kad jie galėtų būti namuose. Saugumo tyrinėtojas Mattas Kunze įrodė, kad šios baimės gali būti pateisinamos, nes jis sugebėjo savo „Google Home Mini“ paversti tuo, ką iš esmės galima apibūdinti kaip pokalbių pasiklausymą.

Nors šis pažeidžiamumas buvo aptiktas ir išbandytas „Google Home Mini“, Kunze teigia manantis, kad ataka panašiai veikė ir kituose „Google“ išmaniųjų garsiakalbių modeliuose.

„Google Home Mini“ atvirkštinė inžinerija

POST užklausa /deviceuserlinksbatch galutiniam taškui, kaip nustatyta naudojant mitmproxy.

POST užklausa /deviceuserlinksbatch galutiniam taškui, kaip nustatyta naudojant mitmproxy.

Paskyros susiejimas su „Google Home“ įrenginiu suteikia daug galimybių ją valdyti, nes įrenginio „Rutina“ gali vykdyti komandas nuotoliniu būdu. Įprastos procedūros yra naudingos iš anksto nustatant funkcionalumą, pagrįstą konkrečiomis sąlygomis, tačiau jais galima piktnaudžiauti, jei galima nuotoliniu būdu pasiekti įrenginį ir jį valdyti. Įprastos veiklos pavyzdys būtų pasakyti „Hey Google, labas rytas“, ir jis įjungs šviesas ir parodys tos dienos orą.

Kunze nusprendė išsiaiškinti, ar užpuolikas gali susieti savo „Google“ paskyrą su kieno nors „Google Home“. Tai iš esmės leistų jam panaudoti valdymą, suteikiamą susiejant paskyrą su įrenginiu, ir būtų naudojamas komandoms vykdyti nuotoliniu būdu kieno nors tinkle.

Naudojant tokius įrankius kaip tarpinis tarpinis serveris (man-in-the-middle)mitmproxy) ir Frida, jis galėjo stebėti eismą tarp „Google Home“ programos išmaniajame telefone ir „Google Home“ įrenginio. Iš ten jis atrado, kad galite susieti „Google“ paskyrą su įrenginiu, gaudami jo informaciją per vietinę API, o tada išsiųsdami „Google“ serveriams užklausą su informacija, kaip ją susieti. Kunze parašė Python scenarijų, kuris paima „Google“ kredencialus ir IP adresą, o tada susieja „Google“ paskyrą su įrenginiu nurodytu IP adresu.

Valdęs duotą įrenginį, jis galėjo sukurti bet kokią tvarką ir suaktyvinti ją susietame įrenginyje. Galite iškviesti Padėjėją, kad paskambintų telefono numeriu, kurį jis galėjo padaryti bet kuriuo metu. Kad ataka būtų kuo slaptesnė, Kunze taip pat įjungė „naktinį režimą“, kuris sumažina didžiausią garsumą ir LED ryškumą. Muzikos garsumas visiškai nepaveikiamas, todėl mažiau tikėtina, kad vartotojas tai pastebės.

Tačiau tai pablogėja, nes net nereikia būti tame pačiame „Wi-Fi“ tinkle, kad ši ataka veiktų: tereikia įrenginio artumo. Jei siunčiate autentifikavimo panaikinimo paketus į „Google Home“ įrenginį, jis mano, kad tinklas nutrūko ir sukuria „Wi-Fi“ tinklą, kad galėtumėte vėl prie jo prisijungti ir iš naujo sukonfigūruoti naujam „Wi-Fi“ ryšiui tinklą. Atnaujinimo kadrai (kurie yra valdymo kadrų tipas) gali būti siunčiami nurodant IP adresą ir nuo jų sunku apsisaugoti, nes WPA2 tinklai nešifruoja valdymo kadrų.

Tačiau taip pat, kaip galite piktnaudžiauti vietine „Google Home“ įrenginio API ir susieti ją su „Google“. būdami tame pačiame „Wi-Fi“ tinkle, tą patį galite padaryti prisijungę prie jos, kai ji yra sąrankos metu režimu.

Nuotoliniu būdu klausomasi „Google Home“ mikrofono

Kunze parašė ir išbandė išsamų koncepcijos įrodymą, kaip „Google Home Mini“ gali būti naudojamas ką nors šnipinėti.

  1. Sukurkite „užpuoliko“ „Google“ paskyrą.
  2. Būkite belaidžiu būdu arti „Google Home“.
  3. Pradėkite siųsti autentifikavimo panaikinimo paketus į „Google Home“.
  4. Prisijunkite prie „Google Home“ sąrankos tinklo.
  5. Vykdykite Python scenarijų, kad susietumėte įrenginį su užpuoliko „Google“ paskyra.
  6. Nustokite siųsti autentiškumo panaikinimo paketus ir palaukite, kol įrenginys prisijungs prie interneto.
  7. Dabar galite vykdyti komandas „Google Home“ įrenginyje, įskaitant skambinimą jūsų telefono numeriu.

Užpuolikas taip pat gali priversti įrenginį siųsti savavališkas HTTP užklausas savininko tinkle. Tai padidina atakos paviršių, nes užpuolikas gali bandyti prisijungti prie kitų tinklo įrenginių, įskaitant maršruto parinktuvą.

„Google“ išsprendė problemą

Geroji pusė yra tai, kad 2021 m. sausio 8 d. Kunzei pranešus apie tai, „Google“ galiausiai tai ištaisė. Nebegalite susieti paskyros su „Google Home“ įrenginiu be kvietimo iš su juo jau susietos paskyros ir nebegalite skambinti telefono numeriu nuotoliniu būdu naudodami įprastą tvarką. Be to, įrenginiuose su ekranu tinklas, kurį įrenginys sukuria konfigūravimui, yra apsaugotas WPA2 ir norint prisijungti, reikalingas slaptažodis.

Nors šis pažeidžiamumas atskleidžiamas tik dabar, neįmanoma, kad kažkas kitas jį atrado ir pats juo piktnaudžiauja. Jei nerimaujate dėl visada besiklausančių įrenginių, tai tikrai yra pateisinimas. Net jei tai konkreti problema išspręsta, tai nereiškia, kad ateityje nebus daugiau pažeidžiamumų.


Šaltinis: Mattas Kunze