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
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
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
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
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
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)
'n Binne-blik op die probleem
Vir navorsing het ons een van ons beskikbare Logitech K330-sleutelborde en 'n Logitech Unifying-dongle gekies.
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.
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.
Logitech-dongle sonder omhulsel
Aangesien daar 'n gereelde firmware-opdateringsmeganisme is wat gebruik word
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
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
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
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:
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.
Logitech Wireless Keyboard Radio Intercept Diagram
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:
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.
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.
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