Forum: Mikrocontroller und Digitale Elektronik Elm-Chan - FatFS Security Desaster


von Richard (user1234567890)


Lesenswert?

Siehe auch:
https://www.runzero.com/blog/fatfs-bugs/


Today, we're publishing seven CVEs documenting several vulnerabilities 
in FatFs project, ranging from CVSS Medium to High (no Criticals, 
phew!). The affected ecosystem includes some major non-hobby platforms 
like Espressif ESP-IDF, STMicroelectronics STM32Cube middleware, Zephyr 
RTOS, MicroPython, ArduPilot, RT-Thread, Mbed, Samsung TizenRT, and 
SWUpdate, with downstream reach into consumer IoT, industrial 
controllers, drones, crypto wallets, and more.
von Nemopuk (nemopuk)


Lesenswert?

Da wird eine Mücke zum Elefanten gemacht. Es kommt immer auf den Kontext 
an. Dass man solche Hobby-Bibliotheken nicht im Hoch-Sicherheits Umfeld 
nutzt, ist ja wohl klar.

Dass es trotzdem gemacht wird ist auch klar. Dafür kann der Autor dieser 
Bibliothek aber nichts. Der Absatz "XKCD "Dependency" strikes again" ist 
insofern zutreffend. Es ist halt eine Frage der Prioritäten.

- 1: schnell gemacht
- 2: billig gemacht
- 3: gut gemacht

Alles drei Zusammen ist unmöglich. Ich habe den Eindruck, dass die 
meisten Firmen schon zufrieden sind, wenn ihre Produkte funktionieren.
: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Tja, da fällt einem kaum noch etwas ein ohne ausfallend zu werden.

… division by zero, overflow, …

Ein schönes Beispiel stark religiös angehauchten Programmierens.
Wir beten einfach, dass es gut geht.
von Nemopuk (nemopuk)


Lesenswert?

Immerhin können wir jetzt dank dieser Lücke theoretisch potentiell 
eventuell Teile der Firmware unserer Autoradios auslesen. Hoffentlich 
geht davon nicht die Welt unter.

Im übrigen kann man auch jeden PC zum Absturz bringen, wenn man Zugriff 
auf seine Speichermedien hat. Da gegen hilft nicht mal "Secure Boot". 
Überrascht das jemanden?
: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Nemopuk schrieb:
> Immerhin können wir jetzt dank dieser Lücke theoretisch potentiell
> eventuell Teile der Firmware unserer Autoradios auslesen. Hoffentlich
> geht davon nicht die Welt unter.
>
> Im übrigen kann man auch jeden PC zum Absturz bringen, wenn man Zugriff
> auf seine Speichermedien hat. Da gegen hilft nicht mal "Secure Boot".
> Überrascht das jemanden?

Nur könnte das (im Falle des Autoradios) simpel und einfach ein 
USB-Flash Stick mit Musik sein.

Schon vor drei bis vier Jahrzehnten wusste der gewiefte Amiga 
Programmierer, dass die Summe der chunk Längen einer RIFF Datei nicht 
länger als die Gesamtlänge sein sollten.

Vielleicht kehren ja eines Tages solche zugegeben komplexen, 
gedanklichen Akrobatik-Meisterstücke wieder zurück.
von Vanye R. (vanye_rijan)


Lesenswert?

> Da wird eine Mücke zum Elefanten gemacht. Es kommt immer auf den
> Kontext an.

Yep, da denke ich auch. Elms FS ist eine freundliche nette Geste fuer 
private Programmierer die hoffentlich auch freundlich aber weniger 
faehig oder faul sind. Wer sowas kommerziell einsetzt bekommt was er 
verdient. .-)

Ich meine waeren diese fremden Programmierer faehig und fleissig wuerden 
sie doch allermindestens mal den Source eines fremden gruendlich lesen 
und weil sie so faehig sind wuerden sie die Fehler sofort sehen und 
keine eigenen machen. Davon kann man gaaaaanz fest ausgehen. :-D

Und wer es echt soweit bringt ein System zu hacken indem er physischen 
Zugriff drauf hat, hey Bro du hast es verdient. Waer doch auch traurig 
wenn man es dann nicht schaffen wuerde.

Vanye
von Peter M. (r2d3)


Lesenswert?

Hallo Vanye R.,

Vanye R. schrieb:
> faehig oder faul sind. Wer sowas kommerziell einsetzt bekommt was er
> verdient. .-)

was setzt denn der Profi kommerziell ein?
von Nemopuk (nemopuk)


Lesenswert?

Peter M. schrieb:
> was setzt denn der Profi kommerziell ein?

In der Regel: Was am meisten Profit verspricht.
: Bearbeitet durch User
Beitrag #8069689 wurde von einem Moderator gelöscht.
von Vanye R. (vanye_rijan)


Lesenswert?

> was setzt denn der Profi kommerziell ein?

Das letztemal als ich sowas als Profi gebraucht habe, da habe ich es mir 
selber geschrieben. Ist aber schon was her daher kenne ich den Markt 
nicht.

Noch ein Nachtrag: Ich wuerde denken wenn man heute ein System aufsetzt 
das nach aussen sichtbare Datentraeger wie SD oder USB verwendet, man 
doch sehr schnell auf dem Level ist wo man ein Linux implementieren 
wird. Oder irgendein anderes kommerzielles Betriebsystem.

Vanye
: Bearbeitet durch User
von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Es ist schon bedenklich dass so viele kommerzielle Systeme darauf 
basieren, insbesondere:

Richard schrieb:
> non-hobby platforms like Espressif ESP-IDF, STMicroelectronics STM32Cube
> middleware, Zephyr RTOS, RT-Thread, Mbed, Samsung TizenRT,

Spezifisch das Zephyr und auch STM32Cube werden ziemlich offensiv für 
industrielle Nutzung beworben. Die Entwickler dieser Systeme haben FatFs 
aber anscheinend nie genauer angesehen oder Verbesserungen 
eingereicht...

Was passiert eigentlich wenn Microsoft auf die Idee kommt, konsequent 
Lizenzgebühren für die Nutzung von FAT einzusammeln?
von H. H. (Gast)


Lesenswert?

Niklas G. schrieb:
> Was passiert eigentlich wenn Microsoft auf die Idee kommt, konsequent
> Lizenzgebühren für die Nutzung von FAT einzusammeln?

Haben die versucht, sind vor Gericht krachend gescheitert.
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Vanye R. schrieb:
> Noch ein Nachtrag: Ich wuerde denken wenn man heute ein System aufsetzt
> das nach aussen sichtbare Datentraeger wie SD oder USB verwendet, man
> doch sehr schnell auf dem Level ist wo man ein Linux implementieren
> wird. Oder irgendein anderes kommerzielles Betriebsystem.

Keineswegs. Der Vorteil von FAT ist ja gerade, dass es so einfach 
gestrickt ist, dass man es problemlos auch auf einer eher kleinen MCU 
benutzen kann, weil die Implementierung wenig RAM benötigt.  Wenn man 
nur einen einfache Export von ein paar Logdaten oder das Einlesen von 
einem Firmwareupdate braucht, genügt so eine simple Implementierung 
vollauf.
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Jörg W. schrieb:

> Wenn man
> nur einen einfache Export von ein paar Logdaten oder das Einlesen von
> einem Firmwareupdate braucht, genügt so eine simple Implementierung
> vollauf.

Da gebe ich dir natürlich vollkommen recht.

Trotzdem ist die Sicherheitsproblematik nicht zu unterschätzen. Auch und 
gerade in letztlich sicherheitskritischen Komponenten werden ja oft nur 
kleine MCUs verwendet, weil eben ihre Aufgabe eher eng umrissen ist. Ich 
meine damit z.B. solche Sachen wie die Endgeräte von Schließsystemen 
aller Art.
von Vanye R. (vanye_rijan)


Lesenswert?

> Was passiert eigentlich wenn Microsoft auf die Idee kommt, konsequent
> Lizenzgebühren für die Nutzung von FAT einzusammeln?

Es hindert dich niemand auch auf deinem USB-Stick ext2/4 oder irgendwas 
anders zu nutzen. Hab ich schon vor 20Jahre gemacht und funktioniert 
bestens.

Vanye
von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Jörg W. schrieb:
> Wenn man nur einen einfache Export von ein paar Logdaten oder das
> Einlesen von einem Firmwareupdate braucht, genügt so eine simple
> Implementierung vollauf.

Wäre natürlich mies wenn das Einspielen von Sicherheits-Updates selbst 
anfällig gegen Angriffe ist...

Vanye R. schrieb:
> Es hindert dich niemand auch auf deinem USB-Stick ext2/4 oder irgendwas
> anders zu nutzen

Bring mal einen 0815-Windows-User bei, dass er die vom Gerät abgeholten 
Logdaten von einem Medium mit ext4 auslesen soll...
von Norbert (der_norbert)


Lesenswert?

Niklas G. schrieb:
> Bring mal einen 0815-Windows-User bei, dass er die vom Gerät abgeholten
> Logdaten von einem Medium mit ext4 auslesen soll...

Ach komm, wie sang Roberto Blanco seinerzeit:
›Ein bisschen Spaß muß sein…‹
von Alexander (alecxs)


Lesenswert?

Jörg W. schrieb:
> Der Vorteil von FAT ist ja gerade, dass es so einfach gestrickt ist,
> dass man es problemlos auch auf einer eher kleinen MCU benutzen kann,
> weil die Implementierung wenig RAM benötigt.

Ich dachte es wäre längst LittleFS standard? Open Source, Wear Leveling, 
robust gegen Stromausfall und resourcenschonend.
von Harald K. (kirnbichler)


Lesenswert?

Alexander schrieb:
> Ich dachte es wäre längst LittleFS standard?

Kann das ein Windows-PC lesen? Kann das ein Mac lesen?

Dateisysteme dienen in vielen Fällen dem Dateiaustausch, der durch 
wechselseitigen Anschluss eines Datenträgers an verschiedene Geräte 
erfolgt.

Wenn ein Dateisystem nur zur Bespaßung ein und desselben Geräts gedacht 
ist, dann kann man natürlich irgendwas verwenden und muss sich um 
Kompatibilität keinerlei Gedanken machen.
von Norbert (der_norbert)


Lesenswert?

Alexander schrieb:
> Ich dachte es wäre längst LittleFS standard?

Mit LittleFS und Windows verhält es sich wie mit den beiden von Otto 
Waalkes besungenen Königskindern:

Es waren zwei Königskinder,
die hatten mit der Liebe müh',
sie konnten zusammen nicht kommen,
denn er kam immer zu…
: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

Niklas G. schrieb:
> Was passiert eigentlich wenn Microsoft auf die Idee kommt, konsequent
> Lizenzgebühren für die Nutzung von FAT einzusammeln?

die FAT Patente sind seit langem abgelaufen. Am Schluss war nur noch das 
Long-File-Name Patent relevant. Das wurde 2007 vom Bundespatentgericht 
und 2013 vom Europäschen Patentamt für ungültig erklärt. Hauptsächlich 
weil die Idee schon veröffentlicht war, bevor das Patent angemeldet 
wurde.
Inzwischen sind die aber auch in den USA&Weltweit abgelaufen.

Hat schon einen Grund, warum exFat als neues Dateisystem hermusste.

exFat ist zwar Open-Source als GPLv2-Code im Linux-Kernel, aber wenn du 
es kommerziell einsetzen willst, kannst du dich hier umschauen:
https://www.microsoft.com/en-us/legal/intellectualproperty/tech-licensing/programs#tab-exfat
von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Εrnst B. schrieb:
> die FAT Patente sind seit langem abgelaufen.

Ah Danke.
von Harald K. (kirnbichler)


Lesenswert?

Εrnst B. schrieb:
> Hat schon einen Grund, warum exFat als neues Dateisystem hermusste.

Es gibt aber auch reale technische Gründe - bei FAT32 ist die maximale 
Dateigröße auf 2^32 Byte (4 GByte) begrenzt, und man begegnet heutzutage 
doch immer häufiger Dateien, die größer sind.
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Harald K. schrieb:
>> Hat schon einen Grund, warum exFat als neues Dateisystem hermusste.
>
> Es gibt aber auch reale technische Gründe

Nur keine dafür, dass man Lizenzgebühren für etwas wie ein Dateisystem 
verlangt.
von Harald K. (kirnbichler)


Lesenswert?

Jörg W. schrieb:
> Nur keine dafür, dass man Lizenzgebühren für etwas wie ein Dateisystem
> verlangt.

Natürlich nicht. Aber früher wurde sogar der "Algorithmus" patentiert, 
mit dem PCs feststellten, ob die angeschlossenen Diskettenlaufwerke 40 
oder 80 Spuren haben. Wo kämen wir denn da hin?

Ich vermeide es weitestgehend, mich mit dem ganzen Lizenz-, Patent- und 
sonstigem Gelddruckgehampel auseinanderzusetzen; es gibt da wohl eine 
Einrichtung namens "OIN", wer als Linux-Entwickler Mitglied davon ist, 
darf, so wie ich das der Wikipedia entnehme, exFAT verwenden.

Ah, und heise weiß auch was darüber:

https://www.heise.de/news/Microsoft-gibt-exFAT-Patente-und-Spezifikationen-fuer-Linux-frei-4510623.html

Allerdings:

> Keine Lösung ist Microsofts Freigabe für andere Open-Source-
> Betriebssysteme, etwa aus der BSD-Familie oder ReactOS. Der
> Linux-Patentpool des Open Invention Networks ist nur dazu da,
> Linux und seine Entwickler vor Klagen von Patentinhabern zu
> schützen. Für andere Betriebssysteme gilt das nicht.

Zwar gibt es manche, die denken, neben Linux könne es gar keine anderen 
Betriebssysteme geben, aber ich weiß, woran Du eine ganze Zeit lang 
gearbeitet hast (oder es vielleicht sogar noch tust). Das fängt weder 
mit Lin an, noch hört es mit ux auf.


Andererseits ist das wohl nur 'ne Frage der Zeit; in den nächsten paar 
Jahren laufen diverse exFAT-Patente aus.
: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ja, mach ich immer noch bissel was.  exFAT läuft dort einfach als 
3rd-party Software, als FuseFS, damit kann sich das jeder selbst 
installieren und man ist ob der fehlenden geschäftlichen Intention den 
Patent-Zirkus los.
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.