Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Historisch gesehen verwenden die meisten Mitarbeiter kabellose Tastaturen und Mäuse von Logitech. Als wir noch einmal unsere Passwörter eingegeben haben, haben wir, die Spezialisten des Raccoon Security-Teams, uns gefragt: Wie schwierig ist es, die Sicherheitsmechanismen drahtloser Tastaturen zu umgehen? Die durchgeführte Untersuchung ergab Architekturmängel und Softwarefehler, die den Zugriff auf die Eingabedaten ermöglichen. Under the Cut – was wir bekommen haben.

Warum Logitech?

Unserer Meinung nach gehören die Eingabegeräte von Logitech zu den hochwertigsten und komfortabelsten. Die meisten unserer Geräte basieren auf der Logitech-Lösung Vereinheitlichend ist ein universeller Dongle-Empfänger, mit dem Sie bis zu 6 Geräte anschließen können. Alle mit der Logitech Unifying-Technologie kompatiblen Geräte sind mit dem entsprechenden Logo gekennzeichnet. Einfach zu verwenden приложение ermöglicht Ihnen die Verwaltung der Verbindung drahtloser Tastaturen mit Ihrem Computer. Der Vorgang des Anschließens der Tastatur an den Logitech-Dongle-Empfänger sowie die Technologie selbst werden ausführlich behandelt, z. B. hier.

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Logitech Unifying Dongle-Empfänger

Die Tastatur kann zur Informationsquelle für Eindringlinge werden. Logitech hat sich unter Berücksichtigung der möglichen Bedrohung um die Sicherheit gekümmert und den AES128-Verschlüsselungsalgorithmus im Funkkanal der drahtlosen Tastatur angewendet. Der erste Gedanke, der einem Angreifer in dieser Situation kommen könnte, ist das Abfangen wichtiger Informationen während der Übertragung über die Luft während des Bindungsvorgangs. Denn wer einen Schlüssel besitzt, kann die Funksignale der Tastatur abfangen und entschlüsseln. Es kommt jedoch sehr selten (oder nie) vor, dass ein Benutzer eine Tastatur mit einem Unifying-Verfahren bindet, und ein Hacker mit einem Scan-Radio muss lange warten. Darüber hinaus ist beim Abhörvorgang selbst nicht alles so einfach. In der neuesten Studie im Juni 2019 veröffentlichte der Sicherheitsexperte Markus Mengs online Nachricht über die Entdeckung einer Schwachstelle in der alten Firmware von Logitech USB-Dongles. Es ermöglicht Angreifern mit physischem Zugriff auf Geräte, Schlüssel zur Funkkanalverschlüsselung zu erhalten und Tastenanschläge einzuschleusen (CVE-2019-13054).

Wir werden unsere Sicherheitsstudie eines Logitech-Dongles behandeln, der auf dem NRF24-SoC von Nordic Semiconductor basiert. Und beginnen wir vielleicht mit dem Radiosender selbst.

Wie Daten im Funkkanal „fliegen“.

Für die Zeit-Frequenz-Analyse des Funksignals verwendeten wir einen SDR-Empfänger auf Basis des Blade-RF-Geräts im Spektrumanalysator-Modus (Sie können auch darüber lesen). hier).

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

SDR Blade-RF-Gerät

Wir haben auch über die Möglichkeit nachgedacht, Quadraturen des Funksignals auf einer Zwischenfrequenz aufzuzeichnen, um sie anschließend mit Methoden der digitalen Signalverarbeitung zu analysieren.

Staatliche Kommission für Funkfrequenzen in der Russischen Föderation dürfen zur Nutzung durch Kurzstreckengeräte im Frequenzbereich 2400-2483,5 MHz. Dies ist ein sehr „bevölkerter“ Bereich, in dem Sie nichts finden: Wi-Fi, Bluetooth, alle Arten von Fernbedienungen, Sicherheitssysteme, drahtlose Detektoren, Mäuse mit Tastaturen und andere drahtlose digitale Geräte.

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

2,4-GHz-Bandspektrum

Die Interferenzsituation im Bereich ist ziemlich kompliziert. Dennoch konnte Logitech durch den Einsatz des Enhanced ShockBurst-Protokolls im NRF24-Transceiver in Kombination mit Frequenzanpassungsalgorithmen einen zuverlässigen und stabilen Empfang gewährleisten.

Die Kanäle im Band werden an ganzzahligen MHz-Positionen platziert, wie in definiert Spezifikationen NRF24 Nordic Semiconductor – insgesamt 84 Kanäle im Frequenzraster. Die Anzahl der von Logitech gleichzeitig genutzten Frequenzkanäle ist natürlich geringer. Wir haben die Verwendung von mindestens vier identifiziert. Aufgrund der begrenzten Reichweite des verwendeten Signalspektrumanalysators war es nicht möglich, die genaue Liste der verwendeten Frequenzpositionen zu ermitteln, dies war jedoch auch nicht erforderlich. Informationen von der Tastatur zum Dongle-Empfänger werden im Burst-Modus (kurzes Einschalten des Senders) unter Verwendung der zweistufigen Frequenzmodulation GFSK mit einer Symbolrate von 1 MBaud übertragen:

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Funksignal der Tastatur in der Zeitansicht

Der Empfänger nutzt das Korrelationsprinzip des Empfangs, das übertragene Paket enthält also eine Präambel und einen Adressteil. Es wird keine fehlerkorrigierende Codierung verwendet, der Datenkörper wird mit dem AES128-Algorithmus verschlüsselt.

Im Allgemeinen kann die Luftschnittstelle einer drahtlosen Logitech-Tastatur als vollständig asynchron mit statistischem Divisionsmultiplex und Frequenzgang charakterisiert werden. Das bedeutet, dass der Tastatursender den Kanal wechselt, um jedes neue Paket zu übertragen. Der Empfänger kennt im Voraus weder die Sendezeit noch den Frequenzkanal, sondern nur eine Liste davon. Empfänger und Sender treffen sich auf dem Kanal dank der vereinbarten Frequenzumgehungs- und Abhöralgorithmen sowie der Enhanced ShockBurst-Bestätigungsmechanismen. Wir haben nicht untersucht, ob die Senderliste statisch ist. Wahrscheinlich ist seine Änderung auf den Frequenzanpassungsalgorithmus zurückzuführen. In der Nutzung der Frequenzressource des Bereichs wird etwas Ähnliches wie das PRCH-Verfahren (pseudozufällige Abstimmung der Betriebsfrequenz) vermutet.

Um den Empfang aller Tastatursignale zu gewährleisten, muss ein Angreifer unter Bedingungen der Zeit-Frequenz-Unsicherheit ständig das gesamte Frequenzraster des Bereichs von 84 Positionen überwachen, was einen erheblichen Zeitaufwand erfordert. Hier wird deutlich, warum die Sicherheitslücke beim Extrahieren von USB-Sticks besteht (CVE-2019-13054) in Quellen Dabei handelt es sich eher um die Möglichkeit, Tastenanschläge einzuschleusen, als dass ein Angreifer Zugriff auf über die Tastatur eingegebene Daten erhält. Offensichtlich ist die Funkschnittstelle der kabellosen Tastatur recht komplex und sorgt für eine zuverlässige Funkkommunikation zwischen Logitech-Geräten in einer schwierigen Störumgebung im 2,4-GHz-Band.

Ein Einblick in das Problem

Für die Recherche haben wir eine unserer verfügbaren Logitech K330-Tastaturen und einen Logitech Unifying-Dongle ausgewählt.

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Logitech K330

Werfen wir einen Blick ins Innere der Tastatur. Ein für die Forschung interessantes Element auf der Platine ist der SoC NRF24-Chip von Nordic Semiconductor.

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

NRF24 SoC auf dem Logitech K330 Wireless Keyboard Board

Die Firmware befindet sich im internen Speicher, die Lese- und Debugging-Mechanismen sind ausgeschaltet. Leider wurde die Firmware nicht in Open Source veröffentlicht. Aus diesem Grund haben wir uns entschieden, das Problem von der anderen Seite anzugehen – den internen Inhalt des Logitech-Dongle-Empfängers zu untersuchen.

Die „innere Welt“ des Dongle-Empfängers ist sehr interessant. Der Dongle lässt sich leicht zerlegen, trägt den uns bekannten NRF24 mit integriertem USB-Controller an Bord und kann sowohl von der USB-Seite als auch direkt vom Programmierer neu programmiert werden.

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Dongle Logitech ohne Hülle

Da es einen regulären Firmware-Update-Mechanismus gibt Firmware-Update-Tool (aus dem Sie die aktualisierte Version der Firmware extrahieren können), ist es nicht erforderlich, im Dongle nach der Firmware zu suchen.

Was wurde getan: Die Firmware RQR_012_005_00028.bin wurde aus dem Hauptteil der Firmware Update Tool-Anwendung extrahiert. Um seine Integrität zu überprüfen, wurde der Dongle-Controller durch eine Schleife verbunden an den Programmierer ChipProg-48:

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Logitech-Dongle-Verbindungskabel für ChipProg 48-Programmierer

Um die Integrität der Firmware zu kontrollieren, wurde sie erfolgreich im Speicher des Controllers abgelegt und funktionierte ordnungsgemäß. Tastatur und Maus wurden über Logitech Unifying mit dem Dongle verbunden. Es ist möglich, die geänderte Firmware über den Standard-Update-Mechanismus hochzuladen, da keine kryptografischen Schutzmechanismen für die Firmware vorhanden sind. Zu Forschungszwecken haben wir eine physische Verbindung zum Programmierer genutzt, da das Debuggen auf diese Weise viel schneller geht.

Firmware-Untersuchung und Angriff auf Benutzereingaben

Der NRF24-Chip basiert auf dem Intel 8051-Rechenkern in der traditionellen Harvard-Architektur. Für den Kernel fungiert der Transceiver als Peripheriegerät und befindet sich als Registersatz im Adressraum. Dokumentation zum Chip und Beispiele für Quellcode finden Sie im Internet, sodass das Zerlegen der Firmware kein Problem darstellt. Im Zuge des Reverse Engineering haben wir die Funktionen zum Empfang von Tastendruckdaten vom Funkkanal und deren Umwandlung in das HID-Format zur Übertragung an den Host über die USB-Schnittstelle lokalisiert. In freien Speicheradressen wurde der Injektionscode platziert, der Tools zum Abfangen der Kontrolle, Speichern und Wiederherstellen des ursprünglichen Ausführungskontexts sowie Funktionscode umfasste.

Das vom Dongle über den Funkkanal empfangene Paket zum Drücken oder Loslassen einer Taste wird entschlüsselt, in einen Standard-HID-Bericht umgewandelt und wie von einer herkömmlichen Tastatur an die USB-Schnittstelle gesendet. Im Rahmen der Studie ist für uns der Teil des HID-Berichts von größtem Interesse, der das Byte der Modifikatorflags und ein Array von 6 Bytes mit Tastenanschlagscodes enthält (als Referenz Informationen zu HID). hier).

Struktur des HID-Berichts:

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

Unmittelbar vor der Übergabe der HID-Struktur an den Host erhält der injizierte Code die Kontrolle, kopiert 8 Byte nativer HID-Daten in den Speicher und sendet sie im Klartext an den Funkseitenkanal. Im Code sieht es so aus:

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

Der Seitenkanal wird auf der von uns eingestellten Frequenz mit bestimmten Eigenschaften der Manipulationsgeschwindigkeit und Paketstruktur organisiert.

Betrieb des Transceivers in einem Chip NRF24 basiert auf einem Zustandsgraphen, in den das Enhanced ShockBurst-Protokoll organisch eingeschrieben ist. Wir haben festgestellt, dass sich der Transceiver im IDLE-Zustand befand, kurz bevor die HID-Daten an die Host-USB-Schnittstelle gesendet wurden. Dadurch ist eine sichere Umrüstung für den Seitenkanalbetrieb möglich. Der injizierte Code überschreibt die Steuerung, behält die ursprüngliche Konfiguration des Transceivers vollständig bei und versetzt ihn in einen neuen Übertragungsmodus auf dem Seitenkanal. Der Enhanced ShockBurst-Bestätigungsmechanismus ist in diesem Modus deaktiviert, HID-Daten werden im Klartext drahtlos übertragen. Die Struktur des Pakets im Seitenkanal ist in der folgenden Abbildung dargestellt. Die Signaldiagramme werden nach der Demodulation und vor der Wiederherstellung des Datentakts erhalten. Der Adresswert wird zur bequemen visuellen Identifizierung des Pakets ausgewählt.

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Demoduliertes Burst-Burst-Signal im Seitenkanal

Nach Abschluss der Übertragung des Pakets an den Seitenkanal stellt der injizierte Code den Zustand des Transceivers wieder her. Nun ist es im Kontext der Original-Firmware wieder betriebsbereit.

Im Frequenz- und Zeit-Frequenz-Bereich sieht der Seitenkanal folgendermaßen aus:

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Spektrale und Zeit-Frequenz-Darstellung des Seitenkanals

Um den Betrieb des NRF24-Chips mit modifizierter Firmware zu testen, haben wir einen Prüfstand zusammengestellt, der einen Logitech-Dongle mit modifizierter Firmware, eine drahtlose Tastatur und einen auf Basis eines chinesischen Moduls mit NRF24-Chip aufgebauten Empfänger enthielt.

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Funküberwachungsdiagramm für kabellose Logitech-Tastaturen

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

NRF24-basiertes Modul

Auf dem Prüfstand beobachteten wir während des normalen Betriebs der Tastatur nach dem Anschließen an den Logitech-Dongle die Übertragung offener Daten bei Tastenanschlägen im Nebenfunkkanal und die normale Übertragung verschlüsselter Daten in der Hauptfunkschnittstelle. So ist es uns gelungen, die Tastatureingaben des Benutzers direkt abzufangen:

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Das Ergebnis des Abfangens von Tastatureingaben

Der eingeschleuste Code führt zu kleinen Verzögerungen beim Betrieb der Dongle-Firmware. Sie sind jedoch zu klein, als dass der Benutzer sie bemerken könnte.

Wie Sie wissen, können Sie für einen solchen Angriffsvektor jede Logitech-Tastatur verwenden, die mit der Unifying-Technologie kompatibel ist. Da der Angriff auf den Unifying-Empfänger gerichtet ist, der in den meisten Logitech-Tastaturen enthalten ist, ist er unabhängig vom jeweiligen Tastaturmodell.

Abschluss

Die Ergebnisse der Studie deuten darauf hin, dass das betrachtete Szenario von Angreifern genutzt werden kann: Wenn ein Hacker das Opfer durch einen Dongle-Empfänger für eine kabellose Logitech-Tastatur ersetzt, kann er die Passwörter zu den Konten des Opfers mit allem, was sich daraus ergibt, herausfinden Folgen. Vergessen Sie nicht, dass es auch möglich ist, Tastenanschläge einzuschleusen, was bedeutet, dass es nicht schwierig ist, beliebigen Code auf dem Computer des Opfers auszuführen.

Was wäre, wenn ein Angreifer die Firmware eines beliebigen Logitech-Dongles über USB aus der Ferne ändern könnte? Dann können Sie aus eng beieinander liegenden Dongles ein Netzwerk von Repeatern aufbauen und die Leckentfernung vergrößern. Obwohl moderne Funkempfangsmittel mit hochselektiven Systemen, empfindliche Funkempfänger mit kurzer Frequenzabstimmzeit und eng ausgerichteten Antennen es einem „finanziell abgesicherten“ Angreifer ermöglichen, Tastatureingaben zu „hören“ und Tasten auch von einem benachbarten Gebäude aus zu drücken.

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Professionelle Funkausrüstung

Da die drahtlose Datenverbindung der Logitech-Tastatur recht gut geschützt ist, erfordert der gefundene Angriffsvektor einen physischen Zugriff auf den Empfänger, was den Angreifer stark einschränkt. Die einzige Schutzmöglichkeit könnte in diesem Fall der Einsatz kryptografischer Schutzmechanismen für die Firmware des Empfängers sein, beispielsweise die Überprüfung der Signatur der heruntergeladenen Firmware auf Seiten des Empfängers. Doch leider unterstützt NRF24 dies nicht und es ist unmöglich, einen Schutz innerhalb der aktuellen Gerätearchitektur zu implementieren. Passen Sie also gut auf Ihre Dongles auf, denn die beschriebene Angriffsmöglichkeit erfordert einen physischen Zugriff auf diese.

Passen Sie auf Ihre Dongles auf: Sicherheitsstudie für Logitech-Tastaturempfänger

Raccoon Security ist ein engagiertes Team von Vulkan STC-Experten in den Bereichen praktische Informationssicherheit, Kryptographie, Schaltkreise, Reverse Engineering und Low-Level-Softwareentwicklung.

Source: habr.com

Kommentar hinzufügen