Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Histoarysk brûke de measte meiwurkers draadloze toetseboerden en mûzen fan Logitech. Troch ús wachtwurden nochris yn te fieren, fregen wy, de spesjalisten fan it Raccoon Security-team, ússels ôf: hoe lestich is it om de feiligensmeganismen fan draadloze toetseboerden te omgean? De stúdzje die bliken arsjitektoanyske gebreken en software flaters dy't tastean tagong ta ynfier gegevens. Under de besuniging is wat wy krigen.

Wêrom Logitech?

Neffens ús miening binne Logitech-ynputapparaten ûnder de heechste kwaliteit en it handichste. De measte fan 'e apparaten dy't wy hawwe binne basearre op de Logitech-oplossing gearbinende is in universele dongle ûntfanger wêrmei jo te ferbinen maksimaal 6 apparaten. Alle apparaten kompatibel mei Logitech Unifying technology binne markearre mei it Logitech Unifying technology logo. Maklik te brûken application Hjirmei kinne jo de ferbining fan draadloze toetseboerden nei jo kompjûter beheare. It proses fan it ferbinen fan it toetseboerd oan de Logitech-ûntfangerdongle, lykas de technology sels, wurdt behannele, bygelyks, hjir.

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Dongle-ûntfanger mei Logitech Unifying-stipe

It toetseboerd kin in boarne fan ynformaasje wurde foar oanfallers. Logitech, rekken hâldend mei de mooglike bedriging, soarge foar feiligens - brûkte it AES128-fersiferingsalgoritme yn it radiokanaal fan it draadloze toetseboerd. De earste gedachte dy't in oanfaller yn dizze situaasje kin hawwe is om wichtige ynformaasje te ûnderskeppen as it wurdt oerbrocht oer in radiokanaal tidens de binende proseduere. Ommers, as jo in kaai hawwe, kinne jo de radiosinjalen fan it toetseboerd ûnderskeppe en se ûntsiferje. De brûker moat lykwols selden (of sels nea) it toetseboerd ferienigje, en in hacker mei in skennende radio sil lang wachtsje moatte. Derneist is net alles sa ienfâldich mei it ûnderskeppingsproses sels. Yn 'e lêste stúdzje yn juny 2019 publisearre befeiligingsekspert Markus Mengs online berjocht oer de ûntdekking fan in kwetsberens yn âlde firmware fan Logitech USB-dongles. It lit oanfallers mei fysike tagong ta apparaten fersiferingskaaien foar radiokanaal krije en toetsoanslaggen ynjeksje (CVE-2019-13054).

Wy sille prate oer ús feiligensstúdzje fan 'e Logitech-dongle basearre op de NRF24 SoC fan Nordic Semiconductor. Litte wy miskien begjinne mei it radiokanaal sels.

Hoe gegevens "fleane" yn in radiokanaal

Foar tiid-frekwinsje-analyze fan it radiosinjaal brûkten wy in SDR-ûntfanger basearre op it Blade-RF-apparaat yn spektrumanalysatormodus (jo kinne ek lêze oer dit hjir).

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

SDR Blade-RF-apparaat

Wy hawwe ek de mooglikheid beskôge om kwadraturen fan it radiosinjaal op te nimmen op in tuskenfrekwinsje, dy't dan kinne wurde analysearre mei help fan digitale sinjaalferwurkingstechniken.

Steatskommisje foar radiofrekwinsjes yn 'e Russyske Federaasje tastien foar gebrûk troch apparaten mei koarte berik is it frekwinsjeberik 2400–2483,5 MHz. Dit is in tige "befolke" berik, wêryn jo neat fine: Wi-Fi, Bluetooth, alle soarten ôfstânkontrôles, feiligenssystemen, draadloze detektors, mûzen mei toetseboerd en oare draadloze digitale apparaten.

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Spektrum fan de 2,4 GHz-band

De ynterferinsjeomjouwing yn it berik is frij kompleks. Nettsjinsteande dit koe Logitech betroubere en stabile ûntfangst leverje troch it brûken fan it Enhanced ShockBurst-protokol yn 'e NRF24-transceiver yn kombinaasje mei frekwinsje-oanpassingsalgoritmen.

Kanalen yn in band wurde pleatst op integer MHz posysjes lykas definiearre yn spesifikaasjes NRF24 Nordic Semiconductor - in totaal fan 84 kanalen yn it frekwinsjeraster. It oantal tagelyk brûkte frekwinsjekanalen troch Logitech is fansels minder. Wy identifisearre it gebrûk fan op syn minst fjouwer. Troch de beheinde bânbreedte fan it brûkte sinjaalspektrumanalysator koe de krekte list fan brûkte frekwinsjeposysjes net bepaald wurde, mar dit wie net nedich. Ynformaasje fan it toetseboerd nei de ûntfanger dongle wurdt oerdroegen yn Burst modus (koarte bochten op de stjoerder) mei help fan twa-posysje frekwinsje modulaasje GFSK by in symboal taryf fan 1 Mbaud:

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Toetseboerd radio sinjaal yn tiid fertsjintwurdiging

De ûntfanger brûkt it korrelaasjeprinsipe fan ûntfangst, sadat it útstjoerde pakket in preambule en in adresdiel befettet. Noise-resistant kodearring wurdt net brûkt; it gegevens lichem is fersifere mei it AES128-algoritme.

Yn 't algemien kin de radio-ynterface fan it Logitech-draadloze toetseboerd wurde karakterisearre as folslein asynchronysk mei statistyske multiplexing en frekwinsje-oanpassing. Dit betsjut dat de toetseboerdstjoerder it kanaal skeakelt om elk nij pakket te ferstjoeren. De ûntfanger wit net fan tefoaren noch de oerdracht tiid of it frekwinsje kanaal, mar allinnich harren list is bekend. De ûntfanger en de stjoerder treffe yn it kanaal troch koördinearre frekwinsje-bypass- en harkalgoritmen, lykas Enhanced ShockBurst-erkenningsmeganismen. Wy hawwe net ûndersocht oft de kanaallist statysk is. Wierskynlik is syn feroaring te tankjen oan it frekwinsje-oanpassingsalgoritme. Iets ticht by de metoade fan frekwinsje hopping (pseudo-willekeurich ôfstimmen fan de bestjoeringsfrekwinsje) kin sjoen wurde yn it brûken fan de frekwinsje boarne fan it berik.

Sa, ûnder betingsten fan tiid-frekwinsje ûnwissichheid, te garandearjen de ûntfangst fan alle toetseboerd sinjalen garandearre, in oanfaller sil moatte konstant tafersjoch op it hiele frekwinsje raster fan 84 posysjes, dat fereasket in grutte hoemannichte tiid. Hjir wurdt dúdlik wêrom't de kwetsberens foar ekstraksje fan USB-kaaien (CVE-2019-13054) yn boarnen gepositioneerd as de mooglikheid om toetsoanslagen te ynjeksje, ynstee fan tagong fan in oanfaller te krijen ta gegevens ynfierd fan it toetseboerd. Fansels is de radio-ynterface fan it draadloze toetseboerd frij kompleks en leveret betroubere radiokommunikaasje tusken Logitech-apparaten yn drege ynterferinsjebetingsten yn 'e 2,4 GHz-band.

In blik op it probleem fan binnen

Foar ús stúdzje hawwe wy ien fan ús besteande Logitech K330-toetseboerden keazen en in Logitech Unifying-dongle.

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Logitech K330

Litte wy ris yn it toetseboerd sjen. In nijsgjirrich elemint op it boerd om te studearjen is de SoC NRF24-chip fan Nordic Semiconductor.

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

SoC NRF24 op Logitech K330 draadloos toetseboerd

De firmware leit yn ynterne ûnthâld, lêzen en debuggen meganismen binne útskeakele. Spitigernôch is de firmware net publisearre yn iepen boarnen. Dêrom besleaten wy it probleem fan 'e oare kant te benaderjen - om de ynterne ynhâld fan' e Logitech dongle-ûntfanger te studearjen.

De "ynderlike wrâld" fan 'e dongle-ûntfanger is heul ynteressant. De dongle is maklik te disassemble, draacht oan board de bekende NRF24-release mei in ynboude USB-controller en kin wurde herprogrammearre sawol fan 'e USB-kant as direkt fan' e programmeur.

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Logitech dongle sûnder húsfesting

Sûnt der is in standert meganisme foar it bywurkjen fan de firmware brûkend Firmware Update Tool applikaasjes (wêrfan jo de bywurke firmwareferzje kinne ekstrahearje), is it net nedich om te sykjen nei de firmware yn 'e dongle.

Wat waard dien: firmware RQR_012_005_00028.bin waard helle út it lichem fan 'e applikaasje Firmware Update Tool. Om de yntegriteit te kontrolearjen, waard de donglekontrôler ferbûn mei in kabel nei de ChipProg-48-programmeur:

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Kabel foar it ferbinen fan de Logitech dongle oan de ChipProg 48 programmer

Om de yntegriteit fan 'e firmware te kontrolearjen, waard it mei súkses pleatst yn it ûnthâld fan' e controller en wurke goed, it toetseboerd en de mûs waarden ferbûn mei de dongle fia Logitech Unifying. It is mooglik om wizige firmware te uploaden mei it standert updatemeganisme, om't d'r gjin kryptografyske beskermingsmeganismen binne foar de firmware. Foar ûndersyksdoelen brûkten wy in fysike ferbining mei de programmeur, om't debuggen op dizze manier folle flugger is.

Firmwareûndersyk en oanfal op brûkersynput

De NRF24-chip is ûntworpen basearre op de Intel 8051-komputerkearn yn tradisjonele Harvard-arsjitektuer. Foar de kearn fungearret de transceiver as in perifeare apparaat en wurdt yn 'e adresromte pleatst as in set fan registers. Dokumintaasje foar de chip en boarne koade foarbylden kinne fûn wurde op it ynternet, dus disassembly de firmware is net dreech. Tidens reverse engineering hawwe wy de funksjes lokalisearre foar it ûntfangen fan toetsoanslaggegevens fan it radiokanaal en it konvertearjen yn HID-formaat foar oerdracht nei de host fia de USB-ynterface. De ynjeksjekoade waard pleatst yn fergese ûnthâldadressen, dy't ark omfette foar it ûnderskeppen fan kontrôle, bewarjen en werstellen fan 'e orizjinele útfieringskontekst, lykas ek funksjonele koade.

It pakket fan drukken of loslitte fan in kaai ûntfongen troch de dongle fan it radiokanaal wurdt ûntsifere, omboud ta in standert HID-rapport en stjoerd nei de USB-ynterface as fan in gewoan toetseboerd. As ûnderdiel fan 'e stúdzje is it diel fan it HID-rapport dat ús it meast ynteressant is it diel fan it HID-rapport dat in byte fan modifikaasjeflaggen befettet en in array fan 6 bytes mei toetsoanslagkoades (foar referinsje, ynformaasje oer HID hjir).

HID rapportstruktuer:

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

Fuort foar it ferstjoeren fan de HID-struktuer nei de host, nimt de ynjeksjede koade kontrôle, kopiearret 8 bytes fan native HID-gegevens yn it ûnthâld en stjoert it nei it radiosidekanaal yn dúdlike tekst. Yn koade sjocht it der sa út:

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

It sydkanaal wurdt organisearre op in frekwinsje dy't wy ynstelle mei bepaalde skaaimerken fan 'e manipulaasjesnelheid en pakketstruktuer.

Operaasje fan de transceiver yn 'e chip NRF24 is basearre op in steatsgrafyk wêryn it Enhanced ShockBurst-protokol organysk yntegreare is. Wy fûnen dat fuortendaliks foardat HID-gegevens nei de USB-ynterface fan 'e host wie, de transceiver yn' e IDLE-status wie. Dit makket it mooglik om it feilich opnij te konfigurearjen om te operearjen yn in sydkanaal. De ynjeksje koade ûndersiket kontrôle, behâldt de orizjinele transceiverkonfiguraasje folslein en skeakelt it nei in nije oerdrachtmodus op it sydkanaal. It Enhanced ShockBurst-befêstigingsmeganisme is yn dizze modus útskeakele; HID-gegevens wurde yn dúdlike foarm oer de loft oerbrocht. De struktuer fan it pakket yn 'e kant kanaal wurdt werjûn yn' e figuer hjirûnder, de sinjaal diagrammen waarden krigen nei demodulation en foar de restauraasje fan gegevens klok syngronisaasje. De adreswearde waard keazen foar it gemak fan fisuele identifikaasje fan it pakket.

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Demodulated Burst Burst Signal yn Side Channel

Nei it pakket wurdt oerbrocht nei it sydkanaal, herstelt de ynjeksjede koade de steat fan 'e transceiver. No is it wer klear om normaal te wurkjen yn 'e kontekst fan' e orizjinele firmware.

Yn 'e frekwinsje- en tiidfrekwinsjedomeinen sjocht it sydkanaal der sa út:

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Spektral- en tiidfrekwinsjefoarstelling fan it sydkanaal

Om de wurking fan 'e NRF24-chip mei wizige firmware te testen, hawwe wy in stand gearstald dy't in Logitech-dongle mei wizige firmware, in draadloze toetseboerd en in ûntfanger gearstald op basis fan in Sineeske module mei de NRF24-chip omfette.

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Logitech draadloze toetseboerd radio sinjaal ûnderskepping circuit

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

NRF24 basearre module

Op 'e bank, mei it toetseboerd normaal operearjend, nei it ferbinen mei de Logitech-dongle, hawwe wy de oerdracht fan dúdlike gegevens oer toetsoanslaggen yn it sydradiokanaal en de normale oerdracht fan fersifere gegevens yn' e haadradio-ynterface observearre. Sa koene wy ​​​​direkte ûnderskepping fan brûkerstoetseboerdynput leverje:

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

It resultaat fan it ûnderskeppen fan toetseboerdynput

De ynjeksjede koade yntroduseart lichte fertragingen yn 'e wurking fan' e dongle-firmware. Se binne lykwols te lyts foar de brûker om te merken.

Lykas jo jo kinne foarstelle, kin elk Logitech-toetseboerd dat kompatibel is mei Unifying-technology brûkt wurde foar dizze oanfalsvektor. Sûnt de oanfal is rjochte op de Unifying-ûntfanger opnommen mei de measte Logitech-toetseboerden, is it ûnôfhinklik fan it spesifike toetseboerdmodel.

konklúzje

De resultaten fan 'e stúdzje suggerearje it mooglike gebrûk fan it beskôge senario troch oanfallers: as in hacker it slachtoffer ferfangt mei in dongle-ûntfanger foar in Logitech-draadloos toetseboerd, dan sil hy de wachtwurden kinne fine foar de akkounts fan it slachtoffer mei alle folgjende gefolgen. Ferjit net dat it ek mooglik is om toetsoanslagen te ynjeksje, wat betsjut dat it net dreech is om willekeurige koade út te fieren op 'e kompjûter fan it slachtoffer.

Wat as in oanfaller ynienen de firmware fan elke Logitech-dongle fia USB kin wizigje? Dan kinne jo fan dongles dy't ticht byinoar binne, in netwurk fan repeaters oanmeitsje en de lekôfstân ferheegje. Hoewol in "finansjeel rike" oanfaller kin "harkje" nei toetseboerdynput en toetsen drukke sels fan in oanbuorjende gebou, sille moderne radio-ûntfangstapparatuer mei heul selektive systemen, gefoelige radio-ûntfangers mei koarte frekwinsje-ôfstimmingstiden en tige rjochtingsantennes har tastean om "harkje" nei toetseboerdynput en drukke op toetsen sels út in oanbuorjende gebou.

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Profesjonele radioapparatuer

Sûnt it draadloze datatransmissionkanaal fan it Logitech-toetseboerd frij goed beskerme is, fereasket de fûn oanfalsvektor fysike tagong ta de ûntfanger, wat de oanfaller sterk beheint. De ienige beskermingsopsje yn dit gefal soe wêze om kryptografyske beskermingsmeganismen te brûken foar de firmware fan 'e ûntfanger, bygelyks it kontrolearjen fan de hantekening fan' e laden firmware oan 'e ûntfangerkant. Mar, spitigernôch, NRF24 stipet dit net en it is ûnmooglik om beskerming te ymplementearjen binnen de hjoeddeistige apparaatarsjitektuer. Soarch dus foar jo dongles, om't de beskreaune oanfalsopsje fysike tagong ta har fereasket.

Soarch foar jo dongles: Logitech toetseboerdûntfanger feiligensstúdzje

Raccoon Security is in spesjaal team fan saakkundigen fan it Vulcan Research and Development Center op it mêd fan praktyske ynformaasjefeiligens, kryptografy, circuitûntwerp, reverse engineering en software-skepping op leech nivo.

Boarne: www.habr.com

Add a comment