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
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
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
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
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
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)
Pogled na problem iznutra
Za naše istraživanje odabrali smo jednu od naših postojećih Logitech K330 tipkovnica i Logitech Unifying ključ.
Logitech K330
Pogledajmo unutrašnjost tipkovnice. Zanimljiv element na ploči za proučavanje je SoC NRF24 čip tvrtke Nordic Semiconductor.
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.
Logitech ključ bez kućišta
Budući da postoji standardni mehanizam za ažuriranje firmvera pomoću
Š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
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
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:
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.
Krug za presretanje radio signala bežične tipkovnice Logitech
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:
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.
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.
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