Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Historie, la plej multaj dungitoj uzas Logitech sendratajn klavarojn kaj musojn. Denove enigante niajn pasvortojn, ni, la specialistoj de la teamo de Raccoon Security, demandis nin: kiom malfacile estas preteriri la sekurecajn mekanismojn de sendrataj klavaroj? La farita esplorado malkaŝis arkitekturajn difektojn kaj programarajn erarojn, kiuj ebligas aliron al la enigo-datumoj. Sub la tranĉo - kion ni ricevis.

Kial Logitech?

Laŭ nia opinio, Logitech-enigo-aparatoj estas inter la plej altkvalitaj kaj plej oportunaj. La plej multaj el la aparatoj, kiujn ni havas, baziĝas sur la solvo Logitech Unuiganta estas universala dongle ricevilo kiu permesas vin konekti ĝis 6 aparatoj. Ĉiuj aparatoj kongruaj kun la teknologio Logitech Unifying estas markitaj per la responda emblemo. Facile uzebla приложение permesas vin administri la konekton de sendrataj klavaroj al via komputilo. La procezo de konekto de la klavaro al la dongle-ricevilo de Logitech, same kiel la teknologio mem, estas detale priskribitaj, 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 - aplikis la ĉifradan algoritmon AES128 en la radiokanalo de la sendrata klavaro. La unua penso, kiu povas viziti atakanton en ĉi tiu situacio, estas la interkapto de ŝlosilaj informoj dum ĝia transdono trans la aero dum la deviga proceduro. Post ĉio, se vi havas ŝlosilon, vi povas kapti la radiosignalojn de la klavaro kaj deĉifri ilin. Tamen, estas tre malofte (aŭ neniam) por uzanto ligi klavaron kun Unuiga proceduro, kaj retpirato kun skananta radio devos atendi longan tempon. Krome, ne ĉio estas tiel simpla kun la interkapta procezo mem. En la plej nova studo en junio 2019, fakulo pri sekureco Markus Mengs publikigis interrete сообщение pri la malkovro de vundebleco en malnova firmvaro de Logitech USB dongles. Ĝi permesas atakantojn kun fizika aliro al aparatoj akiri radio-ĉifrajn ŝlosilojn kaj injekti klavpremojn (CVE-2019-13054).

Ni kovros nian sekurecan studon de Logitech dongle bazita sur NRF24 SoC de Nordic Semiconductor. Kaj ni komencu, eble, per la radiokanalo mem.

Kiel datumoj "flugas" en la radiokanalo

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

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

SDR Blade-RF-aparato

Ni ankaŭ pripensis la eblecon registri kvadraturojn de la radiosignalo je meza frekvenco por tiam analizi ilin per ciferecaj signal-prilaboraj metodoj.

Ŝtata Komisiono por Radiofrekvencoj en la Rusa Federacio permesite por uzo de mallongdistancaj aparatoj en la frekvenca gamo 2400-2483,5 MHz. Ĉi tio estas tre "loĝata" gamo, en kiu vi trovos nenion: Wi-Fi, Bluetooth, ĉiaj teleregiloj, sekurecaj sistemoj, sendrataj detektiloj, musoj kun klavaroj kaj aliaj sendrataj ciferecaj aparatoj.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

2,4 GHz-banda spektro

La interfermedio en la gamo estas sufiĉe kompleksa. Malgraŭ tio, Logitech povis disponigi fidindan kaj stabilan ricevon uzante la Enhanced ShockBurst-protokolon en la NRF24-ricevilo en kombinaĵo kun frekvencaj adaptaj algoritmoj.

La kanaloj en la grupo estas metitaj ĉe entjeraj MHz-pozicioj kiel difinite en specifoj NRF24 Nordic Semiconductor - entute 84 kanaloj en la frekvenca krado. La nombro da frekvencaj kanaloj uzataj samtempe de Logitech estas, kompreneble, malpli. Ni identigis la uzon de almenaŭ kvar. Pro la limigita interspaco de la signala spektranalizilo uzita, estis ne eble determini la precizan liston de frekvencpozicioj uzitaj, sed tio ne estis necesa. Informoj de la klavaro al la dongle-ricevilo estas elsenditaj en Burst-reĝimo (mallonga dissendilo enŝaltas) uzante du-pozician frekvencmoduladon GFSK kun simbolrapideco de 1 Mbaud:

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Klavara radiosignalo en temporeprezento

La ricevilo uzas la korelacian principon de ricevo, do la elsendita pakaĵeto enhavas preambulon kaj adresparton. Erarkorekta kodigo ne estas uzata, la datumkorpo estas ĉifrita per la AES128-algoritmo.

Ĝenerale, la aerinterfaco de Logitech sendrata klavaro povas esti karakterizita kiel plene nesinkrona kun statistika dividadmultiplexado kaj frekvencrespondo. Ĉi tio signifas, ke la klavarsendilo ŝanĝas la kanalon por transdoni ĉiun novan pakaĵon. La ricevilo ne scias anticipe nek la elsendotempon nek la frekvencan kanalon, sed nur liston de ili. La ricevilo kaj dissendilo renkontiĝas sur la kanalo danke al la interkonsentitaj frekvencaj preterpaso kaj aŭskultado-algoritmoj, kaj ankaŭ al Enhanced ShockBurst-akgnomekanismoj. Ni ne ekzamenis ĉu la kanallisto estas senmova. Verŝajne, ĝia ŝanĝo ŝuldiĝas al la frekvenca adapta algoritmo. Io proksima al la PRCH-metodo (pseŭdo-hazarda agordado de la operacia frekvenco) estas divenita en la uzo de la frekvenca rimedo de la gamo.

Tiel, en kondiĉoj de tempo-frekvenca necerteco, por garantii ricevon de ĉiuj klavarsignaloj, atakanto devos konstante kontroli la tutan frekvencan kradon de la gamo de 84 pozicioj, kio postulas signifajn tempokostojn. Ĉi tie evidentiĝas kial USB-ŝlosila eltira vundebleco (CVE-2019-13054) en fontoj Ĝi estas poziciigita kiel la ebleco injekti klavopremojn, prefere ol akiri aliron de atakanto al datenoj enigitaj de la klavaro. Evidente, la radiointerfaco de la sendrata klavaro estas sufiĉe kompleksa kaj disponigas fidindan radiokomunikadon inter Logitech-aparatoj en malfacila interfermedio en la 2,4 GHz-bendo.

Interna rigardo al la problemo

Por esplorado, ni elektis unu el niaj disponeblaj klavaroj Logitech K330 kaj dongle Logitech Unifying.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Logitech K330

Ni rigardu en la klavaron. Interesa elemento sur la tabulo por studi estas la blato SoC NRF24 de Nordic Semiconductor.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

NRF24 SoC sur Logitech K330 Wireless Keyboard Board

La firmvaro situas en interna memoro, legado kaj sencimigaj mekanismoj estas malŝaltitaj. Bedaŭrinde, la firmvaro ne estis publikigita en malfermaj fontoj. Tial ni decidis trakti la problemon de la alia flanko - studi la internan enhavon de la dongle ricevilo Logitech.

La "interna mondo" de la dongle-ricevilo estas sufiĉe interesa. La dongle estas facile malmuntita, portas surŝipe la NRF24 konata al ni en liberigo kun enkonstruita USB-regilo kaj povas esti reprogramita kaj de la USB-flanko kaj rekte de la programisto.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Dongle Logitech sen kazo

Ĉar ekzistas regula firmware ĝisdatigo mekanismo uzante Firmware Ĝisdatiga Ilo (el kiu vi povas ĉerpi la ĝisdatigitan version de la firmvaro), ne necesas serĉi la firmware ene de la dongle.

Kio estis farita: La RQR_012_005_00028.bin-firmvaro estis ĉerpita el la korpo de la aplikaĵo Firmware Update Tool. Por kontroli ĝian integrecon, la dongle-regilo estis konektita per buklo al la programisto ChipProg-48:

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Logitech dongle-konekta kablo por ChipProg 48-programisto

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 dongle per Logitech Unifying. Eblas alŝuti la modifitan firmvaron uzante la norman ĝisdatigmekanismon, ĉar ne ekzistas kriptografiaj protektaj mekanismoj por la firmvaro. Por esplorceloj, ni uzis fizikan konekton al la programisto, ĉar senararigado estas multe pli rapida tiamaniere.

Firmware-enketo kaj atako sur uzanta enigo

La blato NRF24 estas dizajnita surbaze de la komputika kerno Intel 8051 en la tradicia Harvard-arkitekturo. Por la kerno, la dissendilo funkcias kiel ekstercentra aparato kaj situas en la adresspaco kiel aro de registroj. Dokumentado por la blato kaj ekzemploj de fontkodo troveblas en la Interreto, do malmunti la firmvaro ne estas malfacila. En la kurso de inversa inĝenierado, ni lokalizis la funkciojn por ricevi klavpremdatenojn de la radiokanalo kaj konverti ĝin en HID-formaton por transsendo al la gastiganto per la USB-interfaco. En liberaj memoradresoj, la injektkodo estis metita, kiu inkludis ilojn por kapti kontrolon, ŝpari kaj restarigi la originan ekzekutkuntekston, same kiel funkcian kodon.

La pakaĵeto de premado aŭ liberigado de ŝlosilo ricevita de la dongle de la radiokanalo estas deĉifrita, konvertita en norman HID-raporton kaj sendita al la USB-interfaco kiel de konvencia klavaro. Kiel parto de la studo, la parto de la HID-raporto, kiu enhavas la bajton de modifilaj flagoj kaj tabelon de 6 bajtoj kun klavpremkodoj, plej interesas nin (por referenco, informoj pri HID tie).

HID-raportstrukturo:

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

Tuj antaŭ transdoni la HID-strukturon al la gastiganto, la injektita kodo prenas kontrolon, kopias 8 bajtojn da indiĝenaj HID-datumoj en memoro kaj sendas ĝin al la radio-flanka kanalo en klara teksto. En 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 laŭ la ofteco fiksita de ni kun certaj trajtoj de la manipula rapido kaj paka strukturo.

Funkciado de la transceptor en blato NRF24 estas bazita sur ŝtata grafeo, en kiu la Enhanced ShockBurst-protokolo estas organike enskribita. Ni trovis, ke la dissendilo estis en la IDLE-ŝtato ĵus antaŭ ol la HID-datumoj estis senditaj al la gastiganta USB-interfaco. Ĉi tio ebligas sekure reagordi ĝin por flankkanala operacio. La injektita kodo superregas kontrolon, konservas la originan konfiguracion de la radioricevilo en sia tuteco kaj metas ĝin en novan dissendreĝimon sur la flankan kanalon. La Enhanced ShockBurst-akgnomekanismo estas malŝaltita en ĉi tiu reĝimo, HID-datumoj estas transdonitaj en klara teksto super la aero. La strukturo de la pako en la flanka kanalo estas montrita en la figuro sube, la signalaj intrigoj estas akiritaj post demodulado kaj antaŭ reakiro de datumhorloĝo. La adresvaloro estas elektita por la oportuno de vida identigo de la pakaĵo.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Demodulita Burst Burst Signalo en la Flanka Kanalo

Post la kompletigo de la transdono de la pako al la flanka kanalo, la injektita kodo restarigas la staton de la transceptor. Nun ĝi estas preta funkcii normale denove en la kunteksto de la originala firmvaro.

En la frekvencaj kaj temp-frekvencaj domajnoj, la flanka kanalo aspektas jene:

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Spektra kaj temp-frekvenca reprezentado de la flanka kanalo

Por testi la funkciadon de la NRF24-peceto kun modifita firmvaro, ni kunvenis testbenkon, kiu inkludis Logitech-dongle kun modifita firmvaro, sendratan klavaron kaj ricevilon kunmetitan surbaze de ĉina modulo kun NRF24-peceto.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Logitech Sendrata Klavaro Radio Interkapta Diagramo

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

NRF24 bazita modulo

Sur la benko, dum normala funkciado de la klavaro post konekti ĝin al la dongle Logitech, ni observis la transdonon de malfermitaj datumoj pri klavoj en la flanka radiokanalo kaj la normalan transdonon de ĉifritaj datumoj en la ĉefa radio-interfaco. Tiel, ni sukcesis disponigi rektan interkapton de la klavara enigo de la uzanto:

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

La rezulto de kaptado de klavara enigo

La injektita kodo enkondukas malgrandajn malfruojn en la funkciado de la dongle-firmvaro. Tamen ili estas tro malgrandaj por ke la uzanto rimarku ilin.

Kiel vi komprenas, por tia atakvektoro, vi povas uzi ajnan Logitech-klavaron kongruan kun Unifying-teknologio. Ĉar la atako estas direktita al la Unifying-ricevilo kiu estas inkluzivita kun la plej multaj Logitech-klavaroj, ĝi estas sendependa de la specifa klavarmodelo.

konkludo

La rezultoj de la studo sugestas, ke la konsiderata scenaro povas esti uzata de atakantoj: se retpirato anstataŭigas la viktimon per dongle ricevilo por sendrata klavaro Logitech, li povos eltrovi la pasvortojn al la kontoj de la viktimo kun ĉiuj sekvaj. konsekvencoj. Ne forgesu, ke ankaŭ eblas injekti klavojn, kio signifas, ke ne malfacilas ekzekuti arbitran kodon en la komputilo de la viktimo.

Kio se atakanto povas malproksime modifi la firmvaro de iu ajn Logitech dongle per USB? Tiam, el proksime interspacigitaj donglesoj, vi povas aldoni reton de ripetiloj kaj pliigi la elfluan distancon. Kvankam modernaj rimedoj de radioricevo kun tre selektemaj sistemoj, sentemaj radioriceviloj kun mallonga frekvenca agordtempo kaj mallarĝe direktitaj antenoj permesos al "finance sekura" atakanto "aŭskulti" al klavarenigo kaj premi klavojn eĉ de najbara konstruaĵo.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Profesia radio-ekipaĵo

Ĉar la sendrata datumligo de la klavaro Logitech estas sufiĉe bone protektita, la atakvektoro trovita postulas fizikan aliron al la ricevilo, kio multe limigas la atakanton. La sola protekta opcio en ĉi tiu kazo povus esti la uzo de kriptaj protektaj mekanismoj por la firmvaro de la ricevilo, ekzemple, la konfirmo de la subskribo de la elŝutita firmvaro ĉe la flanko de la ricevilo. Sed, bedaŭrinde, NRF24 ne subtenas ĉi tion, kaj estas neeble efektivigi protekton ene de la nuna aparatarkitekturo. Do zorgu viajn donglesojn, ĉar la priskribita atakopcio postulas fizikan aliron al ili.

Protektu Viajn Donglesojn: Sekureca Studo pri Logitech-Klavara Ricevilo

Raccoon Security estas diligenta teamo de Vulkan STC-fakuloj en la kampo de praktika informa sekureco, kriptografio, cirkulado, inversa inĝenierado kaj malaltnivela programaro.

fonto: www.habr.com

Aldoni komenton