Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Historie, plej multaj dungitoj uzas sendratajn klavarojn kaj musojn de Logitech. Denove, enmetante niajn pasvortojn, ni - la specialistoj de la teamo Raccoon Security - demandis al ni mem: kiom malfacile estas preteriri la protektajn mekanismojn de sendrataj klavaroj? La farita esplorado rivelis arkitekturajn difektojn kaj programarajn erarojn, kiuj permesas aliron al la enmetitaj datumoj. Sub la tranĉo - kion ni ricevis.

Kial Logitech?

Laŭ nia opinio, la enigaj aparatoj de Logitech estas inter la plej bonkvalitaj kaj plej oportunaj. La plej multaj el la aparatoj, kiujn ni havas, baziĝas sur la solvo de Logitech. Unuiganta – estas universala ricevilo, kiu permesas al vi konekti ĝis 6 aparatojn. Ĉiuj aparatoj kongruaj kun la teknologio Logitech Unifying estas markitaj per la koncerna emblemo. Facile uzebla приложение permesas al vi administri la konekton de sendrataj klavaroj al via komputilo. La procezo de konekto de klavaro al Logitech-adaptilo, same kiel la teknologio mem, estas detale kovritaj, ekzemple, tie.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Logitech Unifying Dongle Ricevilo

La klavaro povas fariĝi fonto de informoj por entrudiĝintoj. Logitech, konsiderante la eblan minacon, zorgis pri sekureco - ĝi uzis la ĉifradan algoritmon AES128 en la radiokanalo de la sendrata klavaro. La unua penso, kiu povas veni al entrudiĝinto en ĉi tiu situacio, estas la interkapto de ŝlosilaj informoj kiam ili estas transdonitaj tra la radiokanalo dum la pariĝa proceduro. Fine, se vi havas la ŝlosilon, vi povas interkapti la radiosignalojn de la klavaro kaj deĉifri ilin. Tamen, la uzanto tre malofte (aŭ eĉ neniam) devas pariĝi la klavaron kun la Unifying-proceduro, kaj hakisto kun skana radioricevilo devos atendi longe. Krome, ne ĉio estas tiel simpla kun la interkapta procezo mem. En la plej nova studo en junio 2019, sekureca spertulo Marcus Mengs publikigis interrete... сообщение pri la malkovro de vundebleco en malnova firmvaro de Logitech USB-adaptiloj. Ĝi permesas al atakantoj kun fizika aliro al la aparatoj akiri ĉifroŝlosilojn de radiokanaloj kaj injekti klavopremojn (CVE-2019-13054).

Ni rakontos al vi pri nia esplorado pri la sekureco de la Logitech-adaptilo bazita sur la NRF24 SoC de Nordic Semiconductor. Ni komencu per la radiokanalo mem.

Kiel datumoj "flugas" en radiokanalo

Por frekvenc-tempa analizo de la radiosignalo, ni uzis SDR-ricevilon bazitan sur la aparato Blade-RF en spektra analizilo (vi ankaŭ povas legi pri tio ĉi tie) tie).

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

SDR Klingo-RF Aparato

Ni ankaŭ konsideris la eblecon registri la kvadraturojn de la radiosignalo ĉe la meza frekvenco, por poste analizi ilin per ciferecaj signal-prilaboraj teknikoj.

Ŝtata Komisiono pri Radiofrekvencoj en la Rusia Federacio permesita por uzo per mallongdistancaj aparatoj, la frekvenca gamo estas 2400–2483,5 MHz. Ĉi tiu estas tre "populata" gamo, en kiu oni povas trovi ĉion: Wi-Fi, Bluetooth, ĉiuspecajn teleregilojn, sekursistemojn, sendratajn detektilojn, musojn kun klavaroj kaj aliajn sendratajn ciferecajn aparatojn.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Spektro de la 2,4 GHz-bendo

La interfera medio en la distanco estas sufiĉe kompleksa. Tamen, malgraŭ tio, Logitech sukcesis provizi fidindan kaj stabilan ricevon uzante la protokolon Enhanced ShockBurst en la NRF24-ricevilo kombine kun frekvenc-adaptigaj algoritmoj.

La kanaloj en la intervalo estas metitaj ĉe entjeraj MHz-pozicioj kiel difinite en specifoj NRF24 Nordic Semiconductor – nur 84 kanaloj en la frekvenca krado. La nombro de samtempe uzataj frekvencaj kanaloj fare de Logitech estas, kompreneble, malpli. Ni trovis almenaŭ kvar uzatajn. Pro la limigita bendlarĝo de la aplikata signala spektra analizilo, ne eblis determini la precizan liston de uzataj frekvencaj pozicioj, sed ne necesis fari tion. Informoj de la klavaro al la adaptilo-ricevilo estas transdonitaj en Eksploda reĝimo (mallonga ŝaltado de la sendilo) uzante du-pozician frekvencan moduladon GFSK je simbola rapido de 1 Mbaŭdo:

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Klavara radiosignalo en temporeprezentado

La ricevilo uzas la korelacian principon de ricevo, do la sendita pakaĵeto enhavas preambulon kaj adresan parton. Bruorezista kodado ne estas uzata, la datenkorpo estas ĉifrita per la algoritmo AES128.

Ĝenerale, la radiointerfaco de la sendrata klavaro Logitech povas esti karakterizita kiel plene nesinkrona kun statistika multipleksado kaj frekvenca adaptado. Tio signifas, ke la klavardissendilo ŝanĝas la kanalon por sendi ĉiun novan pakaĵeton. La ricevilo ne scias la dissendotempon aŭ la frekvencan kanalon anticipe, sed nur ilian liston. La ricevilo kaj sendilo renkontiĝas en la kanalo danke al kunordigitaj algoritmoj por preteriri kaj aŭskulti frekvencojn, same kiel al konfirmaj mekanismoj de Enhanced ShockBurst. Ni ne esploris ĉu la kanallisto estas statika. Probable, ĝia ŝanĝo ŝuldiĝas al la frekvenca adapta algoritmo. Io simila al la frekvenca saltado (pseŭdohazarda frekvenca saltado) estas divenata en la uzo de la frekvenca rimedo de la gamo.

Tiel, en kondiĉoj de frekvenc-tempa necerteco, por garantii la ricevon de ĉiuj klavarsignaloj, atakanto devos konstante monitori la tutan frekvencan kradon de la 84-pozicia gamo, kio postulas signifajn tempo-elspezojn. Ĉi tie klariĝas kial la vundebleco pri eltiro de USB-ŝlosilo (CVE-2019-13054) en fontoj estas poziciigita kiel ebleco enmeti klavopremojn, kaj ne por akiri aliron fare de entrudulo al la datumoj enigitaj de la klavaro. Estas evidente, ke la radiointerfaco de la sendrata klavaro estas sufiĉe kompleksa kaj provizas fidindan radiokomunikadon inter Logitech-aparatoj en malfacilaj interferkondiĉoj en la 2,4 GHz-frekvenco.

Rigardo al la problemo de interne

Por nia esplorado, ni elektis unu el niaj ekzistantaj klavaroj Logitech K330 kaj Logitech Unifying-adaptilon.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Logitech K330

Ni rigardu la internon de la klavaro. Interesa elemento por ekzameni sur la tabulo estas la SoC NRF24-ĉipo de Nordic Semiconductor.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

NRF24 SoC sur Logitech K330 Sendrata Klavarplato

La firmvaro troviĝas en la interna memoro, la legado kaj sencimigo estas malŝaltitaj. Bedaŭrinde, la firmvaro ne estas publikigita en malfermaj fontoj. Tial ni decidis alproksimiĝi al la problemo el alia perspektivo - studi la internan enhavon de la Logitech-adaptilo-ricevilo.

La "interna mondo" de la ricevilo estas sufiĉe interesa. La adaptilo estas facile malmuntebla, portas la konatan NRF24 en la eldono kun enkonstruita USB-regilo kaj povas esti reprogramita kaj de la USB-flanko kaj rekte fare de la programisto.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Logitech-adaptilo sen enfermaĵo

Ĉar ekzistas norma mekanismo por ĝisdatigi la firmvaron uzante Aplikaĵoj de Firmware Update Tool (el kiu vi povas eltiri la ĝisdatigitan version de la firmvaro), ne necesas serĉi la firmvaron ene de la adaptilo.

Kio estis farita: la firmvaro RQR_012_005_00028.bin estis eltirita el la korpo de la aplikaĵo Firmware Update Tool. Por kontroli ĝian integrecon, la adaptilo estis konektita per rubanda kablo. al la programisto ChipProg-48:

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Kablo por konekti Logitech-adaptilon al ChipProg 48-programilo

Por kontroli la integrecon de la firmvaro, ĝi estis sukcese metita en la memoron de la regilo kaj funkciis ĝuste, la klavaro kaj muso estis konektitaj al la adaptilo per Logitech Unifying. Eblas alŝuti modifitan firmvaron uzante la norman ĝisdatigan mekanismon, ĉar ne ekzistas kriptografiaj firmvaraj protektaj mekanismoj. Por la celoj de la studo, ni uzis fizikan konekton al la programilo, ĉar tio multe plirapidigas la sencimigon.

Firmvara Esplorado kaj Uzanto-Eniga Atako

La ĉipo NRF24 estas desegnita surbaze de la komputila kerno Intel 8051 en la tradicia Harvard-arkitekturo. Por la kerno, la ricevilo agas kiel periferia aparato kaj estas metita en la adresspacon kiel aro da registroj. La dokumentado por la ĉipo kaj ekzemploj de fonttekstoj troveblas en la Interreto, do malmunti la firmvaron ne estas malfacile. Dum inversa inĝenierado, ni lokalizis la funkciojn de ricevado de klavopremaj datumoj de la radiokanalo kaj konvertado de ili al la HID-formato por transdono al la gastiganto per la USB-interfaco. Injekta kodo estis metita en liberajn memoradresojn, kiuj inkluzivis ilojn por interkapti kontrolon, konservi kaj restarigi la originalan plenumkuntekston, same kiel funkcian kodon.

La klavoprema aŭ klavoliberiga pakaĵo ricevita de la adaptilo de la radiokanalo estas malĉifrita, konvertita en norman HID-raporton kaj sendita al la USB-interfaco kvazaŭ de normala klavaro. En la kunteksto de la studo, la parto de la HID-raporto, kiu plej interesas nin, estas tiu, kiu enhavas la modifilan flagbajton kaj la 6-bajtan aron kun klavopremaj kodoj (por referenco, vidu informojn pri HID). tie).

Strukturo de HID-raporto:

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

Ĵus antaŭ ol la HID-strukturo estas transdonita al la gastiganto, la injektita kodo prenas kontrolon, kopias 8 bajtojn da denaskaj HID-datumoj en la memoron, kaj sendas ilin al la flanka radiokanalo en klarteksto. En la kodo, ĝi aspektas jene:

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

La flanka kanalo estas organizita je frekvenco, kiun ni difinis, kun certaj karakterizaĵoj de manipula rapido kaj pakaĵostrukturo.

Funkciado de la ricevilo en la ĉipo NRF24 baziĝas sur statografo, kiu organike integras la protokolon Enhanced ShockBurst. Ni malkovris, ke tuj antaŭ la transdono de HID-datumoj al la gastiga USB-interfaco, la ricevilo estis en la IDLE-stato. Ĉi tio ebligas sekure rekonfiguri ĝin por operacio en la flanka kanalo. La injektita kodo kaptas la kontrolon, plene konservas la originalan agordon de la ricevilo, kaj ŝaltas ĝin al nova transdona reĝimo sur la flanka kanalo. La konfirma mekanismo Enhanced ShockBurst estas malŝaltita en ĉi tiu reĝimo, kaj HID-datumoj estas transdonataj en klara teksto tra la aero. La strukturo de la pakaĵo en la flanka kanalo estas montrita en la suba figuro, la signaldiagramoj estis akiritaj post demodulacio kaj antaŭ restarigo de la datenhorloĝa sinkronigado. La adresvaloro estis elektita por facileco de vida identigo de la pakaĵo.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Demodulita Eksploda pakaĵsignalo en la flanka kanalo

Post kiam la pakaĵeto estas transdonita al la flanka kanalo, la injektita kodo restarigas la staton de la sendilo. Nun ĝi pretas funkcii en la normala reĝimo denove en la kunteksto de la originala firmvaro.

En la frekvencaj kaj tempo-frekvencaj domajnoj, la flanka kanalo aspektas kiel tiu montrita en la figuro:

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Spektra kaj temp-frekvenca reprezentado de la flanka kanalo

Por testi la funkciadon de la peceto NRF24 kun modifita firmvaro, ni kunmetis standon, kiu inkluzivis Logitech-adaptilon kun modifita firmvaro, sendratan klavaron kaj ricevilon kunmetitan surbaze de ĉina modulo kun peceto NRF24.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Logitech Sendrata Klavaro Radio Signala Interkapta Skemo

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

NRF24-bazita modulo

Sur la stando, dum normala klavarfunkciado post konekto al la Logitech-adaptilo, ni observis la dissendon de malfermaj datumoj pri klavopremoj en la flanka radiokanalo kaj normalan dissendon de ĉifritaj datumoj en la ĉefa radiointerfaco. Tiel, ni sukcesis certigi rektan interkapton de la klavar-enigo de la uzanto:

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Rezulto de klavarinterkapto

La injektita kodo enkondukas malgrandajn prokrastojn en la funkciado de la firmvaro de la adaptilo. Tamen, ili estas tro malgrandaj por ke la uzanto rimarku ilin.

Kiel vi povas vidi, ajna Logitech-klavaro kongrua kun Unifying-teknologio povas esti uzata por ĉi tiu atakvektoro. Ĉar la atako celas la Unifying-ricevilon, kiu venas kun plej multaj Logitech-klavaroj, ĝi ne dependas de la specifa klavarmodelo.

konkludo

La rezultoj de la studo instigas la ideon pri ebla uzo de la konsiderata scenaro fare de atakantoj: se hakisto anstataŭigas la adaptilon de la viktimo per sendrata Logitech-klavaro, li povos ekscii la pasvortojn al la kontoj de la viktimo kun ĉiuj sekvaj konsekvencoj. Indas memori, ke eblas ankaŭ enmeti klavopremojn, kio signifas, ke plenumi arbitran kodon sur la komputilo de la viktimo ne estas malfacile.

Sed kio se atakanto povus malproksime modifi la firmvaron de iu ajn Logitech-adaptilo per USB? Tiam reto de ripetiloj povus esti kreita el proksime lokitaj adaptiloj kaj la lika distanco povus esti pliigita. Kvankam "finance sekura" atakanto povas uzi modernan radioricevan ekipaĵon kun tre selektemaj sistemoj, sentemajn radioricevilojn kun mallonga frekvenca agorda tempo kaj mallarĝradiajn antenojn por "aŭskulti" klavarajn enigojn kaj premi klavojn eĉ de najbara konstruaĵo.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Profesia ekipaĵo por radioricevado

Ĉar la sendrata datumtransiga kanalo de la Logitech-klavaro estas sufiĉe bone protektita, la trovita atakvektoro postulas fizikan aliron al la ricevilo, kio multe limigas la atakanton. La sola eblo por protekto en ĉi tiu kazo povus esti la uzo de kriptografiaj protektaj mekanismoj por la firmvaro de la ricevilo, ekzemple, konfirmo de la subskribo de la ŝargita firmvaro ĉe la flanko de la ricevilo. Sed, bedaŭrinde, NRF24 ne subtenas tion kaj estas neeble efektivigi protekton ene de la nuna arkitekturo de la aparato. Do zorgu pri viaj adaptiloj, ĉar la priskribita atakeblo postulas fizikan aliron al ili.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Raccoon Security estas speciala teamo de fakuloj de la Scienca kaj Teknika Centro Vulcan en la kampo de praktika informa sekureco, kriptografio, cirkvitdezajno, inversa inĝenierado kaj kreado de malaltnivela programaro.

fonto: www.habr.com

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster