
Schwache Verschlüsselung in der Acer Wireless Keyboard SK-9662 erlaubt es einem Angreifer in physischer Nähe, sowohl drahtlose Tastatureingaben zu entschlüsseln als auch beliebige drahtlose Tastatureingaben einzuschleusen.
Ich habe eine schwache Verschlüsselung im drahtlosen Protokoll der kabellosen Acer-Tastatur SK-9662 (FCC-ID: H4IKB9662) entdeckt. Diese schwache Verschlüsselung ermöglicht es einem Angreifer, Tastatureingaben leicht zu überwachen und aufzuzeichnen sowie beliebige Tastatureingaben einzuschleusen.
Die Tastatur verwendet einen Texas-Instruments-CC2545-Chip und überträgt Daten über das von Nordic Semiconductors entwickelte Enhanced-Shockburst-Protokoll. Die Nutzlast besteht aus 12 Bytes, wobei das erste Byte in meinen Tests einen konstanten Wert (0x48) aufweist. Das zweite Byte ist das Modifikator-Byte (Strg, Umschalt usw.), das dritte und vierte Byte sind Consumer- und Powertasten. Das fünfte bis zehnte Byte sind die Tastencodes. Das elfte Byte dient als Prüfsumme und das zwölfte Byte ist die Zufallszahl, die für die Verschlüsselung verwendet wird.
Die Verschlüsselung der Nutzlast beginnt mit der Erzeugung eines Zufallsbytes aus dem Funkrauschen. Ein anderes, in der Firmware gespeichertes Byte (keyvalue) wird als Schlüssel für AES verwendet. Sowohl der Schlüssel als auch das Zufallsbyte werden auf 128 Bit mit Nullen aufgefüllt und an den AES-Coprozessor des CC2545 gesendet. Der AES-Coprozessor ist für den CBC-Modus mit einer Null-IV konfiguriert. Die Ausgabe des AES-Coprozessors wird im Folgenden als xorkey bezeichnet. Die ersten elf Bytes der Nutzlast werden mit den entsprechenden Bytes des xorkey per XOR verknüpft. Das Zufallsbyte ist das letzte Byte der Nutzlast, damit der Empfänger die Nutzlast entschlüsseln kann.
Die Entschlüsselung der Nutzlast ähnelt der Verschlüsselung. Das zwölfte Byte der Nutzlast (der Zufallswert) wird zusammen mit dem keyvalue (das dem Empfänger im Voraus bekannt ist) verwendet, um den xorkey zu erzeugen, und wird mit der verschlüsselten Nutzlast per XOR verknüpft.
Dieses Verschlüsselungsschema lässt sich leicht umgehen, da nur ein Ein-Byte-AES-Schlüssel verwendet wird. Da der Schlüssel auf nur 256 mögliche Werte begrenzt ist, kann er innerhalb von Sekunden per Brute-Force ermittelt werden. Das Python-Skript in diesem Repository zeigt die Brute-Force-Entschlüsselung eines erfassten verschlüsselten Pakets.
Damit diese Schwachstelle ausgenutzt werden kann, muss ein Angreifer in der Lage sein, den 2,4-GHz-Funkverkehr aufzuzeichnen. Dies erfordert räumliche Nähe zur Ziel-Tastatur. Sobald jedoch ein einziges Paket erfasst wurde, kann der AES-Schlüssel innerhalb von Sekunden per Brute-Force ermittelt werden, und Echtzeit-Keylogging sowie Keystroke-Injection sind möglich, wodurch der Angreifer Zugriff auf den Computer des Opfers erlangen kann. Ein beliebtes Wireless-Hacking-Tool, jackit (https://github.com/insecurityofthings/jackit), kann erweitert werden, um das Sniffing und die Injektion von Tastatureingaben in nahegelegene SK-9662-Tastaturen zu unterstützen – und das mit einem günstigen 2,4-GHz-USB-Dongle.
Die Tastatur SK-9662 ist ein veraltetes Produkt. Ein Update-Mechanismus für die Tastatur existiert nicht, und Benutzer sollten die Nutzung der verwundbaren Tastatur einstellen. Acer empfiehlt, auf ein neueres Tastaturprodukt umzusteigen.