Eigene FPGA-Testumgebung
Um mehr über die Verbindungen herauszufinden, verband Hunz den Dash-Button mit einer FPGA-Testumgebung und erforschte die Verbindungen des Dash-Buttons per Reverse-Engineering. Dazu nahm er einen Man-in-the-Middle-Angriff vor, indem er verschiedene Verbindungen hardwareseitig abgriff.
Konfiguration per Android-App
Zunächst muss der Button aber per Android-App konfiguriert werden, damit er Verbindungen mit dem Internet aufnimmt. Dabei werden zunächst die von Amazon vorgesehenen Schritte durchgeführt. Der Vorgang wird aber vor der Zuweisung der gewünschten Handelsware durch Schließen der App abgebrochen. Hunz verweist in seinem Vortrag explizit auf die Android-Version der App, möglicherweise wird die lokale Konfiguration nicht korrekt gespeichert, wenn die Einrichtung per iOS-App vorgenommen und vor dem Ende abgebrochen wird.
Weil die Informationen für das WLAN und andere Verbindungen lokal gespeichert werden, der Server aber die Informationen über die Produktkonfiguration enthält, ist dies überhaupt möglich. Der Dash-Button kann somit betätigt werden, ohne dass tatsächlich ein Produkt bestellt wird.
Gute Krypto, schlechte Krypto
Das Reverse-Engineering und die Umwidmung der Geräte werden durch eine solide Security seitens Amazon erschwert. Zur Absicherung der Verbindung nutzt Amazon den Diffie-Hellman-Schlüsselaustausch mittels elliptischer Kurven (ECDH) mit der Prime256v1-Kurve. Die übertragenen Tokens und der restliche Netzwerk-Traffic werden mit AES im Galois-Counter-Modus verschlüsselt. Die Buttons selbst haben kein eigenes Zertifikat, sondern authentifizieren sich mit der HMAC.
Amazon-eigenes Betriebssystem
Der Dash-Button nutzt ein offenbar von Amazon selbst entwickeltes Betriebssystem. Bei einer früheren Version wurde noch auf das von Broadcom entwickelte Betriebssystem Wiced mit Express Logic Real Time Operating System und dem Netx IP-Stack gesetzt.
Die Firmware wurde extrahiert, indem der SPI-Flash von dem Dash-Button losgelötet wurde. Darin ist immerhin ein Teil der Firmware enthalten, andere Methoden des Firmware-Dumpings wie Single Wire Debug werden durch das Hardwarelayout des Geräts unterbunden.
Nachdem er die Firmware an der richtigen Stelle lokalisiert hatte, versuchte Hunz, die Firmware auf einen kompatiblen, leeren Speicherchip vom Typ Samg55 zu schreiben und ohne Amazons Bootloader zu starten, was auch funktionierte.
Jetzt war es auch möglich, Single Wire Debugging zu nutzen und eine Entwicklerkonsole zu öffnen. Der Dump enthält jedoch keine Informationen über den Bootloader, die User-config-Sektion und die privaten Schlüssel. Eine Verbindung zu Amazon kann mit dem extrahierten Image also noch nicht vorgenommen werden.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Reverse Engineering: Mehr Spaß mit Amazons Dash-Button | Die Firmware wird per Audiosignal gehackt |
Für mich persönlich ist das noch nicht attraktiv genug. Sinnvoller wäre es aus meiner...
naja das game ist auch in einem genre dass mich gar nicht interessiert.
Da es sich bei ARP-Requests um Broadcasts handelt, bekommt die jeder Rechner in deinem...
Du gehst davon aus, dass querschlaeger jeden Tag mind. 3 Dinge einkauft? Da ich mal...