Forum: Mikrocontroller und Digitale Elektronik STM32F1: Sicherheit der Firmware Protection


von Johannes O. (jojo_2)


Lesenswert?

Hallo zusammen,

an dieser Stelle eine Vorabinfo, da einige von uns betroffen sein 
könnten:
Es existiert eine Schwachstelle im Firmwareschutz der STM32F1 Serie.
Details werden am 15.03.2020 im Rahmen eines Coordinated Disclosure 
Prozesses veröffentlicht.
Die Schwachstelle ist unter CVE-2020-8004 erfasst.

Quelle + weitere Details:
https://blog.zapb.de/stm32f1-announcement/

Viele Grüße
Johannes

von Moralapostel (Gast)


Lesenswert?

Ist es moralisch ok die Details solcher Schwachstellen zu 
veröffentlichen? Software kann man updaten, aber bei µCs die schon 
hergestellt sind ist nichts zu machen.

von pegel (Gast)


Lesenswert?

Die Info ist für die "Entwicklung" Chinesischer Produkte gedacht.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Also schonwieder!
Beim F0 hats ja auch schonmal geklappt mit 3 Möglichkeiten:
https://www.aisec.fraunhofer.de/en/FirmwareProtection.html

Per SWD gings da auch schon, also mal gucken obs beim F1 ähnlich ist.

von Christopher J. (christopher_j23)


Lesenswert?

Mw E. schrieb:
> Beim F0 hats ja auch schonmal geklappt mit 3 Möglichkeiten:
> https://www.aisec.fraunhofer.de/en/FirmwareProtection.html

Auch da war ein gewisser Johannes Obermaier unter den Autoren. Ich 
vermute mal stark, dass das der TO ist ;)

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Wenn das O für diesen Nachnamen steht, dann ja.

Da bin ich mal gespannt.

von Christopher J. (christopher_j23)


Lesenswert?

Mw E. schrieb:
> Wenn das O für diesen Nachnamen steht, dann ja.

Wie es der Zufall will, steht er im selbst verlinkten Artikel, also

> https://blog.zapb.de/stm32f1-announcement/

ebenfalls unter den Ansprechpartnern ;)

von Bernd K. (prof7bit)


Lesenswert?

Moralapostel schrieb:
> Ist es moralisch ok die Details solcher Schwachstellen zu
> veröffentlichen?

Eine Problem verschwindet nicht dadurch daß man aufhört darüber zu 
sprechen. Genauso wenig wie Du unsichtbar wirst wenn Du Dir die Augen 
zuhältst.

von John P. (brushlesspower)


Lesenswert?

Neuigkeiten?

: Bearbeitet durch User
von p42_ (Gast)


Lesenswert?

Jetzt sind Details abrufbar

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?


: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Wie sehen denn die knapp 90% ausgelesener Speicher aus?
So wie ich das sehe, hat man immer wieder ein paar Befehle echt, dann 
wieder nichts, dann wieder echt/nix/echt/nix usw. usf.
Die letzten fehlenden Bytes muss man dann probieren? ;)

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Also wenn da der Vektorfetch genutzt wird um Flashinhalt in den PC zu 
laden, weil der M3 das über den I-Bus macht.
Ja dann wären STM32F2 aber auch betroffen?
Die haben auch einen M3 Kern.

von 9uf1 (Gast)


Lesenswert?

> Wie sehen denn die knapp 90% ausgelesener Speicher aus?

Siehst du doch in dem Video. Einzele Wörter können nicht extrahiert 
werden. Im Video sind diese durch "aaaaaaaa" kenntlich gemacht.

9uf1

von Info (Gast)


Lesenswert?

Kann man mit der gewonnenen Information nicht "einfach" sequentiell alle 
Flash-Adressen in das entsprechende Register des entsprechenden Befehls 
laden, und den Flash-Inhalt anschließend aus dem entsprechenden 
Ziel-Register lesen?

von SK (Gast)


Lesenswert?

Im Artikel steht "We discuss a novelly discovered vulnerability whose 
exploitation would be the first non-invasive way to circumvent the 
feature."
Würde man Fault-Injection über die Betriebsspannung auch als invasiv 
betrachten? Dafür braucht man das Gehäuse des uC ja auch nicht öffnen, 
nur die Spannungsversorgung modifizieren.
Im Paper "Shaping the Glitch: Optimizing Voltage Fault Injection 
Attacks" wird nämlich eine solche Attacke beschrieben, die ich gerade 
kürzlich erfolgreich (und vereinfacht: Nur FET statt Signalgeneator) an 
einem STM32F103ZE nachstellen konnte. Ich konnte damit den gesamten 
Flash auslesen und die Firmware auf einen neuen Chip flashen, um damit 
das Gerät (zumindest größtenteils) zu reparieren...

Stefan

von Info (Gast)


Lesenswert?

Info schrieb:
> Kann man mit der gewonnenen Information nicht "einfach" sequentiell alle
> Flash-Adressen in das entsprechende Register des entsprechenden Befehls
> laden, und den Flash-Inhalt anschließend aus dem entsprechenden
> Ziel-Register lesen?

Scheint zu klappen:

https://www.optiv.com/blog/automated-unlocking-nrf51-series-socs-nrfsec

von marc (Gast)


Lesenswert?

Nein, dieser Anriff geht auf dem STM32F1 nicht.

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.