Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Historycznie rzecz biorąc, większość pracowników korzysta z bezprzewodowych klawiatur i myszy firmy Logitech. Wpisując po raz kolejny nasze hasła, my, specjaliści z zespołu Raccoon Security, zadaliśmy sobie pytanie: jak trudno jest ominąć mechanizmy bezpieczeństwa klawiatur bezprzewodowych? Badanie ujawniło wady architektoniczne i błędy oprogramowania, które umożliwiają dostęp do danych wejściowych. Poniżej cięcia znajduje się to, co otrzymaliśmy.

Dlaczego Logitech?

Naszym zdaniem urządzenia wejściowe Logitech należą do najwyższej jakości i najwygodniejszych. Większość urządzeń, które posiadamy opiera się na rozwiązaniu Logitecha Unifying to uniwersalny odbiornik klucza sprzętowego, który pozwala na podłączenie aż 6 urządzeń. Wszystkie urządzenia kompatybilne z technologią Logitech Unifying są oznaczone logo technologii Logitech Unifying. Łatwy w użyciu aplikacja Umożliwia zarządzanie połączeniem klawiatur bezprzewodowych z komputerem. Omówiono proces podłączania klawiatury do klucza sprzętowego odbiornika Logitech, a także samą technologię, np. tutaj.

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Odbiornik klucza sprzętowego z obsługą Logitech Unifying

Klawiatura może stać się źródłem informacji dla atakujących. Logitech biorąc pod uwagę możliwe zagrożenie zadbał o bezpieczeństwo - zastosował algorytm szyfrowania AES128 w kanale radiowym klawiatury bezprzewodowej. Pierwszą myślą, jaką atakujący może mieć w tej sytuacji, jest przechwycenie kluczowych informacji przesyłanych kanałem radiowym w trakcie procedury wiązania. W końcu, jeśli masz klucz, możesz przechwycić sygnały radiowe klawiatury i je odszyfrować. Jednak użytkownik rzadko (lub nawet nigdy) nie musi ujednolicać klawiatury, a haker dysponujący radiem skanującym będzie musiał długo czekać. Ponadto nie wszystko jest takie proste w przypadku samego procesu przechwytywania. W najnowszym badaniu przeprowadzonym w czerwcu 2019 r. ekspert ds. bezpieczeństwa Markus Mengs opublikował w Internecie сообщение o odkryciu luki w starym oprogramowaniu sprzętowym kluczy USB firmy Logitech. Umożliwia atakującym posiadającym fizyczny dostęp do urządzeń uzyskanie kluczy szyfrujących kanał radiowy i wstrzykiwanie naciśnięć klawiszy (CVE-2019-13054).

Porozmawiamy o naszym badaniu bezpieczeństwa klucza sprzętowego Logitech opartego na układzie SoC NRF24 firmy Nordic Semiconductor. Zacznijmy może od samego kanału radiowego.

Jak dane „przelatują” w kanale radiowym

Do analizy czasowo-częstotliwościowej sygnału radiowego wykorzystaliśmy odbiornik SDR oparty na urządzeniu Blade-RF w trybie analizatora widma (o tym też można przeczytać tutaj).

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Urządzenie SDR Blade-RF

Rozważaliśmy także możliwość rejestracji kwadratur sygnału radiowego na częstotliwości pośredniej, które można następnie analizować za pomocą technik cyfrowego przetwarzania sygnału.

Państwowa Komisja ds. Częstotliwości Radiowych w Federacji Rosyjskiej dozwolony do użytku przez urządzenia bliskiego zasięgu zakres częstotliwości wynosi 2400–2483,5 MHz. To bardzo „zaludniony” asortyment, w którym nie znajdziemy niczego: Wi-Fi, Bluetooth, wszelkiego rodzaju pilotów, systemów bezpieczeństwa, czujek bezprzewodowych, myszy z klawiaturą i innych bezprzewodowych urządzeń cyfrowych.

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Widmo pasma 2,4 GHz

Środowisko zakłóceń w tym zakresie jest dość złożone. Mimo to Logitech był w stanie zapewnić niezawodny i stabilny odbiór dzięki zastosowaniu protokołu Enhanced ShockBurst w transiwerze NRF24 w połączeniu z algorytmami adaptacji częstotliwości.

Kanały w paśmie są umieszczane w pozycjach będących liczbami całkowitymi MHz, zgodnie z definicją w specyfikacje NRF24 Nordic Semiconductor – łącznie 84 kanały w siatce częstotliwości. Liczba jednocześnie wykorzystywanych przez Logitecha kanałów częstotliwości jest oczywiście mniejsza. Zidentyfikowaliśmy zastosowanie co najmniej czterech. Ze względu na ograniczoną szerokość pasma zastosowanego analizatora widma sygnału nie było możliwe ustalenie dokładnej listy wykorzystanych pozycji częstotliwości, ale nie było to konieczne. Informacje z klawiatury do odbiornika przesyłane są w trybie Burst (krótkie włączenia nadajnika) przy użyciu dwupozycyjnej modulacji częstotliwości GFSK z szybkością symbolu 1 Mbod:

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Sygnał radiowy klawiatury w reprezentacji czasu

Odbiornik wykorzystuje zasadę korelacji odbioru, zatem przesyłany pakiet zawiera preambułę i część adresową. Nie stosuje się kodowania odpornego na zakłócenia, treść danych jest szyfrowana algorytmem AES128.

Ogólnie interfejs radiowy klawiatury bezprzewodowej Logitech można scharakteryzować jako całkowicie asynchroniczny ze statystycznym multipleksowaniem i adaptacją częstotliwości. Oznacza to, że nadajnik klawiatury przełącza kanał w celu przesłania każdego nowego pakietu. Odbiornik nie zna z góry ani czasu transmisji, ani kanału częstotliwości, znana jest jedynie ich lista. Odbiornik i nadajnik spotykają się w kanale dzięki skoordynowanym algorytmom obejścia częstotliwości i nasłuchu, a także mechanizmom potwierdzania Enhanced ShockBurst. Nie sprawdzaliśmy, czy lista kanałów jest statyczna. Prawdopodobnie jego zmiana wynika z algorytmu adaptacji częstotliwości. Coś bliskiego metodzie przeskakiwania częstotliwości (pseudolosowe strojenie częstotliwości roboczej) można dostrzec w wykorzystaniu zasobu częstotliwościowego zakresu.

Zatem w warunkach niepewności czasowo-częstotliwościowej, aby zapewnić gwarantowany odbiór wszystkich sygnałów klawiatury, atakujący będzie musiał stale monitorować całą siatkę częstotliwości składającą się z 84 pozycji, co wymaga znacznej ilości czasu. Tutaj staje się jasne, dlaczego luka w zabezpieczeniach umożliwiająca wyodrębnienie klucza USB (CVE-2019-13054) w źródłach pozycjonowana jako możliwość wstrzykiwania naciśnięć klawiszy zamiast uzyskiwania dostępu atakującego do danych wprowadzanych z klawiatury. Oczywiście interfejs radiowy klawiatury bezprzewodowej jest dość rozbudowany i zapewnia niezawodną komunikację radiową pomiędzy urządzeniami Logitecha w trudnych warunkach zakłócających w paśmie 2,4 GHz.

Spojrzenie na problem od środka

Do naszego badania wybraliśmy jedną z naszych istniejących klawiatur Logitech K330 i klucz sprzętowy Logitech Unifying.

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Logitech K330

Zajrzyjmy do wnętrza klawiatury. Ciekawym elementem na płytce do zbadania jest układ SoC NRF24 firmy Nordic Semiconductor.

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

SoC NRF24 na płycie klawiatury bezprzewodowej Logitech K330

Oprogramowanie sprzętowe znajduje się w pamięci wewnętrznej, mechanizmy odczytu i debugowania są wyłączone. Niestety oprogramowanie sprzętowe nie zostało opublikowane w otwartych źródłach. Dlatego postanowiliśmy podejść do problemu od drugiej strony - przestudiować wewnętrzną zawartość odbiornika klucza sprzętowego Logitech.

„Wewnętrzny świat” odbiornika klucza sprzętowego jest dość interesujący. Dongle można łatwo zdemontować, przenosi na pokładzie znajomą wersję NRF24 z wbudowanym kontrolerem USB i można go przeprogramować zarówno od strony USB, jak i bezpośrednio z programatora.

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Klucz sprzętowy Logitech bez obudowy

Ponieważ istnieje standardowy mechanizm aktualizacji oprogramowania sprzętowego za pomocą Aplikacje narzędzia do aktualizacji oprogramowania sprzętowego (z którego można wyodrębnić zaktualizowaną wersję oprogramowania), nie ma potrzeby szukania oprogramowania wewnątrz klucza sprzętowego.

Co zostało zrobione: oprogramowanie sprzętowe RQR_012_005_00028.bin zostało wyodrębnione z treści aplikacji narzędzia aktualizacji oprogramowania sprzętowego. Aby sprawdzić jego integralność, kontroler kluczowy został podłączony kablem do programatora ChipProg-48:

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Kabel do podłączenia klucza sprzętowego Logitech do programatora ChipProg 48

Aby kontrolować integralność oprogramowania, zostało ono pomyślnie umieszczone w pamięci kontrolera i działało poprawnie, klawiaturę i mysz podłączono do klucza sprzętowego poprzez Logitech Unifying. Możliwe jest wgranie zmodyfikowanego oprogramowania sprzętowego przy użyciu standardowego mechanizmu aktualizacji, ponieważ nie ma mechanizmów ochrony kryptograficznej oprogramowania sprzętowego. Do celów badawczych wykorzystaliśmy fizyczne połączenie z programistą, ponieważ debugowanie w ten sposób jest znacznie szybsze.

Badanie oprogramowania sprzętowego i atak na dane wejściowe użytkownika

Układ NRF24 został zaprojektowany w oparciu o rdzeń obliczeniowy Intel 8051 w tradycyjnej architekturze Harvardu. Dla rdzenia transceiver pełni rolę urządzenia peryferyjnego i jest umieszczany w przestrzeni adresowej jako zbiór rejestrów. Dokumentację chipa i przykłady kodu źródłowego można znaleźć w Internecie, więc demontaż oprogramowania nie jest trudny. Podczas inżynierii wstecznej zlokalizowaliśmy funkcje odbierania danych o naciśnięciach klawiszy z kanału radiowego i konwertowania ich do formatu HID w celu przesłania do hosta poprzez interfejs USB. Kod wtrysku został umieszczony w wolnych adresach pamięci, w których znajdowały się narzędzia do przechwytywania kontroli, zapisywania i przywracania pierwotnego kontekstu wykonania, a także kod funkcjonalny.

Pakiet naciśnięcia lub puszczenia klawisza odebrany przez klucz sprzętowy z kanału radiowego jest odszyfrowywany, konwertowany na standardowy raport HID i wysyłany do interfejsu USB tak, jak ze zwykłej klawiatury. W ramach badania najbardziej interesującą nas częścią raportu HID jest część raportu HID zawierająca bajt flag modyfikatorów oraz tablicę 6 bajtów z kodami naciśnięć klawiszy (dla porównania informacja o HID tutaj).

Struktura raportu 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;

Bezpośrednio przed przesłaniem struktury HID do hosta wstrzyknięty kod przejmuje kontrolę, kopiuje 8 bajtów natywnych danych HID do pamięci i wysyła je do kanału radiowego w postaci zwykłego tekstu. W kodzie wygląda to tak:

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

Kanał boczny jest zorganizowany z częstotliwością, którą ustalamy z pewnymi charakterystykami szybkości manipulacji i struktury pakietu.

Działanie transceivera w chipie NRF24 opiera się na wykresie stanu, z którym organicznie zintegrowany jest protokół Enhanced ShockBurst. Odkryliśmy, że bezpośrednio przed przesłaniem danych HID do interfejsu USB hosta transceiver znajdował się w stanie IDLE. Dzięki temu można bezpiecznie przekonfigurować go do pracy w kanale bocznym. Wstrzyknięty kod przechwytuje sterowanie, zachowuje w całości pierwotną konfigurację transceivera i przełącza go na nowy tryb transmisji na kanale bocznym. W tym trybie mechanizm potwierdzenia Enhanced ShockBurst jest wyłączony; dane HID są przesyłane w przejrzystej formie drogą bezprzewodową. Strukturę pakietu w kanale bocznym przedstawiono na poniższym rysunku, schematy sygnałów uzyskano po demodulacji i przed przywróceniem synchronizacji zegara danych. Wartość adresu została dobrana w celu ułatwienia wizualnej identyfikacji przesyłki.

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Demodulowany sygnał Burst Burst w kanale bocznym

Po przesłaniu pakietu do kanału bocznego, wstrzyknięty kod przywraca stan transceivera. Teraz znów jest gotowy do normalnej pracy w kontekście oryginalnego oprogramowania.

W dziedzinie częstotliwości i czasu-częstotliwości kanał boczny wygląda następująco:

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Reprezentacja widmowa i czasowo-częstotliwościowa kanału bocznego

Aby przetestować działanie układu NRF24 ze zmodyfikowanym oprogramowaniem, zmontowaliśmy stanowisko, które zawierało klucz sprzętowy Logitech ze zmodyfikowanym oprogramowaniem, klawiaturę bezprzewodową oraz odbiornik zmontowany w oparciu o chiński moduł z chipem NRF24.

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Obwód przechwytywania sygnału radiowego klawiatury bezprzewodowej Logitech

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Moduł oparty na NRF24

Na ławce, przy normalnie działającej klawiaturze, po podłączeniu jej do klucza sprzętowego Logitecha, zaobserwowaliśmy transmisję wyraźnych danych o naciśnięciach klawiszy w bocznym kanale radiowym oraz normalną transmisję zaszyfrowanych danych w głównym interfejsie radiowym. W ten sposób byliśmy w stanie zapewnić bezpośrednie przechwytywanie danych wprowadzanych z klawiatury użytkownika:

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Wynik przechwytywania danych wprowadzanych z klawiatury

Wstrzyknięty kod wprowadza niewielkie opóźnienia w działaniu oprogramowania sprzętowego klucza sprzętowego. Są one jednak zbyt małe, aby użytkownik mógł je zauważyć.

Jak możesz sobie wyobrazić, do tego wektora ataku można wykorzystać dowolną klawiaturę Logitech kompatybilną z technologią Unifying. Ponieważ celem ataku jest odbiornik Unifying dołączony do większości klawiatur Logitech, jest on niezależny od konkretnego modelu klawiatury.

wniosek

Wyniki badania sugerują możliwość wykorzystania rozważanego scenariusza przez atakujących: jeśli haker wymieni ofiarę na odbiornik klucza sprzętowego do klawiatury bezprzewodowej Logitech, wówczas będzie mógł poznać hasła do kont ofiary wraz ze wszystkimi wynikającymi z tego konsekwencjami. konsekwencje. Nie zapominaj, że możliwe jest również wstrzykiwanie naciśnięć klawiszy, co oznacza, że ​​wykonanie dowolnego kodu na komputerze ofiary nie jest trudne.

Co się stanie, jeśli nagle osoba atakująca będzie mogła zdalnie zmodyfikować oprogramowanie sprzętowe dowolnego klucza sprzętowego Logitech przez USB? Następnie, korzystając z blisko rozmieszczonych kluczy sprzętowych, można utworzyć sieć wzmacniaków i zwiększyć odległość wycieku. Choć „zamożny finansowo” napastnik będzie w stanie „podsłuchiwać” polecenia z klawiatury i naciskać klawisze nawet z sąsiedniego budynku, to nowoczesny sprzęt radiowy z systemami wysoce selektywnymi, czułe odbiorniki radiowe o krótkich czasach strojenia częstotliwości i anteny silnie kierunkowe pozwolą mu „słuchać” poleceń wprowadzanych z klawiatury i naciskać klawisze nawet z sąsiedniego budynku.

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Profesjonalny sprzęt radiowy

Ponieważ kanał bezprzewodowej transmisji danych klawiatury Logitech jest dość dobrze chroniony, znaleziony wektor ataku wymaga fizycznego dostępu do odbiornika, co znacznie ogranicza atakującego. Jedyną opcją ochrony w tym przypadku byłoby zastosowanie mechanizmów ochrony kryptograficznej oprogramowania odbiornika, na przykład sprawdzenie sygnatury wgranego oprogramowania po stronie odbiornika. Ale niestety NRF24 tego nie obsługuje i nie da się wdrożyć ochrony w obecnej architekturze urządzenia. Uważajcie więc na swoje klucze sprzętowe, gdyż opisana opcja ataku wymaga fizycznego dostępu do nich.

Zadbaj o swoje klucze sprzętowe: badanie bezpieczeństwa odbiornika klawiatury Logitech

Raccoon Security to specjalny zespół ekspertów z Centrum Badawczo-Rozwojowego Vulcan w zakresie praktycznego bezpieczeństwa informacji, kryptografii, projektowania obwodów, inżynierii wstecznej i tworzenia oprogramowania niskiego poziomu.

Źródło: www.habr.com

Dodaj komentarz