Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Ajalooliselt kasutab enamik töötajaid Logitechi juhtmeta klaviatuure ja hiiri. Veel kord paroole sisestades küsisime endalt, Raccoon Security meeskonna spetsialistid: kui raske on juhtmevabade klaviatuuride turvamehhanismidest mööda hiilida? Uuring paljastas arhitektuurilisi vigu ja tarkvaravigu, mis võimaldavad juurdepääsu sisendandmetele. Lõike all on see, mis meil on.

Miks Logitech?

Meie arvates on Logitechi sisendseadmed ühed kvaliteetseimad ja mugavamad. Enamik meie käsutuses olevaid seadmeid põhinevad Logitechi lahendusel Ühinev on universaalne dongle-vastuvõtja, mis võimaldab ühendada kuni 6 seadet. Kõik Logitech Unifying tehnoloogiaga ühilduvad seadmed on tähistatud Logitech Unifying tehnoloogia logoga. Lihtne kasutada taotlus Võimaldab hallata juhtmeta klaviatuuride ühendust arvutiga. Käsitletakse näiteks klaviatuuri ühendamise protsessi Logitechi vastuvõtja dongliga, aga ka tehnoloogiat ennast siin.

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Dongle vastuvõtja Logitech Unifying toega

Klaviatuur võib saada ründajatele teabeallikaks. Logitech, võttes arvesse võimalikku ohtu, hoolitses turvalisuse eest - kasutas juhtmevaba klaviatuuri raadiokanalis AES128 krüpteerimisalgoritmi. Esimene mõte, mis ründajal selles olukorras võib olla, on sidumisprotseduuri ajal raadiokanali kaudu edastatava võtmeteabe pealtkuulamine. Lõppude lõpuks, kui teil on võti, saate klaviatuuri raadiosignaale pealt kuulata ja need dekrüpteerida. Kasutajal tuleb aga harva (või isegi mitte kunagi) klaviatuuri ühtlustada ja skaneeriva raadioga häkker peab kaua ootama. Lisaks pole pealtkuulamisprotsessi enda puhul kõik nii lihtne. Viimases 2019. aasta juunis tehtud uuringus avaldas turbeekspert Markus Mengs veebis Teade haavatavuse avastamise kohta Logitechi USB-donglite vanas püsivaras. See võimaldab seadmetele füüsilise juurdepääsuga ründajatel hankida raadiokanalite krüpteerimisvõtmeid ja sisestada klahvivajutused (CVE-2019-13054).

Räägime oma Logitechi dongli turvauuringust, mis põhineb Nordic Semiconductori NRF24 SoC-l. Alustame ehk raadiokanalist endast.

Kuidas andmed raadiokanalis "lendavad".

Raadiosignaali aeg-sagedusanalüüsiks kasutasime spektranalüsaatori režiimis Blade-RF seadmel põhinevat SDR-vastuvõtjat (selle kohta saate ka lugeda siin).

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

SDR Blade-RF seade

Samuti kaalusime võimalust salvestada raadiosignaali kvadratuure vahesagedusel, mida saaks seejärel digitaalse signaalitöötlustehnika abil analüüsida.

Vene Föderatsiooni raadiosageduste riiklik komisjon lubatud lühitoimeseadmete jaoks on sagedusvahemik 2400–2483,5 MHz. See on väga "asustatud" vahemik, kust te ei leia midagi: Wi-Fi, Bluetooth, kõikvõimalikud kaugjuhtimispuldid, turvasüsteemid, juhtmevabad detektorid, klaviatuuriga hiired ja muud juhtmevabad digiseadmed.

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

2,4 GHz sagedusala spekter

Häirekeskkond vahemikus on üsna keeruline. Sellest hoolimata suutis Logitech pakkuda usaldusväärset ja stabiilset vastuvõttu, kasutades NRF24 transiiveris täiustatud ShockBurst protokolli koos sageduse kohandamise algoritmidega.

Riba kanalid paigutatakse täisarvu MHz positsioonidesse, nagu on määratletud punktis spetsifikatsioonid NRF24 Nordic Semiconductor - kokku 84 kanalit sagedusvõrgus. Logitechi samaaegselt kasutatavate sageduskanalite arv on loomulikult väiksem. Tuvastasime vähemalt nelja kasutamise. Kasutatava signaali spektri analüsaatori piiratud ribalaiuse tõttu ei olnud võimalik kindlaks määrata kasutatud sageduspositsioonide täpset loendit, kuid see polnud vajalik. Teave klaviatuurilt vastuvõtja donglile edastatakse sarivõtterežiimis (saatja lühikesed sisselülitused), kasutades kahepositsioonilist sagedusmodulatsiooni GFSK sümbolikiirusega 1 Mbaud:

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Klaviatuuri raadiosignaal aja esituses

Vastuvõtja kasutab vastuvõtmise korrelatsiooniprintsiipi, seega sisaldab edastatav pakett preambuli ja aadressiosa. Mürakindlat kodeerimist ei kasutata, andmekeha on krüpteeritud AES128 algoritmiga.

Üldiselt võib Logitechi juhtmevaba klaviatuuri raadioliidest iseloomustada kui statistilise multipleksimise ja sageduse kohandamisega täiesti asünkroonset. See tähendab, et klaviatuuri saatja vahetab kanali iga uue paketi edastamiseks. Vastuvõtja ei tea ette ei edastusaega ega sageduskanalit, vaid teada on ainult nende nimekiri. Vastuvõtja ja saatja kohtuvad kanalis tänu koordineeritud sageduse möödaviigu ja kuulamisalgoritmidele ning täiustatud ShockBursti kinnitusmehhanismidele. Me ei ole uurinud, kas kanalite loend on staatiline. Tõenäoliselt on selle muutus tingitud sageduse kohandamise algoritmist. Vahemiku sagedusressursi kasutamises on näha midagi sagedushüplemise meetodile lähedast (töösageduse pseudojuhuslik häälestamine).

Seega peab ründaja aja-sageduse ebakindluse tingimustes kõigi klaviatuuri signaalide vastuvõtmise tagamiseks pidevalt jälgima kogu 84 positsioonist koosnevat sagedusvõrku, mis nõuab märkimisväärse ajakulu. Siin saab selgeks, miks USB-võtme ekstraheerimise haavatavus (CVE-2019-13054) allikates positsioneeritud võimalusena sisestada klahvivajutused, selle asemel, et saada ründaja juurdepääs klaviatuurilt sisestatud andmetele. Ilmselgelt on juhtmevaba klaviatuuri raadioliides üsna keeruline ja tagab usaldusväärse raadioside Logitechi seadmete vahel keerulistes häirete tingimustes sagedusalas 2,4 GHz.

Pilk probleemile seestpoolt

Valisime oma uuringu jaoks ühe olemasolevatest Logitechi K330 klaviatuuridest ja Logitechi ühendava dongli.

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Logitech K330

Heidame pilgu klaviatuuri sisemusse. Huvitav element, mida tahvlil uurida, on Nordic Semiconductori SoC NRF24 kiip.

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

SoC NRF24 Logitech K330 juhtmeta klaviatuuriplaadil

Püsivara asub sisemälus, lugemis- ja silumismehhanismid on keelatud. Kahjuks pole püsivara avatud allikates avaldatud. Seetõttu otsustasime läheneda probleemile teisest küljest – uurida Logitechi dongle-vastuvõtja sisemist sisu.

Dongle vastuvõtja "sisemaailm" on üsna huvitav. Dongle on kergesti lahti võetav, pardal on tuttav NRF24 väljalase koos sisseehitatud USB-kontrolleriga ning seda saab ümber programmeerida nii USB-küljelt kui ka otse programmeerijalt.

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Logitechi dongle ilma korpuseta

Kuna püsivara värskendamiseks on olemas standardmehhanism Püsivara värskendustööriista rakendused (millest saate värskendatud püsivara versiooni välja tõmmata), pole vaja püsivara dongli seest otsida.

Mida tehti: püsivara RQR_012_005_00028.bin ekstraktiti püsivara värskendustööriista rakenduse kehast. Selle terviklikkuse kontrollimiseks ühendati dongle kontroller kaabliga ChipProg-48 programmeerijale:

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Kaabel Logitechi dongli ühendamiseks ChipProg 48 programmeerijaga

Püsivara terviklikkuse kontrollimiseks paigutati see edukalt kontrolleri mällu ja töötas õigesti, klaviatuur ja hiir ühendati Logitech Unifying kaudu dongliga. Muudetud püsivara on võimalik üles laadida standardse värskendusmehhanismi abil, kuna püsivara jaoks puuduvad krüptograafilised kaitsemehhanismid. Uurimise eesmärgil kasutasime füüsilist ühendust programmeerijaga, kuna nii on silumine palju kiirem.

Püsivara uurimine ja rünnak kasutaja sisendile

NRF24 kiip on konstrueeritud traditsioonilise Harvardi arhitektuuri Intel 8051 andmetöötlustuuma põhjal. Tuuma jaoks toimib transiiver välisseadmena ja paigutatakse aadressiruumi registrite komplektina. Kiibi ja lähtekoodi näidete dokumentatsiooni leiate Internetist, nii et püsivara lahtivõtmine pole keeruline. Pöördprojekteerimise käigus lokaliseerisime funktsioonid raadiokanalilt klahvivajutuste andmete vastuvõtmiseks ja nende HID-vormingusse teisendamiseks USB-liidese kaudu hostile edastamiseks. Süstimiskood paigutati vabadele mäluaadressidele, mis sisaldasid tööriistu juhtimise pealtkuulamiseks, algse täitmiskonteksti salvestamiseks ja taastamiseks, samuti funktsionaalset koodi.

Dongli poolt raadiokanalilt vastuvõetud võtme vajutamise või vabastamise pakett dekrüpteeritakse, teisendatakse standardseks HID-aruandeks ja saadetakse USB-liidesesse nagu tavaliselt klaviatuurilt. Uuringu osana pakub meile enim huvi HID-aruande osa HID-aruande osa, mis sisaldab modifikaatorilippude baiti ja 6-baidist massiivi koos klahvivajutuste koodidega (viide, teave HID-i kohta siin).

HID aruande struktuur:

// Keyboard HID report structure.
// See https://flylib.com/books/en/4.168.1.83/1/ (last access 2018 december)
// "Reports and Report Descriptors", "Programming the Microsoft Windows Driver Model"
typedef struct{
    uint8_t Modifiers;
    uint8_t Reserved;
    uint8_t KeyCode[6];
}HidKbdReport_t;

Vahetult enne HID-struktuuri hostile edastamist võtab sisestatud kood kontrolli enda kätte, kopeerib mällu 8 baiti natiivseid HID-andmeid ja saadab need kiirtekstina raadio külgkanalile. Koodis näeb see välja selline:

//~~~~~~~~~ Send data via radio ~~~~~~~~~~~~~~~~~~~~~~~~~>
// Profiling have shown time execution ~1.88 mSec this block of code
SaveRfState();                  // save transceiver state
RfInitForTransmition(TransmitRfAddress);        // configure for special trnsmition
hal_nrf_write_tx_payload_noack(pDataToSend,sizeof(HidKbdReport_t)); // Write payload to radio TX FIFO
CE_PULSE();                 // Toggle radio CE signal to start transmission
RestoreRfState();               // restore original transceiver state
//~~~~~~~~~ Send data via radio ~~~~~~~~~~~~~~~~~~~~~~~~~<

Külgkanal on korraldatud sagedusel, mille me määrame manipuleerimiskiiruse ja paketistruktuuri teatud omadustega.

Transiiveri töö kiibis NRF24 põhineb olekugraafikul, millesse on orgaaniliselt integreeritud Enhanced ShockBurst protokoll. Leidsime, et vahetult enne HID-andmete edastamist host-USB-liidesele oli transiiver IDLE-olekus. See võimaldab seda ohutult ümber konfigureerida töötama külgkanalis. Sisestatud kood katkestab juhtimise, säilitab transiiveri algse konfiguratsiooni täielikult ja lülitab selle külgkanalil uuele edastusrežiimile. Enhanced ShockBurst kinnitusmehhanism on selles režiimis keelatud; HID-andmed edastatakse selgel kujul õhu kaudu. Paketi struktuur külgkanalis on näidatud alloleval joonisel, signaali diagrammid saadi pärast demoduleerimist ja enne andmekella sünkroniseerimise taastamist. Aadressi väärtus valiti paki visuaalse tuvastamise hõlbustamiseks.

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Demoduleeritud sarivõtte signaal külgkanalis

Pärast paketi edastamist külgkanalile taastab sisestatud kood transiiveri oleku. Nüüd on see taas valmis algse püsivara kontekstis normaalselt töötama.

Sagedus- ja aeg-sageduspiirkonnas näeb külgkanal välja järgmine:

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Külgkanali spektraalne ja aeg-sageduslik esitus

Modifitseeritud püsivaraga NRF24 kiibi töö testimiseks panime kokku aluse, mis sisaldas muudetud püsivaraga Logitechi donglit, juhtmevaba klaviatuuri ja Hiina mooduli baasil kokku pandud vastuvõtjat NRF24 kiibiga.

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Logitechi juhtmevaba klaviatuuri raadiosignaali pealtkuulamise ahel

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

NRF24 põhinev moodul

Pingil, kui klaviatuur töötas normaalselt, jälgisime pärast selle ühendamist Logitechi dongliga selgete andmete edastamist klahvivajutuste kohta külgmises raadiokanalis ja krüpteeritud andmete tavalist edastamist raadio põhiliideses. Seega saime pakkuda kasutaja klaviatuurisisendi otsest pealtkuulamist:

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Klaviatuurisisendi pealtkuulamise tulemus

Sisestatud kood põhjustab dongli püsivara töös väikeseid viivitusi. Need on aga liiga väikesed, et kasutaja neid märkaks.

Nagu võite ette kujutada, saab selle ründevektori jaoks kasutada mis tahes Logitechi klaviatuuri, mis ühildub Unifying-tehnoloogiaga. Kuna rünnak on suunatud enamiku Logitechi klaviatuuridega kaasas olevale Unifying-vastuvõtjale, ei sõltu see konkreetsest klaviatuurimudelist.

Järeldus

Uuringu tulemused viitavad vaadeldava stsenaariumi võimalikule kasutamisele ründajate poolt: kui häkker asendab ohvri Logitechi juhtmevaba klaviatuuri dongle-vastuvõtjaga, saab ta koos kõige järgnevaga teada ohvri kontode paroolid. tagajärjed. Ärge unustage, et on võimalik sisestada ka klahvivajutused, mis tähendab, et suvalise koodi käivitamine ohvri arvutis pole keeruline.

Mis siis, kui ründaja saab äkitselt USB kaudu mis tahes Logitechi dongli püsivara kaugjuhtimisega muuta? Seejärel saate tihedalt asetsevate donglite abil luua repiiterite võrgu ja suurendada lekkekaugust. Kuigi "rahaliselt jõukas" ründaja suudab klaviatuuri sisendit "kuulata" ja klahve vajutada isegi naaberhoonest, võimaldavad kaasaegsed raadiovastuvõtuseadmed, millel on väga selektiivsed süsteemid, tundlikud raadiovastuvõtjad lühikese sageduse häälestusajaga ja väga suunaga antennid. klaviatuuri sisendi "kuulamiseks" ja klahvide vajutamiseks isegi naaberhoonest.

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Professionaalsed raadioseadmed

Kuna Logitechi klaviatuuri juhtmevaba andmeedastuskanal on üsna hästi kaitstud, nõuab leitud ründevektor füüsilist ligipääsu vastuvõtjale, mis piirab ründajat suuresti. Ainus kaitsevõimalus oleks sel juhul kasutada vastuvõtja püsivara jaoks krüptograafilisi kaitsemehhanisme, näiteks kontrollides vastuvõtja poolel laaditud püsivara allkirja. Kuid kahjuks NRF24 seda ei toeta ja praeguse seadme arhitektuuri raames on kaitset võimatu rakendada. Nii et hoolitsege oma donglite eest, sest kirjeldatud rünnakuvõimalus nõuab neile füüsilist juurdepääsu.

Hoolitse oma donglite eest: Logitechi klaviatuuri vastuvõtja ohutusuuring

Raccoon Security on Vulcani uurimis- ja arenduskeskuse ekspertide meeskond praktilise infoturbe, krüptograafia, vooluringide disaini, pöördprojekteerimise ja madala taseme tarkvara loomise valdkonnas.

Allikas: www.habr.com

Lisa kommentaar