Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Stòricamente, a maiò parte di l'impiegati utilizanu tastiere wireless è mouse da Logitech. Intruducendu una volta di più i nostri password, noi, i specialisti di a squadra di Raccoon Security, ci dumandemu: quantu hè difficiule di aggirari i miccanismi di sicurezza di i tastieri wireless? U studiu hà revelatu difetti architetturali è errori di software chì permettenu l'accessu à e dati di input. Sottu u cut hè ciò chì avemu avutu.

Perchè Logitech?

In u nostru parè, i dispositi di input Logitech sò trà a più alta qualità è più convenienti. A maiò parte di i dispositi chì avemu sò basati nantu à a suluzione Logitech unificanti hè un ricevitore dongle universale chì vi permette di cunnette finu à 6 dispusitivi. Tutti i dispositi cumpatibili cù a tecnulugia Logitech Unifying sò marcati cù u logu di a tecnulugia Logitech Unifying. Facile à aduprà dumanda Permette di gestisce a cunnessione di tastiere wireless à u vostru urdinatore. U prucessu di cunnette u teclatu à u dongle di u receptore Logitech, cum'è a tecnulugia stessu, hè cupartu, per esempiu, ccà.

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Ricevitore Dongle cù supportu Logitech Unifying

U teclatu pò diventà una fonte d'infurmazioni per l'attaccanti. Logitech, tenendu in contu a pussibuli minaccia, hà pigliatu cura di a sicurità - hà utilizatu l'algoritmu di criptografia AES128 in u canali radio di u teclatu wireless. U primu pensamentu chì un attaccu puderia avè in questa situazione hè di intercepte l'infurmazioni chjave quandu hè trasmessa nantu à un canali radio durante a prucedura di ubligatoriu. Dopu tuttu, sè vo avete una chjave, pudete intercepte i signali di radiu di u teclatu è discifralli. Tuttavia, l'utilizatore raramente (o ancu mai) hà da unificà u teclatu, è un pirate cù una radiu di scanning duverà aspittà assai tempu. Inoltre, micca tuttu hè cusì simplice cù u prucessu d'intercepzione stessu. In l'ultimu studiu in ghjugnu 2019, l'espertu di sicurezza Markus Mengs hà publicatu in linea u missaghju circa a scuperta di una vulnerabilità in u vechju firmware di Logitech USB dongles. Permette à l'attaccanti cù accessu fisicu à i dispositi per ottene chjavi di criptografia di canali radio è inject keystrokes (CVE-2019-13054).

Parleremu di u nostru studiu di sicurità di u dongle Logitech basatu annantu à u NRF24 SoC da Nordic Semiconductor. Cuminciamu, forse, cù u canali radio stessu.

Cumu i dati "volanu" in un canali radio

Per l'analisi di u tempu-frequenza di u segnu radio, avemu usatu un ricevitore SDR basatu annantu à u dispositivu Blade-RF in modu di analizatore di spettru (pudete ancu leghje nantu à questu. ccà).

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Dispositivo SDR Blade-RF

Avemu ancu cunsideratu a pussibilità di registrà quadrature di u signale radio à una freccia intermedia, chì puderia esse analizatu cù tecniche di trasfurmazioni di signali digitale.

Cummissione statale di frequenze radio in a Federazione Russa permessu per l'usu di i dispositi di corta gamma, a gamma di freccia hè 2400-2483,5 MHz. Questa hè una gamma assai "populata", in quale ùn truverete nunda: Wi-Fi, Bluetooth, ogni tipu di cuntrolli remoti, sistemi di sicurezza, detectors wireless, surci cù tastieri è altri dispositi digitali wireless.

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Spettru di a banda 2,4 GHz

L'ambiente di interferenza in a gamma hè abbastanza cumplessu. Malgradu questu, Logitech hà sappiutu furnisce una ricezione affidabile è stabile per mezu di l'usu di u protocolu Enhanced ShockBurst in u transceiver NRF24 in combinazione cù algoritmi di adattazione di frequenza.

I canali in una banda sò posti in pusizioni integer MHz cum'è definitu in quaternu NRF24 Nordic Semiconductor - un totale di 84 canali in a reta di freccia. U numaru di canali di frequenza utilizati simultaneamente da Logitech hè, sicuru, menu. Avemu identificatu l'usu di almenu quattru. A causa di a larghezza di banda limitata di l'analizzatore di spettru di signale utilizatu, a lista esatta di e pusizioni di freccia utilizata ùn pò esse determinata, ma questu ùn era micca necessariu. L'infurmazioni da u teclatu à u dongle di u ricevitore sò trasmessi in modu Burst (brevi turni nantu à u trasmettitore) utilizendu a modulazione di frequenza in duie posizioni GFSK à una velocità di simbulu di 1 Mbaud:

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Segnale radio da tastiera in rapprisintazioni di u tempu

U receptore usa u principiu di correlazione di a ricezione, cusì u pacchettu trasmessu cuntene un preambulu è una parte di indirizzu. A codificazione resistente à u rumore ùn hè micca utilizata; u corpu di dati hè criptatu cù l'algoritmu AES128.

In generale, l'interfaccia radio di u teclatu wireless Logitech pò esse carattarizatu cum'è completamente asincrona cù multiplexing statisticu è adattazione di frequenza. Questu significa chì u trasmettitore di u teclatu cambia u canali per trasmette ogni novu pacchettu. U ricevitore ùn cunnosce in anticipu nè u tempu di trasmissione nè u canali di freccia, ma solu a so lista hè cunnisciuta. U ricevitore è u trasmettitore si scontranu in u canali grazie à l'algoritmi di bypass di frequenza coordinata è di ascolta, è ancu à i meccanismi di ricunniscenza ShockBurst Enhanced. Ùn avemu micca investigatu se a lista di canali hè statica. Probabilmente, u so cambiamentu hè dovutu à l'algoritmu di adattazione di frequenza. Qualcosa vicinu à u metudu di salto di freccia (sintonizazione pseudo-aleatoriu di a freccia operativa) pò esse vistu in l'usu di a risorsa di freccia di a gamma.

Cusì, in cundizioni di incertezza tempu-frequenza, per assicurà a ricezione garantita di tutti i signali di u teclatu, un attaccu hà bisognu di monitorà constantemente tutta a reta di freccia di 84 pusizioni, chì esige una quantità significativa di tempu. Quì diventa chjaru perchè a vulnerabilità di estrazione di chjave USB (CVE-2019-13054) in fonti pusizionatu cum'è l'abilità di inject keystrokes, piuttostu chè guadagnà l'accessu di l'attaccante à e dati inseriti da u teclatu. Ovviamente, l'interfaccia radio di u teclatu wireless hè abbastanza cumplessa è furnisce una cumunicazione radio affidabile trà i dispositi Logitech in cundizioni d'interferenza difficili in a banda 2,4 GHz.

Un sguardu à u prublema da l'internu

Per u nostru studiu, avemu sceltu unu di i nostri tastieri Logitech K330 esistenti è un dongle Logitech Unifying.

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Logitech K330

Fighjemu un ochju in u teclatu. Un elementu interessante nantu à u bordu per studià hè u chip SoC NRF24 da Nordic Semiconductor.

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

SoC NRF24 nantu à a tastiera senza fili Logitech K330

U firmware hè situatu in a memoria interna, i meccanismi di lettura è di debugging sò disattivati. Sfortunatamente, u firmware ùn hè micca publicatu in fonti aperti. Dunque, avemu decisu di avvicinà u prublema da l'altra parte - per studià u cuntenutu internu di u receptore dongle Logitech.

U "mondu internu" di u receptore dongle hè abbastanza interessante. U dongle hè facilmente disassemblatu, porta à bordu a liberazione familiar NRF24 cun un controller USB integratu è pò esse riprogrammatu sia da u latu USB sia direttamente da u programatore.

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Dongle Logitech senza alloghju

Siccomu ci hè un mecanismu standard per aghjurnà u firmware utilizendu Applicazioni di u Firmware Update Tool (da quale pudete estrattà a versione di firmware aghjurnata), ùn ci hè bisognu di circà u firmware in u dongle.

Ciò chì hè statu fattu: u firmware RQR_012_005_00028.bin hè stata estratta da u corpu di l'applicazione Firmware Update Tool. Per verificà a so integrità, u controller di dongle era cunnessu cù un cable à u programatore ChipProg-48:

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Cable per cunnette u dongle Logitech à u programatore ChipProg 48

Per cuntrullà l'integrità di u firmware, hè stata pusata bè in a memoria di u controller è hà travagliatu bè, u teclatu è u mouse sò stati cunnessi à u dongle via Logitech Unifying. Hè pussibule cullà u firmware mudificatu cù u mecanismu di l'aghjurnamentu standard, postu chì ùn ci sò micca miccanismi di prutezzione criptografica per u firmware. Per scopi di ricerca, avemu usatu una cunnessione fisica à u programatore, postu chì a debugging hè assai più veloce in questu modu.

Ricerca di firmware è attaccu à l'input di l'utilizatori

U chip NRF24 hè cuncepitu basatu annantu à u core di computing Intel 8051 in l'architettura tradiziunale di Harvard. Per u core, u transceiver agisce cum'è un dispositivu perifericu è hè situatu in u spaziu di indirizzu cum'è un settore di registri. A documentazione per u chip è l'esempii di codice fonte pò esse truvata in Internet, cusì disassemble u firmware ùn hè micca difficiule. Durante l'ingenieria inversa, avemu localizatu e funzioni per riceve dati di tastu da u canali radio è cunvertisce in u formatu HID per a trasmissione à l'ospitu per via di l'interfaccia USB. U codice di l'iniezione hè stata posta in l'indirizzi di memoria libera, chì includenu strumenti per intercepte u cuntrollu, salvà è restaurà u cuntestu d'esekzione originale, è ancu u codice funziunale.

U pacchettu di pressu o di liberazione di una chjave ricevuta da u dongle da u canali radio hè decriptatu, cunvertitu in un rapportu HID standard è mandatu à l'interfaccia USB cum'è da un teclatu regulare. Comu parte di u studiu, a parte di u rapportu HID chì hè di più interessu per noi hè a parte di u rapportu HID chì cuntene un byte di bandieri modificatori è un array di 6 bytes cù codici di tastu (per riferimentu, infurmazione nantu à HID). ccà).

Struttura di rapportu HID:

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

Immediatamente prima di trasmette a struttura HID à l'ospiti, u codice injected piglia u cuntrollu, copia 8 bytes di dati HID nativi in ​​memoria è l'invia à u canali di u latu di a radiu in testu chjaru. In u codice si vede cusì:

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

U canali laterale hè urganizatu à una frequenza chì avemu stabilitu cù certe caratteristiche di a velocità di manipulazione è a struttura di pacchetti.

Funzionamentu di u transceiver in u chip NRF24 hè basatu annantu à un gràficu statale in quale u protocolu Enhanced ShockBurst hè integratu organicamente. Avemu trovu chì immediatamente prima di trasmette dati HID à l'interfaccia USB host, u transceiver era in u statu IDLE. Questu permette di cunfigurà in modu sicuru per uperà in un canale laterale. U codice injected intercepte u cuntrollu, cunserva a cunfigurazione originale di transceiver in tuttu è cambia à un novu modu di trasmissione in u canali laterale. U mecanismu di cunferma ShockBurst Enhanced hè disattivatu in questu modu; I dati HID sò trasmessi in forma chjara in l'aria. A struttura di u pacchettu in u canali laterale hè mostrata in a figura sottu, i diagrammi di signali sò stati ottenuti dopu a demodulazione è prima di a risturazione di a sincronizazione di u clock di dati. U valore di l'indirizzu hè statu sceltu per facilità d'identificazione visuale di u pacchettu.

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Segnale Burst Burst Demodulatu in u Canale Laterale

Dopu chì u pacchettu hè trasmessu à u canali laterale, u codice injected restaurà u statu di u transceiver. Avà hè di novu prontu à travaglià nurmalmente in u cuntestu di u firmware originale.

In i duminii di frequenza è frequenza di u tempu, u canali laterale pare cusì:

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Rappresentazione spettrale è di frequenza di u tempu di u canale laterale

Per pruvà l'operazione di u chip NRF24 cù firmware mudificatu, avemu assemblatu un stand chì includeva un dongle Logitech cù firmware mudificatu, un teclatu wireless è un receptore assemblatu nantu à a basa di un modulu cinese cù u chip NRF24.

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Circuitu d'intercettazione di signali radio di u tastieru wireless Logitech

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Modulu basatu NRF24

Nantu à u bancu, cù u teclatu chì opera nurmale, dopu avè cunnessu à u dongle Logitech, avemu osservatu a trasmissione di dati chjaru nantu à i tasti in u canali radio laterale è a trasmissione normale di dati criptati in l'interfaccia di radiu principale. Cusì, pudemu furnisce l'intercepzione diretta di l'input di u teclatu di l'utilizatori:

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

U risultatu di l'interceptazione di l'input di u teclatu

U codice injected introduce un liggeru ritardu in u funziunamentu di u firmware dongle. Tuttavia, sò troppu chjuchi per l'utilizatore per nutà.

Comu pudete imagine, qualsiasi teclatu Logitech chì hè cumpatibile cù a tecnulugia Unifying pò esse usatu per questu vettore d'attaccu. Siccomu l'attaccu mira à u receptore Unifying inclusu cù a maiò parte di i tastieri Logitech, hè indipendente da u mudellu di teclatu specificu.

cunchiusioni

I risultati di u studiu suggerenu l'utilizazione pussibule di u scenariu cunsideratu da l'attaccanti: se un pirate pirate rimpiazza a vittima cù un receptore dongle per un teclatu wireless Logitech, allora serà capace di scopre e password à i cunti di a vittima cù tutte e conseguenze. cunsequenze. Ùn vi scurdate chì hè ancu pussibule inject keystrokes, chì significa chì ùn hè micca difficiule di eseguisce codice arbitrariu in l'urdinatore di a vittima.

E se di colpu un attaccu pò mudificà remotamente u firmware di qualsiasi dongle Logitech via USB? Allora, da i dongles vicinu, pudete creà una reta di ripetitori è cresce a distanza di fuga. Ancu se un attaccante "riccu finanziariu" puderà "ascoltà" l'input di u teclatu è pressu i tasti ancu da un edifiziu vicinu, l'equipaggiu di ricezione radio mudernu cù sistemi altamente selettivi, ricevitori radio sensibili cù tempi di sintonizazione di frequenze brevi è antenne altamente direzzione li permettenu. per "ascoltà" l'input di u teclatu è appughjà i tasti ancu da un edifiziu vicinu.

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Equipamentu radio prufessiunale

Siccomu u canali di trasmissione di dati in wireless di u teclatu Logitech hè abbastanza bè prutettu, u vettore d'attaccu trovu esige un accessu fisicu à u receptore, chì limita assai l'attaccante. L'unica opzione di prutezzione in questu casu seria di utilizà miccanismi di prutezzione criptografica per u firmware di u receptore, per esempiu, cuntrollà a firma di u firmware caricatu nantu à u latu di u receptore. Ma, sfurtunatamenti, NRF24 ùn sustene micca questu è hè impussibile implementà a prutezzione in l'architettura di u dispusitivu attuale. Allora pigliate cura di i vostri dongles, perchè l'opzione di attaccu descritta richiede un accessu fisicu à elli.

Prendi cura di i vostri dongles: studiu di sicurezza di u receptore di tastiera Logitech

Raccoon Security hè una squadra speciale di esperti da u Vulcan Research and Development Center in u campu di a sicurità di l'infurmazioni pratiche, a criptografia, u disignu di circuiti, l'ingegneria inversa è a creazione di software di pocu livellu.

Source: www.habr.com

Add a comment