Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Histories gebruik die meeste werknemers Logitech draadlose sleutelborde en muise. Weereens deur ons wagwoorde in te voer, het ons, die spesialiste van die Raccoon Security-span, onsself gevra: hoe moeilik is dit om die sekuriteitsmeganismes van draadlose sleutelborde te omseil? Die navorsing wat gedoen is, het argitektoniese foute en sagtewarefoute aan die lig gebring wat toegang tot die invoerdata moontlik maak. Onder die sny - wat ons gekry het.

Hoekom Logitech?

Na ons mening is Logitech-invoertoestelle van die hoogste gehalte en gerieflikste. Die meeste van die toestelle wat ons het, is gebaseer op die Logitech-oplossing verenigende is 'n universele dongle-ontvanger waarmee jy tot 6 toestelle kan koppel. Alle toestelle wat versoenbaar is met Logitech Unifying-tegnologie is met die ooreenstemmende logo gemerk. Maklik om te gebruik приложение laat jou toe om die verbinding van draadlose sleutelborde aan jou rekenaar te bestuur. Die proses om die sleutelbord aan die Logitech-dongle-ontvanger te koppel, sowel as die tegnologie self, word in detail gedek, byvoorbeeld, hier.

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Logitech Unifying Dongle-ontvanger

Die sleutelbord kan 'n bron van inligting vir indringers word. Logitech, met inagneming van die moontlike bedreiging, het gesorg vir sekuriteit - het die AES128-koderingsalgoritme in die radiokanaal van die draadlose sleutelbord toegepas. Die eerste gedagte wat 'n aanvaller in hierdie situasie kan besoek, is die onderskepping van sleutelinligting tydens die oordrag daarvan oor die lug tydens die bindende prosedure. As jy immers 'n sleutel het, kan jy die radioseine van die sleutelbord onderskep en dekripteer. Dit is egter baie skaars (of nooit) dat 'n gebruiker 'n sleutelbord met 'n Unifying-prosedure bind, en 'n kuberkraker met 'n skandeerradio sal lank moet wag. Boonop is alles nie so eenvoudig met die onderskeppingsproses self nie. In die jongste studie in Junie 2019 het sekuriteitskenner Markus Mengs aanlyn gepubliseer die boodskap oor die ontdekking van 'n kwesbaarheid in die ou firmware van Logitech USB-dongles. Dit laat aanvallers met fisiese toegang tot toestelle toe om radiokanaal-enkripsiesleutels te verkry en toetsaanslagen in te spuit (CVE-2019-13054).

Ons dek ons ​​sekuriteitstudie van 'n Logitech-dongle gebaseer op Nordic Semiconductor se NRF24 SoC. En kom ons begin miskien by die radiokanaal self.

Hoe data in die radiokanaal "vlieg".

Vir tyd-frekwensie-analise van die radiosein het ons 'n SDR-ontvanger gebruik gebaseer op die Blade-RF-toestel in spektrumontledermodus (jy kan ook hieroor lees hier).

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

SDR Blade-RF-toestel

Ons het ook die moontlikheid oorweeg om kwadrature van die radiosein teen 'n intermediêre frekwensie op te neem om dit dan te ontleed deur gebruik te maak van digitale seinverwerkingsmetodes.

Staatskommissie vir Radiofrekwensies in die Russiese Federasie toegelaat vir gebruik deur kortafstandtoestelle in die frekwensiereeks 2400-2483,5 MHz. Dit is 'n baie "bevolkte" reeks, waarin jy niks sal vind nie: Wi-Fi, Bluetooth, allerhande afstandbeheerders, sekuriteitstelsels, draadlose detektors, muise met sleutelborde en ander draadlose digitale toestelle.

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

2,4 GHz-bandspektrum

Die steuringsituasie in die reeks is taamlik ingewikkeld. Ten spyte hiervan was Logitech in staat om betroubare en stabiele ontvangs te verskaf deur die Enhanced ShockBurst-protokol in die NRF24-senderontvanger in kombinasie met frekwensie-aanpassingsalgoritmes te gebruik.

Die kanale in die band word op heelgetal MHz-posisies geplaas soos gedefinieer in spesifikasies NRF24 Nordic Semiconductor - totaal 84 kanale in die frekwensierooster. Die aantal frekwensiekanale wat gelyktydig deur Logitech gebruik word, is natuurlik minder. Ons het die gebruik van ten minste vier geïdentifiseer. As gevolg van die beperkte omvang van die seinspektrumontleder wat gebruik is, was dit nie moontlik om die presiese lys van frekwensieposisies wat gebruik is te bepaal nie, maar dit was nie nodig nie. Inligting vanaf die sleutelbord na die dongle-ontvanger word in Burst-modus versend (kort sender skakel aan) deur gebruik te maak van twee-posisie frekwensiemodulasie GFSK teen 'n simbooltempo van 1 Mbaud:

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Sleutelbord radio sein in tyd verteenwoordiging

Die ontvanger gebruik die korrelasiebeginsel van ontvangs, dus bevat die versendte pakkie 'n aanhef en 'n adresgedeelte. Foutkorrigerende kodering word nie toegepas nie, die dataliggaam word geïnkripteer met die AES128-algoritme.

Oor die algemeen kan die lugkoppelvlak van 'n Logitech-draadlose sleutelbord gekenmerk word as ten volle asinchroon met statistiese verdelingsmultipleksing en frekwensierespons. Dit beteken dat die sleutelbordsender die kanaal verander om elke nuwe pakkie te stuur. Die ontvanger weet nie vooraf of die uitsendingtyd of die frekwensiekanaal nie, maar slegs 'n lys daarvan. Die ontvanger en sender ontmoet op die kanaal danksy die ooreengekome frekwensie-omseil- en luisteralgoritmes, sowel as Verbeterde ShockBurst-erkenningsmeganismes. Ons het nie ondersoek of die kanaallys staties is nie. Waarskynlik is die verandering daarvan te wyte aan die frekwensie-aanpassingsalgoritme. Iets naby aan die PRCH-metode (pseudo-ewekansige afstemming van die bedryfsfrekwensie) word geraai in die gebruik van die frekwensiehulpbron van die reeks.

Dus, onder toestande van tyd-frekwensie-onsekerheid, om ontvangs van alle sleutelbordseine te waarborg, sal 'n aanvaller voortdurend die hele frekwensierooster van die reeks van 84 posisies moet monitor, wat aansienlike tydskoste vereis. Hier word dit duidelik waarom USB-sleutel onttrekking kwesbaarheid (CVE-2019-13054) in bronne Dit is geposisioneer as die moontlikheid om toetsaanslagen in te spuit, eerder as om toegang deur 'n aanvaller te verkry tot data wat vanaf die sleutelbord ingevoer word. Uiteraard is die radio-koppelvlak van die draadlose sleutelbord redelik kompleks en bied dit betroubare radiokommunikasie tussen Logitech-toestelle in 'n moeilike interferensie-omgewing in die 2,4 GHz-band.

'n Binne-blik op die probleem

Vir navorsing het ons een van ons beskikbare Logitech K330-sleutelborde en 'n Logitech Unifying-dongle gekies.

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Logitech K330

Kom ons kyk na binne die sleutelbord. 'n Interessante element op die bord vir navorsing is die SoC NRF24-skyfie van Nordic Semiconductor.

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

NRF24 SoC op Logitech K330 Wireless Keyboard Board

Die firmware is in die interne geheue geleë, die lees- en ontfoutingsmeganismes is afgeskakel. Ongelukkig is die firmware nie in oop bronne gepubliseer nie. Daarom het ons besluit om die probleem van die ander kant af te benader – om die interne inhoud van die Logitech-dongelontvanger te bestudeer.

Die "binnewêreld" van die dongle-ontvanger is nogal interessant. Die dongle word maklik uitmekaar gehaal, dra die NRF24 aan boord wat aan ons bekend is in vrystelling met 'n ingeboude USB-beheerder en kan beide vanaf die USB-kant en direk deur die programmeerder herprogrammeer word.

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Logitech-dongle sonder omhulsel

Aangesien daar 'n gereelde firmware-opdateringsmeganisme is wat gebruik word Firmware Update Tool (waaruit u die opgedateerde weergawe van die firmware kan onttrek), hoef u nie na die firmware in die dongle te soek nie.

Wat is gedoen: Die RQR_012_005_00028.bin-firmware is uit die liggaam van die Firmware Update Tool-toepassing onttrek. Om die integriteit daarvan na te gaan, is die donglebeheerder deur 'n lus verbind na die programmeerder ChipProg-48:

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Logitech dongle verbindingskabel vir ChipProg 48 programmeerder

Om die integriteit van die firmware te beheer, is dit suksesvol in die beheerder se geheue geplaas en het reg gewerk, die sleutelbord en muis is via Logitech Unifying aan die dongle gekoppel. Dit is moontlik om die gewysigde firmware op te laai met behulp van die standaard opdateringsmeganisme, aangesien daar geen kriptografiese beskermingsmeganismes vir die firmware is nie. Vir navorsingsdoeleindes het ons 'n fisiese verbinding met die programmeerder gebruik, aangesien ontfouting op hierdie manier baie vinniger is.

Firmware-ondersoek en aanval op gebruikersinvoer

Die NRF24-skyfie is ontwerp op grond van die Intel 8051-rekenaarkern in die tradisionele Harvard-argitektuur. Vir die kern dien die transceiver as 'n perifere toestel en is geleë in die adresruimte as 'n stel registers. Dokumentasie vir die skyfie en voorbeelde van bronkode kan op die internet gevind word, so dit is nie moeilik om die firmware uitmekaar te haal nie. In die loop van omgekeerde ingenieurswese het ons die funksies vir die ontvangs van toetsaanslagdata vanaf die radiokanaal gelokaliseer en dit in HID-formaat omgeskakel vir oordrag na die gasheer via die USB-koppelvlak. In vrye geheue-adresse is die inspuitingskode geplaas, wat instrumente ingesluit het om beheer te onderskep, die oorspronklike uitvoeringskonteks te stoor en te herstel, asook funksionele kode.

Die pakkie om 'n sleutel te druk of vry te stel wat deur die dongle vanaf die radiokanaal ontvang word, word gedekripteer, in 'n standaard HID-verslag omgeskakel en na die USB-koppelvlak gestuur soos vanaf 'n konvensionele sleutelbord. As deel van die studie is die deel van die HID-verslag wat die greep van wysigervlae en 'n verskeidenheid van 6 grepe met toetsaanslagkodes bevat van die grootste belang vir ons (vir verwysing, inligting oor HID hier).

HID-verslagstruktuur:

// 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;

Onmiddellik voordat die HID-struktuur aan die gasheer oorgedra word, ontvang die ingespuite kode beheer, kopieer 8 grepe van inheemse HID-data in die geheue en stuur dit in duidelike teks na die radiokantkanaal. In kode lyk dit so:

//~~~~~~~~~ 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 ~~~~~~~~~~~~~~~~~~~~~~~~~<

Die sykanaal is georganiseer teen die frekwensie wat deur ons gestel is met sekere kenmerke van die manipulasiespoed en pakkiestruktuur.

Werking van die transceiver in 'n chip NRF24 is gebaseer op 'n toestandgrafiek, waarin die Enhanced ShockBurst-protokol organies ingeskryf is. Ons het gevind dat die transceiver in die IDLE-toestand was net voordat die HID-data na die gasheer-USB-koppelvlak gestuur is. Dit maak dit moontlik om dit veilig te herkonfigureer vir sykanaalwerking. Die ingespuite kode oorheers beheer, behou die oorspronklike konfigurasie van die transceiver in sy geheel en plaas dit in 'n nuwe transmissiemodus op die sykanaal. Die Verbeterde ShockBurst-erkenningsmeganisme is in hierdie modus gedeaktiveer, HID-data word in duidelike teks oor die lug versend. Die struktuur van die pakkie in die sykanaal word in die figuur hieronder getoon, die sein plotte word verkry na demodulasie en voor data klok herstel. Die adreswaarde word gekies vir die gerief van visuele identifikasie van die pakkie.

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Gedemoduleerde Burst Burst Signal in die Sykanaal

Na die voltooiing van die oordrag van die pakkie na die sykanaal, herstel die ingespuite kode die toestand van die transceiver. Nou is dit gereed om weer normaal te werk in die konteks van die oorspronklike firmware.

In die frekwensie- en tydfrekwensiedomeine lyk die sykanaal so:

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Spektrale en tyd-frekwensie voorstelling van die sykanaal

Om die werking van die NRF24-skyfie met gewysigde firmware te toets, het ons 'n toetsbank saamgestel wat 'n Logitech-dongle met gewysigde firmware, 'n draadlose sleutelbord en 'n ontvanger saamgestel het op die basis van 'n Chinese module met 'n NRF24-skyfie ingesluit het.

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Logitech Wireless Keyboard Radio Intercept Diagram

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

NRF24-gebaseerde module

Op die bank, tydens normale werking van die sleutelbord nadat dit aan die Logitech-dongle gekoppel is, het ons die oordrag van oop data op toetsaanslagen in die syradiokanaal en die normale oordrag van geënkripteerde data in die hoofradio-koppelvlak waargeneem. Ons het dus daarin geslaag om direkte onderskepping van die gebruiker se sleutelbordinvoer te verskaf:

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Die resultaat van onderskepping van sleutelbordinvoer

Die ingespuite kode stel klein vertragings in die werking van die dongle-firmware in. Hulle is egter te klein vir die gebruiker om dit raak te sien.

Soos u verstaan, kan u vir so 'n aanvalsvektor enige Logitech-sleutelbord gebruik wat versoenbaar is met Unifying-tegnologie. Aangesien die aanval gerig is op die Unifying-ontvanger wat by die meeste Logitech-sleutelborde ingesluit is, is dit onafhanklik van die spesifieke sleutelbordmodel.

Gevolgtrekking

Die resultate van die studie dui daarop dat die scenario wat oorweeg word deur aanvallers gebruik kan word: as 'n kuberkraker die slagoffer vervang met 'n dongle-ontvanger vir 'n Logitech draadlose sleutelbord, sal hy die wagwoorde vir die slagoffer se rekeninge kan uitvind met al die daaropvolgende gevolge. Moenie vergeet dat dit ook moontlik is om toetsaanslagen in te spuit nie, wat beteken dat dit nie moeilik is om arbitrêre kode op die slagoffer se rekenaar uit te voer nie.

Wat as 'n aanvaller die firmware van enige Logitech-dongle op afstand via USB kan verander? Dan, vanaf dongles wat nou gespasieer is, kan jy 'n netwerk van herhalers byvoeg en die lekkasieafstand vergroot. Alhoewel moderne middele van radio-ontvangs met hoogs selektiewe stelsels, sal sensitiewe radio-ontvangers met 'n kort frekwensie-insteltyd en eng gerigte antennas 'n "finansieel veilige" aanvaller toelaat om na sleutelbordinvoer te "luister" en sleutels te druk selfs van 'n naburige gebou.

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Professionele radiotoerusting

Aangesien die draadlose dataskakel van die Logitech-sleutelbord redelik goed beskerm is, vereis die aanvalsvektor wat gevind word fisiese toegang tot die ontvanger, wat die aanvaller grootliks beperk. Die enigste beskermingsopsie in hierdie geval kan die gebruik van kriptografiese beskermingsmeganismes vir die ontvanger se firmware wees, byvoorbeeld verifikasie van die handtekening van die afgelaaide firmware aan die kant van die ontvanger. Maar ongelukkig ondersteun NRF24 dit nie, en dit is onmoontlik om beskerming binne die huidige toestelargitektuur te implementeer. Sorg dus vir jou dongles, want die beskryfde aanvalopsie vereis fisiese toegang daartoe.

Sorg vir jou dongles: Logitech Keyboard Receiver Safety Study

Raccoon Security is 'n toegewyde span Vulkan SBM-kundiges op die gebied van praktiese inligtingsekuriteit, kriptografie, stroombane, omgekeerde ingenieurswese en laevlak sagteware-ontwikkeling.

Bron: will.com

Voeg 'n opmerking