Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Povijesno gledano, većina zaposlenika koristi bežične tipkovnice i miševe tvrtke Logitech. Još jednom unoseći svoje lozinke, mi, stručnjaci Raccoon Security tima, zapitali smo se: koliko je teško zaobići sigurnosne mehanizme bežičnih tipkovnica? Studija je otkrila arhitektonske nedostatke i softverske pogreške koje omogućuju pristup ulaznim podacima. Ispod reza je ono što imamo.

Zašto Logitech?

Po našem mišljenju, Logitechovi ulazni uređaji su među najkvalitetnijima i najprikladnijima. Većina uređaja koje imamo temeljena je na Logitech rješenju ujedinjujući je univerzalni dongle prijemnik koji vam omogućuje povezivanje do 6 uređaja. Svi uređaji kompatibilni s tehnologijom Logitech Unifying označeni su logotipom tehnologije Logitech Unifying. Jednostavan za korištenje primjena Omogućuje vam upravljanje povezivanjem bežičnih tipkovnica s vašim računalom. Proces spajanja tipkovnice na Logitechov dongle prijemnik, kao i sama tehnologija, pokriveni su npr. здесь.

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Dongle prijemnik s podrškom za Logitech Unifying

Tipkovnica može postati izvor informacija za napadače. Logitech se, uzimajući u obzir moguću prijetnju, pobrinuo za sigurnost - koristio je algoritam šifriranja AES128 u radio kanalu bežične tipkovnice. Prva pomisao koju bi napadač mogao pomisliti u ovoj situaciji jest presresti ključne informacije koje se prenose preko radijskog kanala tijekom postupka povezivanja. Uostalom, ako imate ključ, možete presresti radio signale tipkovnice i dešifrirati ih. Međutim, korisnik rijetko (ili čak nikada) mora unificirati tipkovnicu, a haker sa skenirajućim radiom morat će dugo čekati. Osim toga, nije sve tako jednostavno sa samim procesom presretanja. U posljednjoj studiji u lipnju 2019. sigurnosni stručnjak Markus Mengs objavio je na internetu сообщение o otkriću ranjivosti u starom firmware-u Logitech USB ključeva. Omogućuje napadačima s fizičkim pristupom uređajima da dobiju ključeve za enkripciju radio kanala i ubace pritiske tipki (CVE-2019-13054).

Govorit ćemo o našoj sigurnosnoj studiji Logitech ključa temeljenog na NRF24 SoC tvrtke Nordic Semiconductor. Počnimo, možda, sa samim radijskim kanalom.

Kako podaci "lete" u radijskom kanalu

Za vremensko-frekvencijsku analizu radio signala koristili smo SDR prijamnik baziran na Blade-RF uređaju u modu analizatora spektra (o tome također možete pročitati здесь).

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

SDR Blade-RF uređaj

Također smo razmotrili mogućnost snimanja kvadratura radijskog signala na srednjoj frekvenciji, koji bi se potom mogli analizirati tehnikama digitalne obrade signala.

Državna komisija za radiofrekvencije u Ruskoj Federaciji otpušteno za upotrebu u uređajima kratkog dometa, frekvencijski raspon je 2400–2483,5 MHz. Ovo je vrlo "naseljen" raspon u kojem nećete pronaći ništa: Wi-Fi, Bluetooth, sve vrste daljinskih upravljača, sigurnosnih sustava, bežičnih detektora, miševa s tipkovnicama i drugih bežičnih digitalnih uređaja.

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Spektar pojasa 2,4 GHz

Okruženje smetnji u tom području prilično je složeno. Unatoč tome, Logitech je uspio osigurati pouzdan i stabilan prijem upotrebom Enhanced ShockBurst protokola u primopredajniku NRF24 u kombinaciji s algoritmima za prilagodbu frekvencije.

Kanali u pojasu smješteni su na položaje cijelog broja MHz kako je definirano u tehnički podaci NRF24 Nordic Semiconductor - ukupno 84 kanala u frekvencijskoj mreži. Broj istovremeno korištenih frekvencijskih kanala od strane Logitecha je, naravno, manji. Identificirali smo upotrebu najmanje četiri. Zbog ograničene propusnosti korištenog analizatora spektra signala, nije se mogao utvrditi točan popis korištenih frekvencijskih pozicija, ali to nije bilo potrebno. Informacije s tipkovnice na dongle prijamnik prenose se u Burst modu (kratka uključivanja odašiljača) pomoću dvopoložajne frekvencijske modulacije GFSK pri brzini simbola od 1 Mbaud:

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Radio signal tipkovnice u prikazu vremena

Primatelj koristi korelacijski princip prijema, pa poslani paket sadrži preambulu i adresni dio. Ne koristi se kodiranje otporno na smetnje; tijelo podataka je šifrirano algoritmom AES128.

Općenito, radio sučelje Logitech bežične tipkovnice može se okarakterizirati kao potpuno asinkrono sa statističkim multipleksiranjem i prilagodbom frekvencije. To znači da odašiljač tipkovnice mijenja kanal za prijenos svakog novog paketa. Prijemnik ne zna unaprijed niti vrijeme prijenosa niti frekvencijski kanal, već je poznat samo njihov popis. Prijemnik i odašiljač susreću se u kanalu zahvaljujući koordiniranoj frekvencijskoj premosnici i algoritmima slušanja, kao i poboljšanim mehanizmima potvrde ShockBurst. Nismo istražili je li popis kanala statičan. Vjerojatno je njegova promjena posljedica algoritma prilagodbe frekvencije. Nešto blisko metodi frekvencijskog skakanja (pseudo-nasumično ugađanje radne frekvencije) može se vidjeti u korištenju frekvencijskog resursa raspona.

Dakle, u uvjetima vremensko-frekvencijske nesigurnosti, da bi se osigurao zajamčeni prijem svih signala tipkovnice, napadač će morati stalno nadzirati cijelu frekvencijsku mrežu od 84 pozicije, što zahtijeva značajno vrijeme. Ovdje postaje jasno zašto ranjivost ekstrakcije USB ključa (CVE-2019-13054) u izvorima pozicioniran kao mogućnost ubacivanja pritisaka na tipke, umjesto dobivanja napadačevog pristupa podacima unesenim s tipkovnice. Očito je da je radio sučelje bežične tipkovnice prilično složeno i pruža pouzdanu radio komunikaciju između Logitech uređaja u teškim uvjetima smetnji u pojasu od 2,4 GHz.

Pogled na problem iznutra

Za naše istraživanje odabrali smo jednu od naših postojećih Logitech K330 tipkovnica i Logitech Unifying ključ.

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Logitech K330

Pogledajmo unutrašnjost tipkovnice. Zanimljiv element na ploči za proučavanje je SoC NRF24 čip tvrtke Nordic Semiconductor.

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

SoC NRF24 na bežičnoj tipkovnici Logitech K330

Firmware se nalazi u unutarnjoj memoriji, mehanizmi za čitanje i otklanjanje pogrešaka su onemogućeni. Nažalost, firmware nije objavljen u otvorenim izvorima. Stoga smo odlučili problemu pristupiti s druge strane - proučiti unutarnji sadržaj Logitech dongle prijemnika.

“Unutarnji svijet” dongle prijemnika je vrlo zanimljiv. Dongle se lako rastavlja, na sebi ima poznato NRF24 izdanje s ugrađenim USB kontrolerom i može se reprogramirati i s USB strane i izravno iz programatora.

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Logitech ključ bez kućišta

Budući da postoji standardni mehanizam za ažuriranje firmvera pomoću Aplikacije alata za ažuriranje firmvera (iz kojeg možete izdvojiti ažuriranu verziju firmvera), nema potrebe tražiti firmver unutar ključa.

Što je učinjeno: firmware RQR_012_005_00028.bin izdvojen je iz tijela aplikacije Firmware Update Tool. Kako bi se provjerio njegov integritet, kontroler dongle spojen je kabelom programatoru ChipProg-48:

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Kabel za spajanje Logitech ključa na ChipProg 48 programator

Kako bi se kontrolirao integritet firmvera, on je uspješno postavljen u memoriju kontrolera i ispravno je radio, tipkovnica i miš su spojeni na dongle preko Logitech Unifyinga. Moguće je učitati modificirani firmware pomoću standardnog mehanizma za ažuriranje, budući da ne postoje mehanizmi kriptografske zaštite za firmware. Za potrebe istraživanja koristili smo fizičku vezu s programatorom, budući da je otklanjanje pogrešaka na taj način mnogo brže.

Istraživanje firmvera i napad na korisnički unos

Čip NRF24 dizajniran je na temelju računalne jezgre Intel 8051 u tradicionalnoj harvardskoj arhitekturi. Za jezgru, primopredajnik djeluje kao periferni uređaj i smješten je u adresni prostor kao skup registara. Dokumentacija za čip i primjeri izvornog koda mogu se pronaći na Internetu, tako da rastavljanje firmvera nije teško. Tijekom obrnutog inženjeringa lokalizirali smo funkcije za primanje podataka o pritisku na tipku s radijskog kanala i njihovo pretvaranje u HID format za prijenos na host putem USB sučelja. Kod za ubrizgavanje smješten je u adrese slobodne memorije, što uključuje alate za presretanje kontrole, spremanje i vraćanje izvornog konteksta izvršenja, kao i funkcionalni kod.

Paket pritiskanja ili otpuštanja tipke koji dongle prima s radijskog kanala se dešifrira, pretvara u standardni HID izvještaj i šalje na USB sučelje kao s obične tipkovnice. Kao dio studije, dio HID izvješća koji nas najviše zanima je dio HID izvješća koji sadrži bajt zastavica modifikatora i niz od 6 bajtova s ​​kodovima pritiska tipki (za referencu, informacije o HID-u здесь).

Struktura HID izvješća:

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

Neposredno prije odašiljanja HID strukture glavnom računalu, umetnuti kod preuzima kontrolu, kopira 8 bajtova izvornih HID podataka u memoriju i šalje ih na radijski kanal u čistom tekstu. U kodu to izgleda ovako:

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

Sporedni kanal je organiziran na frekvenciji koju smo postavili s određenim karakteristikama brzine manipulacije i strukture paketa.

Rad primopredajnika u čipu NRF24 temelji se na grafikonu stanja u koji je organski integriran Enhanced ShockBurst protokol. Otkrili smo da je neposredno prije prijenosa HID podataka na host USB sučelje primopredajnik bio u stanju mirovanja. To omogućuje njegovu sigurnu rekonfiguraciju za rad u bočnom kanalu. Umetnuti kod presreće kontrolu, u potpunosti čuva izvornu konfiguraciju primopredajnika i prebacuje ga na novi način prijenosa na sporednom kanalu. Poboljšani mehanizam potvrde ShockBurst onemogućen je u ovom načinu rada; HID podaci prenose se u jasnom obliku putem zraka. Struktura paketa u bočnom kanalu prikazana je na donjoj slici, dijagrami signala dobiveni su nakon demodulacije i prije ponovne uspostave sinkronizacije takta podataka. Vrijednost adrese odabrana je radi lakše vizualne identifikacije paketa.

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Demodulirani burst Burst signal u bočnom kanalu

Nakon što se paket prenese na sporedni kanal, umetnuti kod vraća stanje primopredajnika. Sada je opet spreman za normalan rad u kontekstu originalnog firmvera.

U frekvencijskoj i vremensko-frekvencijskoj domeni, sporedni kanal izgleda ovako:

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Spektralni i vremensko-frekvencijski prikaz bočnog kanala

Kako bismo testirali rad čipa NRF24 s modificiranim firmwareom, sastavili smo postolje koje je uključivalo Logitech dongle s modificiranim firmwareom, bežičnu tipkovnicu i prijemnik sastavljen na temelju kineskog modula s čipom NRF24.

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Krug za presretanje radio signala bežične tipkovnice Logitech

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Modul temeljen na NRF24

Na stolu, s tipkovnicom koja radi normalno, nakon spajanja na Logitech dongle, uočili smo prijenos jasnih podataka o pritiscima tipki u bočnom radijskom kanalu i normalan prijenos šifriranih podataka u glavnom radijskom sučelju. Stoga smo bili u mogućnosti osigurati izravno presretanje korisničkog unosa s tipkovnice:

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Rezultat presretanja unosa tipkovnice

Umetnuti kod dovodi do malih kašnjenja u radu firmvera ključa. Međutim, oni su premali da bi ih korisnik primijetio.

Kao što možete zamisliti, bilo koja Logitech tipkovnica koja je kompatibilna s tehnologijom Unifying može se koristiti za ovaj vektor napada. Budući da napad cilja prijemnik Unifying koji je uključen u većinu Logitech tipkovnica, ne ovisi o specifičnom modelu tipkovnice.

Zaključak

Rezultati studije upućuju na moguću upotrebu razmatranog scenarija od strane napadača: ako haker zamijeni žrtvu dongle prijemnikom za bežičnu tipkovnicu Logitech, tada će moći saznati lozinke za račune žrtve sa svim posljedičnim posljedice. Ne zaboravite da je također moguće ubrizgati pritiske tipki, što znači da nije teško izvršiti proizvoljni kod na računalu žrtve.

Što ako iznenada napadač može daljinski modificirati firmware bilo kojeg Logitech ključa putem USB-a? Zatim, iz blisko raspoređenih ključeva, možete stvoriti mrežu repetitora i povećati udaljenost curenja. Iako će "financijski bogat" napadač moći "slušati" unos tipkovnice i pritiskati tipke čak i iz susjedne zgrade, moderna oprema za radio prijem s visoko selektivnim sustavima, osjetljivi radio prijemnici s kratkim vremenima podešavanja frekvencije i visoko usmjerene antene omogućit će mu da “slušaju” unos s tipkovnice i pritiskaju tipke čak i iz susjedne zgrade.

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Profesionalna radio oprema

Budući da je bežični kanal prijenosa podataka Logitech tipkovnice prilično dobro zaštićen, pronađeni vektor napada zahtijeva fizički pristup prijemniku, što uvelike ograničava napadača. Jedina opcija zaštite u ovom slučaju bila bi upotreba mehanizama kriptografske zaštite za firmware prijemnika, na primjer, provjera potpisa učitanog firmware-a na strani prijamnika. No, nažalost, NRF24 to ne podržava i nemoguće je implementirati zaštitu unutar trenutne arhitekture uređaja. Stoga vodite računa o svojim ključevima, jer opisana opcija napada zahtijeva fizički pristup njima.

Čuvajte svoje hardverske ključeve: Logitech studija sigurnosti prijamnika tipkovnice

Raccoon Security poseban je tim stručnjaka iz Centra za istraživanje i razvoj Vulcan u području praktične informacijske sigurnosti, kriptografije, dizajna sklopova, obrnutog inženjeringa i izrade softvera niske razine.

Izvor: www.habr.com

Dodajte komentar