Forum: Mikrocontroller und Digitale Elektronik DTU-Protokoll revisited


von Benedikt H. (hunz)


Lesenswert?

Hallo zusammen!
Neuer Thread, weil der ursprüngliche DTU-reveng-thread 
(Beitrag "Wechselrichter Hoymiles HM-xxxx 2,4 GhZ Nordic Protokoll?") doch recht länglich ist 
und ich hier auch erstmal mit ein paar grundsätzlichen Fragen anfangen 
will, wozu ich Meinungen suche.

Ich habe mir kürzlich ein paar noch nicht so gut untersuchte Ecken des 
DTU-Protokolls angeschaut (hüstel): Firmware Updates.
Stand: Firmware-Updates sowohl von DSP, als auch RF-Modul kann ich 
sowohl bei meinem HM-400, als auch HMS-600 over-the-air machen. Dafür 
gibts eine fancy webapp, die aber noch ein custom board mit STM32+nRF24 
braucht mit dem sie dann via websock über ttyACM spricht. Also geht 
erstmal nicht direkt mit OpenDTU/Ahoy oder auf einem ESP. Auch weil ich 
mir eine Timer-basierte Gazell-Implementierung auf dem STM32 
zusammengefrickelt habe. Ohne die dauern DSP-Updates auf dem HM ewig.
Die webapp kann noch etwas mehr: Man kann da flash dumps und DTU logs 
reindroppen und dann extrahiert sie daraus Update Files (als Intel Hex) 
die man dann auf Inverter spielen kann.

Man kann im Prinzip auch custom Firmware aufspielen - eigene RF-Firmware 
mit ordentlicher state-of-the-art Crypto wäre auch ohne allzu viel 
Aufwand realisierbar.

Nun die Abers: So wie es jetzt ist kann ich es nicht auf die ganze 
Menschheit loslassen. Insbesondere weil:
1) Woher Firmware(s) nehmen? (RF könnte man eine eigene schreiben)
2) Welche Firmware ist mit welchen Invertern kompatibel?
Es gibt da zwar Kompatibilitätsinfo, aber da gibt es ein paar 
Fallstricke.

Im Prinzip ist Firmwareupdate ein "gefährliches" Feature, weil:
1) Keine A/B Firmware. Wenn Update fehlschlägt ist der Inverter 
unbrauchbar bis wieder eine gute Firmware drauf ist
2) Missbrauchspotential (gibt nur CRCs, keine digitalen Signaturen)

Das ganze ist also ein zweischneidiges Schwert. Einerseits könnte man 
damit DTU-Protokoll mal ordentlich absichern. Andererseits kann man 
damit - Stand heute und wohl noch auf absehbare Zeit - vielen Leuten 
"böse" Firmware installieren. (Firmware löschen geht auch ohne Tool 
recht einfach mit ein paar DTU-requests.)
Das Tool komplett im Giftschrank zu belassen halte ich aber auch für 
nicht so sinnvoll. Firmware-Images + Header analysieren und dann an 
Inverter schicken ist jetzt keine rocket science...

Also wie sind da eure Meinungen so? Insbesondere wenn Hoymiles 
Security-Updates nur mit ihren eigenen DTUs anbieten will, wäre das für 
mich schon Grund, sowas verfügbar zu machen...

Wenn verfügbar machen, dann würde ich mir da aber auch den Hut nicht 
ganz aufsetzen wollen, aber Erkenntnisse, Tools usw. was ich schon habe 
beisteuern. Der erste Schritt wäre dann denke ich auch erstmal eine 
"gated community" von Bastlern mit Risikobereitschaft und/oder 
JTAG-Adaptern. (Ich mag gated communities eigtl. nicht, aber ist in dem 
Fall denke ich nötig - alleine schon weil sonst x unbedarfte User Sachen 
ausprobieren und dann jammern wegen dysfunktionalem Inverter.)
von Εrnst B. (ernst)


Lesenswert?

Nachdem das Protokoll Firmware-Updates ohne Signatur erlaubt, noch 
nichtmal ein Passwort, und im Prinzip jeder Wechselrichter anschließend 
nach weiteren kompatiblen in der Funkreichweite suchen kann, gibt das 
ein schönes Wurm-Potential.


https://www.ccc.de/updates/2026/blinkenlights-hoymiles
von Torsten B. (butterbrotstern)


Lesenswert?

Benedikt, vielen Dank für die sehr gute Arbeit!
Korrigiere mal folgende Zeile:
https://www.ccc.de/system/uploads/382/original/hoymiles_dtu_vuln.pdf
Seite 2/17: 2025-02-25 Callback from Hoymiles.
Figure 2 fehlt.
von Hardy F. (hflor)


Lesenswert?

von Torsten B. (butterbrotstern)


Lesenswert?

Edit: Figure 2 ist auf Seite 13/17.
von Benedikt H. (hunz)


Lesenswert?

Εrnst B. schrieb:
> Nachdem das Protokoll Firmware-Updates ohne Signatur erlaubt, noch
> nichtmal ein Passwort, und im Prinzip jeder Wechselrichter anschließend
> nach weiteren kompatiblen in der Funkreichweite suchen kann, gibt das
> ein schönes Wurm-Potential.

In der Tat. Zumindest in Gebieten mit ausreichender Inverterdichte.

Torsten B. schrieb:
> Benedikt, vielen Dank für die sehr gute Arbeit!

Danke :)

> Korrigiere mal folgende Zeile:
> https://www.ccc.de/system/uploads/382/original/hoymiles_dtu_vuln.pdf
> Seite 2/17: 2025-02-25 Callback from Hoymiles.

Danke, ich habs mal im tex geändert. Ob/wann da ein aktualisiertes PDF 
auf den Server wandern wird weiß ich aber nicht.

Hardy F. schrieb:
> Willst Du das hier machen?: ...

Nee, einmal reicht schon.
Daher geht es mir hier eher um
1) Mitigation ohne dass man eine Hoymiles-DTU kaufen muss und
2) generell Firmware-Updates ohne dass man eine Hoymiles-DTU kaufen muss

Ist ja beides machbar und für die Mitigation Leute zu nötigen jetzt eine 
Hoymiles-DTU zu kaufen finde ich recht unschön. (Wenn man sich dann 
zwischen "sicher"(tm) und OpenDTU entscheiden muss ist das auch eher 
nicht so recht zufriedenstellend.)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.