Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Vēsturiski lielākā daļa darbinieku izmanto Logitech bezvadu tastatūras un peles. Ievadot savas paroles vēlreiz, mēs, Raccoon Security komandas speciālisti, uzdevām sev jautājumu: cik grūti ir apiet bezvadu klaviatūru drošības mehānismus? Pētījums atklāja arhitektūras nepilnības un programmatūras kļūdas, kas ļauj piekļūt ievades datiem. Zem griezuma ir tas, ko mēs saņēmām.

Kāpēc Logitech?

Mūsuprāt, Logitech ievadierīces ir vienas no kvalitatīvākajām un ērtākajām. Lielākā daļa mūsu rīcībā esošo ierīču ir balstītas uz Logitech risinājumu apvienotais ir universāls dongle uztvērējs, kas ļauj pieslēgt līdz 6 ierīcēm. Visas ar Logitech Unifying tehnoloģiju saderīgās ierīces ir marķētas ar Logitech Unifying tehnoloģijas logotipu. Viegli izmantot iesniegums Ļauj pārvaldīt bezvadu tastatūras savienojumu ar datoru. Tastatūras savienošanas process ar Logitech uztvērēja sargspraudni, kā arī pati tehnoloģija ir ietverta, piemēram, šeit.

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Dongle uztvērējs ar Logitech Unifying atbalstu

Tastatūra var kļūt par informācijas avotu uzbrucējiem. Logitech, ņemot vērā iespējamos draudus, parūpējās par drošību – bezvadu tastatūras radio kanālā izmantoja AES128 šifrēšanas algoritmu. Pirmā doma, kas uzbrucējam varētu rasties šajā situācijā, ir pārtvert galveno informāciju, kad tā tiek pārraidīta pa radio kanālu saistīšanas procedūras laikā. Galu galā, ja jums ir atslēga, varat pārtvert tastatūras radiosignālus un tos atšifrēt. Tomēr lietotājam reti (vai pat nekad) ir jāvieno tastatūra, un hakeram ar skenējošu radio būs jāgaida ilgi. Turklāt ne viss ir tik vienkārši ar pašu pārtveršanas procesu. Jaunākajā pētījumā 2019. gada jūnijā drošības eksperts Markus Mengs publicēja tiešsaistē сообщение par ievainojamības atklāšanu vecajā Logitech USB sargspraudņu programmaparatūrā. Tas ļauj uzbrucējiem ar fizisku piekļuvi ierīcēm iegūt radio kanālu šifrēšanas atslēgas un ievadīt taustiņsitienus (CVE-2019-13054).

Mēs runāsim par mūsu drošības pētījumu par Logitech sargspraudni, kura pamatā ir Nordic Semiconductor NRF24 SoC. Sāksim, iespējams, ar pašu radio kanālu.

Kā dati “lido” radio kanālā

Radiosignāla laika-frekvences analīzei mēs izmantojām SDR uztvērēju, kas balstīts uz Blade-RF ierīci spektra analizatora režīmā (par to varat arī lasīt šeit).

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

SDR Blade-RF ierīce

Mēs arī apsvērām iespēju ierakstīt radiosignāla kvadratūras vidējā frekvencē, ko pēc tam varētu analizēt, izmantojot digitālās signālu apstrādes metodes.

Valsts radiofrekvenču komisija Krievijas Federācijā atļauts izmantošanai maza darbības attāluma ierīcēm, frekvenču diapazons ir 2400–2483,5 MHz. Šis ir ļoti “apdzīvots” diapazons, kurā jūs neko neatradīsiet: Wi-Fi, Bluetooth, visa veida tālvadības pultis, drošības sistēmas, bezvadu detektori, peles ar klaviatūru un citas bezvadu digitālās ierīces.

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

2,4 GHz joslas spektrs

Interferences vide diapazonā ir diezgan sarežģīta. Neskatoties uz to, Logitech spēja nodrošināt uzticamu un stabilu uztveršanu, izmantojot Enhanced ShockBurst protokolu NRF24 raiduztvērējā kopā ar frekvences pielāgošanas algoritmiem.

Kanāli joslā ir novietoti veselu skaitļu MHz pozīcijās, kā noteikts specifikācijas NRF24 Nordic Semiconductor - kopā 84 kanāli frekvenču tīklā. Logitech vienlaikus izmantoto frekvenču kanālu skaits, protams, ir mazāks. Mēs identificējām vismaz četru izmantošanu. Sakarā ar izmantotā signāla spektra analizatora ierobežoto joslas platumu nevarēja noteikt precīzu izmantoto frekvenču pozīciju sarakstu, taču tas nebija nepieciešams. Informācija no tastatūras uz uztvērēja sargspraudni tiek pārsūtīta sērijveida režīmā (īsi ieslēdz raidītāju), izmantojot divu pozīciju frekvences modulāciju GFSK ar simbolu ātrumu 1 Mbaud:

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Tastatūras radio signāls laika attēlojumā

Uztvērējs izmanto uztveršanas korelācijas principu, tāpēc pārsūtītā pakete satur preambulu un adreses daļu. Netiek izmantota trokšņa izturīga kodēšana, datu korpuss ir šifrēts ar AES128 algoritmu.

Kopumā Logitech bezvadu tastatūras radio saskarni var raksturot kā pilnīgi asinhronu ar statistisko multipleksēšanu un frekvences pielāgošanu. Tas nozīmē, ka tastatūras raidītājs pārslēdz kanālu, lai pārsūtītu katru jaunu paketi. Uztvērējs iepriekš nezina ne pārraides laiku, ne frekvences kanālu, bet ir zināms tikai to saraksts. Uztvērējs un raidītājs kanālā satiekas, pateicoties koordinētiem frekvenču apiešanas un klausīšanās algoritmiem, kā arī Enhanced ShockBurst apstiprinājuma mehānismiem. Mēs neesam izpētījuši, vai kanālu saraksts ir statisks. Iespējams, tā izmaiņas ir saistītas ar frekvences pielāgošanas algoritmu. Diapazona frekvenču resursa izmantošanā var redzēt kaut ko tuvu frekvenču lēciena metodei (darba frekvences pseidogadījuma noregulēšana).

Tādējādi laika un frekvences nenoteiktības apstākļos, lai nodrošinātu garantētu visu tastatūras signālu uztveršanu, uzbrucējam būs nepārtraukti jāuzrauga viss frekvenču režģis, kas sastāv no 84 pozīcijām, kas prasa ievērojamu laiku. Šeit kļūst skaidrs, kāpēc USB atslēgas iegūšanas ievainojamība (CVE-2019-13054) avotos pozicionēta kā iespēja ievadīt taustiņsitienus, nevis iegūt uzbrucēja piekļuvi datiem, kas ievadīti no tastatūras. Acīmredzot bezvadu tastatūras radio saskarne ir diezgan sarežģīta un nodrošina drošu radiosakaru starp Logitech ierīcēm sarežģītos traucējumu apstākļos 2,4 GHz joslā.

Skats uz problēmu no iekšpuses

Mūsu pētījumam mēs izvēlējāmies vienu no mūsu esošajām Logitech K330 tastatūrām un Logitech Unifying dongle.

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Logitech K330

Apskatīsim tastatūras iekšpusi. Interesants elements, kas jāizpēta, ir SoC NRF24 mikroshēma no Nordic Semiconductor.

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

SoC NRF24 uz Logitech K330 bezvadu tastatūras plates

Programmaparatūra atrodas iekšējā atmiņā, lasīšanas un atkļūdošanas mehānismi ir atspējoti. Diemžēl programmaparatūra nav publicēta atklātajos avotos. Tāpēc nolēmām pieiet problēmai no otras puses – izpētīt Logitech dongle uztvērēja iekšējo saturu.

Dongle uztvērēja “iekšējā pasaule” ir diezgan interesanta. Dongle ir viegli izjaucama, tajā ir pazīstamais NRF24 izlaidums ar iebūvētu USB kontrolieri, un to var pārprogrammēt gan no USB puses, gan tieši no programmētāja.

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Logitech dongle bez korpusa

Tā kā ir standarta mehānisms programmaparatūras atjaunināšanai, izmantojot Programmaparatūras atjaunināšanas rīka lietojumprogrammas (no kuras varat iegūt atjaunināto programmaparatūras versiju), nav nepieciešams meklēt programmaparatūru sargspraudņa iekšpusē.

Kas tika darīts: programmaparatūra RQR_012_005_00028.bin tika izvilkta no programmaparatūras atjaunināšanas rīka lietojumprogrammas korpusa. Lai pārbaudītu tā integritāti, sargspraudņa kontrolleris tika savienots ar kabeli uz ChipProg-48 programmētāju:

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Kabelis Logitech dongle savienošanai ar ChipProg 48 programmētāju

Lai kontrolētu programmaparatūras integritāti, tā tika veiksmīgi ievietota kontrollera atmiņā un darbojās pareizi, tastatūra un pele tika savienotas ar sargspraudni, izmantojot Logitech Unifying. Ir iespējams augšupielādēt modificētu programmaparatūru, izmantojot standarta atjaunināšanas mehānismu, jo programmaparatūrai nav kriptogrāfijas aizsardzības mehānismu. Pētniecības nolūkos mēs izmantojām fizisku savienojumu ar programmētāju, jo šādā veidā atkļūdošana ir daudz ātrāka.

Programmaparatūras izpēte un uzbrukums lietotāja ievadei

NRF24 mikroshēma ir izstrādāta, pamatojoties uz Intel 8051 skaitļošanas kodolu tradicionālajā Hārvardas arhitektūrā. Kodolam raiduztvērējs darbojas kā perifērijas ierīce un tiek ievietots adrešu telpā kā reģistru kopa. Mikroshēmas un pirmkoda piemēru dokumentāciju var atrast internetā, tāpēc programmaparatūras izjaukšana nav grūta. Reversās inženierijas laikā mēs lokalizējām funkcijas taustiņu nospiešanas datu saņemšanai no radio kanāla un konvertēšanai HID formātā, lai pārraidītu uz resursdatoru, izmantojot USB interfeisu. Injekcijas kods tika ievietots brīvās atmiņas adresēs, kas ietvēra vadības pārtveršanas, sākotnējā izpildes konteksta saglabāšanas un atjaunošanas rīkus, kā arī funkcionālo kodu.

Atslēgas nospiešanas vai atlaišanas pakete, ko sargspraudnis saņēmis no radio kanāla, tiek atšifrēta, pārveidota par standarta HID atskaiti un nosūtīta uz USB interfeisu kā no parastās tastatūras. Kā daļa no pētījuma, HID pārskata daļa, kas mūs visvairāk interesē, ir HID pārskata daļa, kas satur modifikatoru karogu baitu un 6 baitu masīvu ar taustiņsitiena kodiem (uzziņai, informācija par HID šeit).

HID pārskata struktūra:

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

Tieši pirms HID struktūras pārsūtīšanas resursdatoram ievadītais kods pārņem vadību, kopē atmiņā 8 baitus vietējo HID datu un nosūta tos uz radio sānu kanālu skaidrā tekstā. Kodā tas izskatās šādi:

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

Sānu kanāls tiek organizēts mūsu iestatītajā frekvencē ar noteiktām manipulācijas ātruma un pakešu struktūras īpašībām.

Raiduztvērēja darbība mikroshēmā NRF24 ir balstīta uz stāvokļa grafiku, kurā ir organiski integrēts Enhanced ShockBurst protokols. Mēs atklājām, ka tieši pirms HID datu pārsūtīšanas uz resursdatora USB interfeisu raiduztvērējs bija IDLE stāvoklī. Tas ļauj to droši pārkonfigurēt, lai tas darbotos sānu kanālā. Ievadītais kods pārtver vadību, pilnībā saglabā sākotnējo raiduztvērēja konfigurāciju un pārslēdz to uz jaunu pārraides režīmu sānu kanālā. Enhanced ShockBurst apstiprināšanas mehānisms šajā režīmā ir atspējots; HID dati tiek pārsūtīti skaidrā veidā pa gaisu. Pakešu struktūra sānu kanālā ir parādīta attēlā zemāk, signālu diagrammas iegūtas pēc demodulācijas un pirms datu pulksteņa sinhronizācijas atjaunošanas. Adreses vērtība tika izvēlēta, lai atvieglotu iepakojuma vizuālo identificēšanu.

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Demodulēts sērijveida pārrāvuma signāls sānu kanālā

Pēc paketes pārsūtīšanas uz sānu kanālu ievadītais kods atjauno raiduztvērēja stāvokli. Tagad tas atkal ir gatavs normāli darboties sākotnējās programmaparatūras kontekstā.

Frekvences un laika frekvences domēnos sānu kanāls izskatās šādi:

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Sānu kanāla spektrālais un laika-frekvences attēlojums

Lai pārbaudītu NRF24 mikroshēmas darbību ar modificētu programmaparatūru, mēs salikām statīvu, kurā bija iekļauts Logitech sargspraudnis ar modificētu programmaparatūru, bezvadu tastatūra un uztvērējs, kas samontēts, pamatojoties uz Ķīnas moduli ar NRF24 mikroshēmu.

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Logitech bezvadu tastatūras radiosignāla pārtveršanas shēma

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

NRF24 balstīts modulis

Uz stenda, tastatūrai darbojoties normāli, pēc savienošanas ar Logitech dongle novērojām skaidru datu pārraidi par taustiņsitieniem sānu radio kanālā un normālu šifrētu datu pārraidi galvenajā radio saskarnē. Tādējādi mēs varējām nodrošināt tiešu lietotāja tastatūras ievades pārtveršanu:

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Tastatūras ievades pārtveršanas rezultāts

Ievadītais kods rada nelielu aizkavi sargspraudņa programmaparatūras darbībā. Tomēr tie ir pārāk mazi, lai lietotājs to varētu pamanīt.

Kā jau varat iedomāties, šim uzbrukuma vektoram var izmantot jebkuru Logitech tastatūru, kas ir saderīga ar Unifying tehnoloģiju. Tā kā uzbrukums ir vērsts uz Unifying uztvērēju, kas iekļauts lielākajā daļā Logitech tastatūru, tas nav atkarīgs no konkrētā tastatūras modeļa.

Secinājums

Pētījuma rezultāti liecina, ka uzbrucēji varētu izmantot apsvērto scenāriju: ja hakeris upuri nomainīs pret Logitech bezvadu tastatūras sargspraudņa uztvērēju, tad viņš varēs noskaidrot upura kontu paroles ar visu no tā izrietošo. sekas. Neaizmirstiet, ka ir iespējams arī ievadīt taustiņsitienus, kas nozīmē, ka upura datorā nav grūti izpildīt patvaļīgu kodu.

Ko darīt, ja pēkšņi uzbrucējs var attālināti modificēt jebkura Logitech sargspraudņa programmaparatūru, izmantojot USB? Pēc tam no cieši izvietotiem sargspraudņiem varat izveidot atkārtotāju tīklu un palielināt noplūdes attālumu. Lai gan “finansiāli bagāts” uzbrucējs varēs “klausīties” tastatūras ievadi un nospiest taustiņus pat no blakus ēkas, mūsdienīgas radio uztveršanas iekārtas ar īpaši selektīvām sistēmām, jutīgi radio uztvērēji ar īsu frekvenču regulēšanas laiku un ļoti virziena antenas. lai “klausītos” tastatūras ievadi un nospiestu taustiņus pat no blakus esošās ēkas.

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Profesionāla radioaparatūra

Tā kā Logitech tastatūras bezvadu datu pārraides kanāls ir diezgan labi aizsargāts, atrastajam uzbrukuma vektoram ir nepieciešama fiziska piekļuve uztvērējam, kas uzbrucēju ļoti ierobežo. Vienīgā aizsardzības iespēja šajā gadījumā būtu izmantot kriptogrāfijas aizsardzības mehānismus uztvērēja programmaparatūrai, piemēram, pārbaudot ielādētās programmaparatūras parakstu uztvērēja pusē. Bet diemžēl NRF24 to neatbalsta, un pašreizējā ierīces arhitektūrā nav iespējams ieviest aizsardzību. Tāpēc rūpējieties par saviem sargspraudņiem, jo ​​aprakstītajai uzbrukuma iespējai ir nepieciešama fiziska piekļuve tiem.

Rūpējieties par saviem sargspraudņiem: Logitech tastatūras uztvērēja drošības pētījums

Raccoon Security ir īpaša ekspertu komanda no Vulcan pētniecības un attīstības centra praktiskās informācijas drošības, kriptogrāfijas, shēmu projektēšanas, reversās inženierijas un zema līmeņa programmatūras izveides jomā.

Avots: www.habr.com

Pievieno komentāru