Intelligente Glühbirnen könnten Ihre Passwortgeheimnisse preisgeben

Blog

HeimHeim / Blog / Intelligente Glühbirnen könnten Ihre Passwortgeheimnisse preisgeben

Sep 02, 2023

Intelligente Glühbirnen könnten Ihre Passwortgeheimnisse preisgeben

Ein Forschertrio aus Italien und dem Vereinigten Königreich hat kürzlich einen Artikel über kryptografische Unsicherheiten veröffentlicht, die sie in einer weithin bekannten intelligenten Glühbirne gefunden haben. Die Forscher scheinen sich entschieden zu haben

Ein Forschertrio aus Italien und dem Vereinigten Königreich hat kürzlich einen Artikel über kryptografische Unsicherheiten veröffentlicht, die sie in einer weithin bekannten intelligenten Glühbirne gefunden haben.

Die Forscher scheinen ihr Zielgerät, den TP-Link Tapo L530E, auf der Grundlage ausgewählt zu haben, dass er „derzeit [der] Bestseller auf Amazon Italien“ ist. Daher wissen wir nicht, wie andere intelligente Glühbirnen dastehen, wohl aber ihre Der Bericht kann uns jedenfalls viel lehren.

Die Forscher sagen:

Wir haben TP-Link über das Vulnerability Research Program (VRP) pflichtbewusst kontaktiert und alle vier von uns gefundenen Schwachstellen gemeldet.

Sie haben sie alle zur Kenntnis genommen und uns mitgeteilt, dass sie mit der Arbeit an Korrekturen sowohl auf der App- als auch auf der Lampen-Firmware-Ebene begonnen haben und planen, diese zu gegebener Zeit zu veröffentlichen.

Im Guten wie im Schlechten (die Autoren des Papiers sagen nicht, ob mit TP-Link irgendwelche Offenlegungstermine vereinbart wurden, daher wissen wir nicht, wie lange das Unternehmen an seinen Patches gearbeitet hat), haben die Forscher nun enthüllt, wie Ihre Angriffe funktionieren, auch wenn sie keinen kopier- und einfügbaren Angriffscode bereitstellen, den Möchtegern-Heimhacker nach Belieben ausnutzen können.

Wir waren daher der Meinung, dass es sich lohnt, sich mit dem Papier zu befassen.

Wie viele sogenannte „intelligente“ Geräte ist auch der Tapo L530E so konzipiert, dass er schnell und einfach über WLAN eingerichtet werden kann.

Obwohl die drahtlose Konfiguration selbst bei batteriebetriebenen Geräten, die über integrierte USB-Anschlüsse aufgeladen und eingerichtet werden können, wie Kameras und Fahrradzubehör, üblich ist, verfügen Glühbirnen im Allgemeinen nicht über USB-Anschlüsse, nicht zuletzt aus Platz- und Sicherheitsgründen Gründe, da sie dafür konzipiert sind, an eine Steckdose angeschlossen und dort belassen zu werden.

Durch wiederholtes Ein- und Ausschalten einer Tapo L530E-Glühbirne am Wandschalter für jeweils eine Sekunde können Sie den Einrichtungsmodus erzwingen (anscheinend blinkt die Glühbirne automatisch dreimal, um Ihnen mitzuteilen, wann sie zur Konfiguration bereit ist).

Wie die meisten automatisch konfigurierbaren Geräte verwandelt sich die intelligente Glühbirne dadurch in einen WLAN-Zugangspunkt mit einem leicht erkennbaren Netzwerknamen in der Form Tapo Bulb XXXX, wobei die X eine Ziffernfolge bilden.

Anschließend stellen Sie über eine App auf Ihrem Smartphone eine Verbindung zu diesem temporären Zugangspunkt her, der nicht passwortgeschützt ist.

Anschließend sagen Sie der Glühbirne, wie sie sich in Zukunft sowohl mit Ihrem passwortgeschützten WLAN-Heimnetzwerk als auch mit Ihrem TP-Link-Cloud-Konto verbinden soll. Anschließend kann die Firmware der Glühbirne neu starten und sich mit dem Internet verbinden, sodass Sie sie verwalten können über die App auf Ihrem Telefon.

Die Glühbirne kann mit dem Heimnetzwerk verbunden werden, was bedeutet, dass Sie sie direkt über Ihr eigenes WLAN kontaktieren können, wenn Sie zu Hause sind, auch wenn Ihr ISP gerade offline ist.

Und die Glühbirne kann über das Internet eine Verbindung zu Ihrem Cloud-Konto herstellen, sodass Sie auch unterwegs Befehle indirekt über Ihr Cloud-Konto an sie senden können, um beispielsweise das Licht ein- und auszuschalten, wenn Sie zu spät wieder einsteigen um den Eindruck zu erwecken, dass jemand zu Hause ist.

Sie können wahrscheinlich erraten, wohin das führt.

Wenn die App auf Ihrem Telefon nicht über eine kryptografisch starke Möglichkeit verfügt, beim Durchführen des Einrichtungsvorgangs herauszufinden, ob tatsächlich eine Verbindung zu einer echten Glühbirne hergestellt wurde ...

… dann könnte ein Angreifer in der Nähe, der zufällig im richtigen Moment einen gefälschten Tapo Bulb XXXX-Zugangspunkt startet, Sie dazu verleiten, diese wichtigen Setup-Geheimnisse an sein „Betrüger-Birne“-Gerät statt an das echte Gerät zu senden und so Ihr WLAN zu stehlen -Fi-Passwort und Ihre TP-Link-Kontodaten.

Die gute Nachricht ist, dass die Forscher festgestellt haben, dass sowohl die Tapo-App als auch die L530E-Firmware eine grundlegende Sicherheitsprüfung enthalten, die der App und Ihren Glühbirnen dabei hilft, einander zuverlässig zu finden, und so das Risiko verringert, dass die App Ihre Passwörter preisgibt, wenn sie es nicht sollte 'T.

Aber die schlechte Nachricht ist, dass das dafür verwendete Protokoll wirklich eine Glühbirne ist? Der Austausch war eindeutig darauf ausgerichtet, Fehler zu vermeiden und nicht darauf, Angriffe zu verhindern.

Vereinfacht ausgedrückt lokalisiert die App alle Glühbirnen in ihrem Netzwerk, indem sie spezielle UDP-Pakete an Port 20002 sendet und prüft, welche Geräte ggf. antworten.

Um allen zuhörenden Glühbirnen bei der Entscheidung zu helfen, ob Sie da sind? Obwohl die Anfrage von der Tapo-App kam und nicht von einem anderen unbekannten Produkt oder Dienst, der zufällig ebenfalls Port 20002 verwendet, enthält die Anfrage etwas, das im Fachjargon als verschlüsselter Hash bezeichnet wird.

Das Ich bin hier! Die Antwort der Glühbirne enthält dieselbe Art verschlüsselter Prüfsumme, um der App dabei zu helfen, unerwartete und unerwünschte UDP-Antworten herauszufiltern.

Einfach ausgedrückt ist der verschlüsselte Hash eine Prüfsumme, die nicht nur auf den Daten im UDP-Paket basiert, sondern auch auf einigen zusätzlichen Schlüsselbytes, die ebenfalls in die Prüfsumme eingefügt werden.

Leider verwendet das Tapo-Protokoll feste Schlüsselbytes für seine Prüfsumme, wobei derselbe „Schlüssel“ fest in der App und in der Firmware jeder Tapo-Glühbirne verankert ist.

Mit anderen Worten: Sobald jemand entweder die App oder die Glühbirnen-Firmware oder beides dekompiliert und diesen „Schlüssel“ wiederhergestellt hat, sollten Sie davon ausgehen, dass jeder und jede weiß, was es ist, also sind Sie da?/Ich bin Hier! Nachrichten sind trivial zu fälschen.

Schlimmer noch: Die Forscher fanden heraus, dass sie nichts dekompilieren mussten, da dieser nicht ganz so geheime „Schlüssel“ nur 32 Bit lang ist, was bedeutet, dass Sie dort sind, indem Sie Ihre eigene Tapo-Glühbirne in den Setup-Modus versetzen und sie dann mit Strom versorgen ? Wenn Sie Nachrichten mit allen 232 möglichen Prüfsummenschlüsseln scannen, werden Sie schließlich durch sogenannte Brute-Force-Methode den richtigen Schlüssel finden.

Das ist das kryptografische Äquivalent zum Drehen der Wählscheiben, um jede Kombination an einem Fahrradschloss auszuprobieren, beispielsweise von 000 bis 999, bis man Glück hat und das Schloss aufspringt. (Im Durchschnitt öffnen Sie das Schloss, nachdem Sie die Hälfte der möglichen Kombinationen ausprobiert haben, es wird jedoch nie mehr als 1000 Versuche dauern.)

Tatsächlich mussten sie nicht 232 Nachrichten von der App an eine Glühbirne senden, um den Schlüssel zu knacken.

Indem sie nur eine bekanntermaßen echte Nachricht mit einem gültigen verschlüsselten Hash erfassten, konnten sie dann alle möglichen Schlüssel offline testen, bis sie eine Nachricht produzierten, die denselben verschlüsselten Hash enthielt wie die, die sie gespeichert hatten.

Das bedeutet, dass der Brute-Force-Angriff mit CPU-Geschwindigkeit und nicht nur mit der Paketgeschwindigkeit des Wi-Fi-Netzwerks erfolgen könnte, und die Forscher geben an, dass „in unserem Setup der Brute-Force-Angriff im Durchschnitt immer in 140 Minuten erfolgreich war.“

(Wir gehen davon aus, dass sie es wiederholt versucht haben, nur um zu testen, ob ihr Knackcode richtig funktioniert, obwohl mit einem fest verdrahteten Schlüssel, der allen Tapo-Glühbirnen gemeinsam ist, schon das erste Knacken ausgereicht hätte.)

Das nächste kryptografische Problem tauchte in der nächsten Phase des Glühbirnen-Einrichtungsprozesses auf und war ein ähnlicher Fehler.

Nachdem eine Glühbirne anhand eines verschlüsselten Hashs, der eigentlich keinen Schlüssel hat, als echt akzeptiert wurde, einigt sich die App auf einen Sitzungsschlüssel, um ihren Datenverkehr mit der „echten“ Glühbirne zu verschlüsseln …

…hat aber wieder einmal keine Möglichkeit zu überprüfen, ob die Schlüsselvereinbarung mit einer echten Glühbirne oder einem Betrüger stattgefunden hat.

Die Vereinbarung eines Sitzungsschlüssels ist wichtig, da dadurch sichergestellt wird, dass niemand anderes im Netzwerk die WLAN- und Tapo-Passwörter ausspionieren kann, wenn diese anschließend von der Tapo-App an eine vermeintliche Tapo-Glühbirne gesendet werden.

Wenn Sie jedoch keinen Überprüfungsprozess für die Schlüsselvereinbarung selbst haben, ist das ein bisschen so, als würden Sie sich über HTTPS mit einer Website verbinden und sich dann nicht einmal die Mühe machen, auch nur die grundlegendste Überprüfung des zurückgesendeten Webzertifikats durchzuführen: Ihr Datenverkehr ist während der Übertragung sicher, aber könnte dennoch direkt in die Hände eines Gauners geraten.

Die Tapo-App identifiziert sich gegenüber der Glühbirne (oder dem, was sie für eine Glühbirne hält), indem sie ihr einen öffentlichen RSA-Schlüssel sendet, mit dem die Gegenseite einen zufällig generierten AES-Schlüssel verschlüsselt, um die während der Sitzung ausgetauschten Daten zu sichern.

Aber das Glühbirnengerät liefert keinerlei Identifikation, nicht einmal eine Prüfsumme mit einem fest verdrahteten 32-Bit-Schlüssel, zurück zur Tapo-App.

Die App hat also keine andere Wahl, als den Sitzungsschlüssel zu akzeptieren, ohne zu wissen, ob er von einer echten Glühbirne oder einem gefälschten Gerät stammt.

Das kombinierte Ergebnis dieser beiden Mängel besteht darin, dass ein Angreifer in Ihrem Netzwerk Sie zunächst davon überzeugen könnte, dass sein betrügerischer Zugangspunkt eine echte Glühbirne war, die darauf wartet, konfiguriert zu werden, und Sie so an die falsche Stelle lockt, und Sie dann dazu verleiten könnte, ihn zu senden eine verschlüsselte Kopie Ihrer eigenen WLAN- und Tapo-Passwörter.

Ironischerweise wären diese durchgesickerten Passwörter wirklich für jeden sicher – außer für den Betrüger mit dem betrügerischen Zugangspunkt.

Leider gibt es noch mehr.

Als wir oben sagten, dass „diese durchgesickerten Passwörter wirklich sicher wären“, war das nicht ganz richtig.

Der Sitzungsschlüssel, der während des zuvor beschriebenen Schlüsselvereinbarungsprozesses erstellt wird, wird nicht korrekt gehandhabt, da den Programmierern bei der Verwendung von AES ein Fehler unterlaufen ist.

Wenn die App jede Anfrage, die sie an eine Glühbirne sendet, verschlüsselt, verwendet sie einen Verschlüsselungsmodus namens AES-128-CBC.

Wir werden CBC (Cipher-Block-Chaining) hier nicht erklären, sondern nur erwähnen, dass der CBC-Modus so konzipiert ist, dass, wenn Sie denselben Datenblock mehr als einmal verschlüsseln (z. B. wiederholte Anfragen, das Licht einzuschalten und das Licht einzuschalten). aus, wobei die Rohdaten in der Anfrage jedes Mal dieselben sind), erhalten Sie nicht jedes Mal die gleiche Ausgabe.

Wenn jede Licht-Ein- und Licht-Aus-Anfrage identisch ausginge, könnte ein Angreifer, sobald er erraten hatte, wie ein Ausschaltpaket aussieht, diese Pakete in Zukunft nicht nur erkennen, ohne sie zu entschlüsseln, sondern auch dieselben Pakete wiedergeben, ohne es wissen zu müssen wie man sie überhaupt verschlüsselt.

Tatsächlich beruht die CBC-basierte Verschlüsselung effektiv auf dem „Seeding“ des Verschlüsselungsprozesses für jeden Datenblock, indem zunächst ein einzigartiger, zufällig ausgewählter Datenblock in den Verschlüsselungsprozess eingemischt wird und so im Rest eine einzigartige Sequenz verschlüsselter Daten entsteht des Brockens.

Diese „Seed“-Daten werden im Fachjargon als IV bezeichnet, kurz für Initialisierungsvektor, und obwohl sie nicht geheim sein sollen, müssen sie jedes Mal unvorhersehbar anders sein.

Einfach ausgedrückt: gleicher Schlüssel + eindeutiger IV = eindeutige Chiffretextausgabe, aber gleicher Schlüssel + gleicher IV = vorhersehbare Verschlüsselung.

Leider generierten die TP-Link-Codierer gleichzeitig mit der Erstellung ihres AES-Sitzungsschlüssels einen IV und verwendeten dann immer wieder denselben IV für jedes nachfolgende Datenpaket, selbst wenn vorherige Daten exakt wiederholt wurden.

Das ist ein kryptografisches Tabu.

Das letzte kryptografische Problem, das die Forscher fanden, könnte die Sicherheit auch dann beeinträchtigen, wenn das Initialisierungsvektorproblem behoben würde, nämlich dass alte Nachrichten, unabhängig davon, ob ein Angreifer weiß, was sie bedeuten oder nicht, später abgespielt werden können, als wären sie neu.

Typischerweise wird diese Art von Replay-Angriff in kryptografischen Protokollen durch eine Art Sequenznummer oder Zeitstempel oder beides gehandhabt, die in jedem Datenpaket enthalten ist, um dessen Gültigkeit einzuschränken.

Wie das Datum auf einer Bahnfahrkarte, das Sie verrät, wenn Sie versuchen, es zwei Tage hintereinander zu nutzen, auch wenn die Fahrkarte selbst nie von einem Fahrkartenautomaten entwertet oder von einem Fahrkartenkontrolleur gelocht wird, Sequenznummern und Zeitstempel in Datenpaketen dienen zwei wichtigen Zwecken.

Erstens können Angreifer den Datenverkehr heute nicht aufzeichnen und ihn später einfach wiedergeben, was möglicherweise zu Chaos führen könnte.

Zweitens kann fehlerhafter Code, der versehentlich wiederholt Anfragen sendet, beispielsweise aufgrund abgebrochener Antworten oder fehlender Netzwerkbestätigungen, zuverlässig erkannt und kontrolliert werden.

Wenn Sie Tapo-Glühbirnen verwenden,Halten Sie Ausschau nach Firmware-Updates von TP-Link, die diese Probleme beheben.

Wenn Sie als Programmierer für die Sicherung des Netzwerkverkehrs und netzwerkbasierter Produkt-Setups verantwortlich sind,Lesen Sie die Forschungsarbeit durch, um sicherzustellen, dass Sie keine ähnlichen Fehler gemacht haben.

Beachten Sie die folgenden Regeln:

Folgen@NakedSecurity auf Twitterfür die neuesten Nachrichten zur Computersicherheit.

Folgen@NakedSecurity auf Instagramfür exklusive Bilder, Gifs, Videos und LOLs!

Wenn Sie Tapo-Glühbirnen verwenden,Wenn Sie als Programmierer für die Sicherung des Netzwerkverkehrs und netzwerkbasierter Produkt-Setups verantwortlich sind,Bei der Kryptographie geht es nicht nur um Geheimhaltung.Stellen Sie sicher, dass alle Einmalschlüssel oder Infusionen wirklich einzigartig sind.Schützen Sie sich vor Wiederholungsangriffen.@NakedSecurity auf Twitter@NakedSecurity auf Instagram