Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

Történelmileg úgy alakult, hogy a legtöbb felhasználó a Logitech vezeték nélküli billentyűzeteit és egereit használja. Ismét beírva a jelszavainkat, a Raccoon Security csapatának szakemberei feltették a kérdést: mennyire nehéz megkerülni a vezeték nélküli billentyűzetek védelmi mechanizmusait? A végzett kutatás felfedte a tervezési hiányosságokat és szoftverhibákat, amelyek lehetővé teszik az adatbevitelehez való hozzáférést. A részletek a tovább mögött találhatóak.

Miért Logitech?

Véleményünk szerint a Logitech bemeneti eszközei közül néhány a legjobb minőségű és legkényelmesebb. A birtokunkban lévő eszközök többsége a Logitech megoldásaira épül. Unifying – ez egy univerzális fogadó, amely lehetővé teszi akár 6 eszköz csatlakoztatását. Minden Logitech Unifying technológiát támogató eszköz rendelkezik a megfelelő logóval. Az egyszerű használat lehetővé teszi a vezeték nélküli billentyűzetek számítógéphez való csatlakoztatását. A Logitech dongle-fogadóra való csatlakozás részletes folyamata, mint maga a technológia, például a alkalmazást Logitech Unifying támogatással rendelkező dongle-fogadó. itt.

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

A billentyűzet információforrássá válhat a támadók számára. A Logitech figyelembe véve a lehetséges fenyegetést, gondoskodott a biztonságról – AES128 titkosítási algoritmust alkalmazott a vezeték nélküli billentyűzet rádiócsatornáján. Az első gondolat, ami a támadó eszébe juthat egy ilyen helyzetben, az, hogy kulcsfontosságú információt fogjon el a rádiócsatornán a párosítási eljárás során. Mivel a kulcs birtokában el lehet fogni a billentyűzet rádiójeleit és dekódolni azokat. Azonban a felhasználónak nagyon ritkán (vagy soha) kell a billentyűzetet Unifying eljárással párosítani, és a hackereknek, akik rádió vevővel rendelkeznek, sokáig kell várniuk. Ráadásul a jelzés elfogása sem olyan egyszerű. Az utolsó kutatás során, 2019 júniusában, Markus Mengs, a biztonsági szakértő, közzétette az interneten

a Logitech USB dongle-jének régi firmware-jében felfedezett sebezhetőséget. Ez lehetővé teszi a támadók számára, hogy fizikai hozzáférés esetén megszerezzék a rádiócsatorna titkosítási kulcsait, és billentyűleütéseket injektáljanak (CVE-2019-13054). üzenet Bemutatjuk a Logitech dongle biztonsági kutatásunkat, amely az NRF24 SoC-ra épül a Nordic Semiconductor-tól. Kezdjük talán a legfontosabbal: a rádiócsatornával.

Мы расскажем про наше исследование безопасности донгла Logitech на базе SoC NRF24 от Nordic Semiconductor. А начнем, пожалуй, с самого радиоканала.

Hogyan "repülnek" az adatok a rádiócsatornán

A rádiós jel frekvencia-idő elemzéséhez SDR-vevőt használtunk Blade-RF eszköz alapú spektrum analizáló módban (erről további olvasnivaló is elérhető itt).

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

SDR Blade-RF eszköz

Megvizsgáltuk a jelek kvadraturális rögzítésének lehetőségét az intermediális frekvencián, hogy aztán digitális jelkezelési módszerekkel elemezhessük őket.

Oroszország állami rádiófrekvencia-bizottsága engedélyezte a kis hatótávolságú eszközök használatához a 2400–2483,5 MHz frekvenciatartományban. Ez egy nagyon "zsúfolt" frekvenciatartomány, ahol rengeteg dolog található: Wi-Fi, Bluetooth, különféle távirányítók, riasztórendszerek, vezeték nélküli érzékelők, billentyűzetek és más vezeték nélküli digitális eszközök.

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

A 2,4 GHz-es frekvenciatartomány spektruma

A frekvenciatartomány interferenciahelyzete meglehetősen bonyolult. Ennek ellenére a Logitech vállalat sikeresen biztosította a megbízható és stabil vételt az Enhanced ShockBurst protokoll használatával az NRF24 transceiverben, kombinálva a frekvencia-alkalmazkodási algoritmusokkal.

A tartomány csatornái egész számú MHz-értékekre vannak elhelyezve, ahogy azt a specifikáció NRF24 Nordic Semiconductor határozza meg – összesen 84 csatorna a frekvenciahálón. A Logitech által egy időben használt frekvenciacsatornák száma természetesen kevesebb. Legalább négy használt csatornát azonosítottunk. A használt spektrumelemző korlátozott látószöge miatt a pontosan használt frekvenciapozíciók listáját nem sikerült meghatározni, de ennek nem is volt szüksége. Az információ a billentyűzetről a dongle-receiverhez Burst módban (a transmitter rövid aktiválásaival) kerül átadásra, GFSK kétfokozatú frekvenciamodulációval 1 Mbod szimbólumsebességgel:

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

A billentyűzet rádiós jelszintje időbeli ábrázolásban

A vevő korrelációs elven működik, ezért a továbbított csomagban preambulumnak és címmezőnek kell lennie. A zavarálló kódolás nem alkalmazható, az adatokat AES128 algoritmus segítségével titkosítják.

Általánosságban elmondható, hogy a Logitech vezeték nélküli billentyűzet rádió interfésze teljesen aszinkron, statikus tömörítéssel és frekvenciaalkalmazkodással rendelkezik. Ez azt jelenti, hogy a billentyűzet adója vált csatornát minden új csomag átvitele során. A vevő számára előre ismeretlen az átvitel pontos ideje és a frekvencia csatorna, csupán a listájuk ismert. A vevő és az adó a megállapodott csatornatételek és frekvenciaszkennelési algoritmusok segítségével találkoznak, valamint az Enhanced ShockBurst megerősítési mechanizmusok segítségével. Nem vizsgáltuk, hogy a csatornák listája statikus-e. Valószínű, hogy módosítása a frekvenciaalkalmazkodás algoritmusának köszönhető. Valami közeli a PPRC (pseudorandom frequency reconfiguration) módszerhez kiderül a frekvencia erőforrás használatában.

Így frekvencia-idő bizonytalanság mellett a billentyűzet összes jelének garantált fogadásához a támadónak folyamatosan ellenőriznie kell a 84 pozícióból álló frekvencia hálót, ami jelentős időigényeket követel meg. Itt világossá válik, miért sebezhető a kulcs kinyerésének lehetősége USB-n keresztül (CVE-2019-13054). a forrásokban mint a billentyűleütések injektálásának lehetősége jelenik meg, nem pedig a támadó hozzáférésének a billentyűzeten bevitt adatokhoz. Nyilvánvaló, hogy a vezeték nélküli billentyűzet rádió interfésze kellően bonyolult, és megbízható rádiós kapcsolatot biztosít a Logitech eszközök között a 2,4 GHz-es spektrum bonyolult zavaros környezetében.

Belső nézőpontból a problémára

A kutatáshoz kiválasztottuk a rendelkezésünkre álló Logitech K330 billentyűzetet és a Logitech Unifying donglet.

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

Logitech K330

Nézzünk bele a billentyűzetbe. Egy érdekes kutatási elem az áramkörön – a Nordic Semiconductor NRF24 SoC chip.

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

NRF24 SoC a Logitech K330 vezeték nélküli billentyűzet áramkörén

A firmware a belső memóriában található, az olvasási és hibakeresési mechanizmusok ki vannak kapcsolva. Sajnos a firmware nyílt forrásokban nem került közzétételre. Ezért úgy döntöttünk, hogy más megközelítést alkalmazunk – tanulmányozzuk a Logitech donglilevelező belső működését.

A "belső világ" dongle vevője elég érdekes módon van megtervezve. A dongle könnyen szétszedhető, a fedélzetén ismerős NRF24 található beépített USB-vezérlővel, és újraprogramozható USB oldalról, valamint közvetlenül programozóval is.

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

Ház nélküli Logitech dongle

Mivel van egy beépített firmware-frissítési mechanizmus a Firmware Update Tool alkalmazáson keresztül (amelyből kinyerhetjük a legújabb firmware verziót), nem szükséges a firmware-t a dongle-ban keresni.

A következő történt: a Firmware Update Tool alkalmazásból ki lett nyerve a RQR_012_005_00028.bin firmware. Az integritás ellenőrzésére a dongle vezérlőjét csatlakoztuk egy ChipProg-48 programozó kábelhez. Logitech dongle csatlakoztatása ChipProg 48 programozóhoz:

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

A firmware integritásának ellenőrzésére sikeresen elhelyeztük a programozó memóriájában, és helyesen működött, a billentyűzet és az egér a Logitech Unifying dongle-hoz volt csatlakoztatva. Lehetőség van módosított firmware feltöltésére a beépített frissítési mechanizmus segítségével, mivel a firmware-hez nem tartoznak titkosítási védelmi mechanizmusok. Mi a kutatás céljából fizikai csatlakozást használtunk a programozóhoz, mivel így a hibakeresés sokkal gyorsabb.

A firmware kutatása és a felhasználói bevitel elleni támadás

Az NRF24 chip az Intel 8051 számítógépes mag alapjain készült, a hagyományos Harvard architektúrában. A vevő a mag számára perifériás eszközként működik, és a címzési térben regisztereként helyezkedik el. A chip dokumentációját és forráskód példáit az interneten megtalálhatjuk, tehát a firmware disassembler használata nem jelent nehézséget. A visszafejlesztés során lokalizáltuk a gombnyomások adatainak beszerzésére és azok HID formátumba való átkonvertálására vonatkozó funkciókat, hogy USB interfészen keresztül a gazdagéphez továbbíthassuk. A memória felszabadult címeire injekciós kód került, amely tartalmazta az irányítás átvételéhez, valamint az eredeti végrehajtási kontextus megőrzéséhez és helyreállításához szükséges eszközöket, valamint a funkcionális kódot.

Az NRF24 chip az Intel 8051 számítógépes mag alapjain készült, a hagyományos Harvard architektúrában. A vevő a mag számára perifériás eszközként működik, és a címzési térben regisztereként helyezkedik el. A chip dokumentációját és forráskód példáit az interneten megtalálhatjuk, tehát a firmware disassembler használata nem jelent nehézséget. A visszafejlesztés során lokalizáltuk a gombnyomások adatainak beszerzésére és azok HID formátumba való átkonvertálására vonatkozó funkciókat, hogy USB interfészen keresztül a gazdagéphez továbbíthassuk. A memória felszabadult címeire injekciós kód került, amely tartalmazta az irányítás átvételéhez, valamint az eredeti végrehajtási kontextus megőrzéséhez és helyreállításához szükséges eszközöket, valamint a funkcionális kódot.

A dongle packet received from the radio channel for pressing or releasing a key is decrypted, transformed into a standard HID report, and sent to the USB interface as if from a regular keyboard. Within the framework of the study, we are most interested in the part of the HID report that contains a byte of modifier flags and an array of 6 bytes with key press codes (for reference, information about HID itt).

The structure of the HID report:

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

Immediately before transmitting the HID structure to the host, the injected code takes control, copies 8 bytes of native HID data into memory, and sends it over the side radio channel in clear text. In the code, this looks like:

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

The side channel is organized at a frequency we have set with specific characteristics of manipulation speed and packet structure.

Operation of the transceiver in the chip NRF24 is based on a state graph that seamlessly integrates the Enhanced ShockBurst protocol. We determined that immediately before transmitting HID data to the host's USB interface, the transceiver was in an IDLE state. This allows for its safe reconfiguration to operate on the side channel. The injected code intercepts control, retains the original configuration of the transceiver in its entirety, and switches it to a new transmission mode for the side channel. The acknowledgment mechanism of Enhanced ShockBurst in this mode is turned off, and HID data is transmitted in clear text over the radio. The structure of the packet in the side channel is shown in the diagram below, and the signal waveforms are obtained after demodulation and prior to restoring the data clock synchronization. The address value is chosen for convenience in visual identification of the packet.

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

The demodulated signal of the Burst packet in the side channel

After the packet transmission in the side channel is completed, the injected code restores the state of the transceiver. It is now ready to operate again in normal mode in the context of the original firmware.

In the frequency and time-frequency domains, the side channel appears as shown in the figure:

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

Spectral and time-frequency representation of the side channel

A NRF24 chip verification test setup was assembled, which included a Logitech dongle with modified firmware, a wireless keyboard, and a receiver built on a Chinese module with an NRF24 chip.

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

Diagram of interception of the Logitech wireless keyboard radio signal

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

Module based on NRF24

In the setup, during normal keyboard operation after connecting it to the Logitech dongle, we observed the transmission of open data about key presses in a side radio channel and normal transmission of encrypted data in the main radio interface. Thus, we managed to ensure direct interception of user keyboard input:

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

Result of keyboard input interception

The injected code introduces slight delays in the dongle's firmware operation. However, they are too small for the user to notice.

As you understand, any Logitech keyboard compatible with Unifying technology can be used for such an attack vector. Since the attack targets the Unifying receiver, which is included with most Logitech keyboards, it is independent of the specific keyboard model.

Zárás

The results of the research suggest a potential scenario for misuse: if a hacker replaces a victim's dongle receiver for the Logitech wireless keyboard, they could gain access to the victim's account passwords with all the ensuing consequences. One should not forget that injecting key presses is also possible, meaning executing arbitrary code on the victim's computer is not difficult.

What if the attacker could remotely modify the firmware of any Logitech dongle via USB? Then, nearby dongles could form a relay network, extending the range of data leakage. Although a 'financially capable' attacker could use modern radio reception equipment with highly selective systems, sensitive receivers with low frequency switching time, and directional antennas to 'listen' to keyboard input and keystrokes even from the neighboring building.

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

Professional radio reception equipment

Mivel a Logitech billentyűzet adatátviteli vezeték nélküli csatornája megfelelően védett, az észlelt támadási vektor fizikai hozzáférést igényel a vevőhöz, ami jelentősen korlátozza a támadót. Az egyetlen védelmi lehetőség ebben az esetben a kriptográfiai védelmi mechanizmusok használata lehetne a vevő firmware-jének frissítéséhez, például a vevő oldali firmware aláírásának ellenőrzése. Sajnos azonban az NRF24 ezt nem támogatja, és a jelenlegi eszközarchitektúrában a védelem megvalósítása lehetetlen. Vigyázzon a dongle-jaira, mivel a leírt támadási lehetőség fizikai hozzáférést igényel hozzájuk.

Óvja a dongle-okat: a Logitech billentyűzet vevőjének biztonsági kutatása

A Raccoon Security a «Vulkan» Központ specializált szakértői csapata, akik az információbiztonság, kriptográfia, áramkör tervezés, fordított fejlesztés és alacsony szintű szoftverfejlesztés terén dolgoznak.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster