Kernel: Defekte Dateisysteme bringen Linux zum Stolpern

In einer Diskussion um die Aufnahme eines neuen Dateisystems in den Linux-Kernel wird klar, dass viele Dateisystemtreiber mit defekten Daten nicht klarkommen. Das kann nicht nur zu Abstürzen führen, sondern auch zu Sicherheitslücken.

Artikel veröffentlicht am ,
Über USB-Sticks könnte man Sicherheitslücken in Linux-Dateisystemtreibern ausnutzen, wenn die Distribution diese automatisch mountet.
Über USB-Sticks könnte man Sicherheitslücken in Linux-Dateisystemtreibern ausnutzen, wenn die Distribution diese automatisch mountet. (Bild: Hanno Böck)

Die Aufnahme des Dateisystems EROFS in den Linux-Kernel führt zu einer Diskussion darüber, wie robust die Dateisystemtreiber im Kernel sein sollen. Darüber berichtet Linux Weekly News. In vielen Dateisystemtreibern gibt es bekannte, ungefixte Sicherheitslücken. Insbesondere XFS ist problematisch.

Stellenmarkt
  1. SAP Consultant (m/w/d) FI/CO/PS
    Universitätsklinikum Regensburg, Regensburg
  2. SAP Basis Administrator (m/w/x)
    über duerenhoff GmbH, Raum Karlsruhe, Remote
Detailsuche

EROFS ist ein komprimiertes Read-Only-Dateisystem, das von Huawei entwickelt wurde. Es ist seit Version 4.19 Teil des sogenannten Staging-Bereichs des Linux-Kernels, in dem Treiber zu finden sind, die noch getestet werden. Gao Xiang, einer der Entwickler von EROFS, hat zuletzt darum gebeten, das Dateisystem künftig als normalen Kernel-Dateisystemtreiber auszuliefern.

Wie robust müssen Kernel-Dateisystemtreiber sein?

Kernel-Entwickler Richard Weinberger wies in der Diskussion darauf hin, dass der Code offenbar erwarte, dass das eingelesen Dateisystem korrekt sei und keine fehlerhaften Daten enthalte. So sei es ihm mit wenig Aufwand gelungen, ein fehlerhaftes Dateisystemimage zu erzeugen, das im Code von EROFS zu einer Endlosschleife geführt habe. Das führte zu einer Grundsatzdiskussion darüber, ob man von Linux-Dateisystemtreibern erwarten kann, dass sie auch mit fehlerhaften Dateisystemen klarkommen.

Theodore Ts'o, der das Ext4-Dateisystem im Kernel betreut, wies darauf hin, dass auch andere Dateisysteme, die schon lange Teil von Linux sind, solche Probleme hätten. Er versuche zwar, solche Fehler in Ext4 zu beheben, aber es habe für ihn keine hohe Priorität. Es sei unfair, von neuen Dateisystemen etwas zu erwarten, was schon bestehende Dateisysteme nicht erfüllen könnten.

Fuzzing findet viele Bugs in Dateisystemtreibern

Golem Karrierewelt
  1. C++ Programmierung Basics: virtueller Fünf-Tage-Workshop
    24.-28.10.2022, virtuell
  2. Deep Dive: Data Architecture mit Spark und Cloud Native: virtueller Ein-Tages-Workshop
    01.02.2023, Virtuell
Weitere IT-Trainings

Es gab in der Vergangenheit mehrfach Bemühungen, mittels Fuzzing solche Fehler in Dateisystemtreibern zu finden. Hierbei erzeugt ein Fuzzing-Tool defekte Eingabedaten und testet, ob diese zu Abstürzen oder anderen Fehlern führen.

2016 nutzten Entwickler von Oracle eine modifizierte Version von American Fuzzy Lop (AFL), um Fehler in Dateisystemtreibern zu finden. Auf der Usenix-Konferenz 2017 wurde ein weiterer Ansatz namens kAFL, ebenfalls basierend auf AFL, vorgestellt. Auch Googles Syzkaller-Projekt findet teilweise Fehler in Dateisystemtreibern und meldet diese automatisch.

Fuzzing schädlich?

Wen Xu vom Georgia Institute of Technology erweiterte diesen Ansatz und stellte im Mai diesen Jahres eine Fuzzing-Methode vor, bei der nicht nur das Einlesen eines defekten Dateisystems getestet wurde, sondern anschließend auch Zugriffe darauf. Im Rahmen dieser Forschung wurde eine ganze Reihe von Fehlern an die Kernel-Entwickler gemeldet, darunter mehrere Memory-Corruption-Bugs. In den Dateisystemtreibern für XFS, ReiserFS, HFS und GFS2 wurden viele der Bugs nicht gefixt. Auch für Ext4 findet man drei Bugs. Diese wurden aber gefixt, es wurde wohl nur vergessen, die entsprechenden Bugreports auch zu schließen.

XFS-Entwickler findet Fuzzing schädlich

In mehreren Onlinediskussionen in der Vergangenheit haben die Entwickler des XFS-Dateisystems geschrieben, dass sie derartige Fehler nicht fixen möchten. Als Antwort auf einen Fehlerbericht eines kAFL-Entwicklers antwortete ein Entwickler des XFS-Dateisystems, dass er solches Fuzzing für schädlich halte.

Mehrfach verwiesen Entwickler von XFS in diesen Diskussionen darauf, dass die aktuelle Version von XFS CRC32-Checksummen enthalte. Doch diese können zwar zufällige Bitfehler erkennen, sie verhindern aber keine böswillig manipulierten Dateisysteme. Das Erkennen von Bugs durch Fuzzing wird hingegen durch solche Checksummenmechanismen erschwert.

Angriffe über USB-Sticks und Automount

Wenn fehlerhafte Dateisystemtreiber Memory-Corruption-Fehler enthalten, kann das ein Sicherheitsproblem sein. Manche Linux-Distributionen mounten externe Laufwerke wie USB-Sticks automatisch, wenn diese angeschlossen werden. Doch auch ohne Automount besteht ein Sicherheitsrisiko, so könnte man etwa Nutzern einen USB-Stick mit einem Dateisystem geben, das eine solche Sicherheitslücke ausnutzt.

Das Mounten von fremden Dateisystemen ist aber unter den gegebenen Umständen riskant. Wie die Diskussion zeigt, kann man sich nicht darauf verlassen, dass Linux-Dateisystemtreiber mit bösartigen Eingabedaten klarkommen. Und einige Kernelentwickler sagen offen, dass das auch nicht ihr Ziel sei.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


sambache 26. Aug 2019

Eine voller file system check dauert sehr lange. Das macht niemand jedesmal.

schily 22. Aug 2019

Also, als Frank Hoffman von Sun Microsystems und ich das 2005 und 2006 für das ISO-9660...

regiedie1. 21. Aug 2019

Hab mich auch nicht für bcachefs ausgesprochen, sondern nur auf den Text des Entwicklers...

schily 21. Aug 2019

In FreeBSD wurde es entdeckt und allen gemeldet. In Solaris wurden die Fehler behoben, in...



Aktuell auf der Startseite von Golem.de
Cloudgaming
Google Stadia scheiterte nur an sich selbst

Die Technik war nicht das Problem von Alphabets ambitioniertem Cloudgaming-Dienst. Das Problem liegt bei Google. Ein Nachruf.
Eine Analyse von Daniel Ziegener

Cloudgaming: Google Stadia scheiterte nur an sich selbst
Artikel
  1. Tiktok-Video: Witz über große Brüste kostet Apple-Manager den Job
    Tiktok-Video
    Witz über große Brüste kostet Apple-Manager den Job

    Er befummle von Berufs wegen großbrüstige Frauen, hatte ein Apple Vice President bei Tiktok gewitzelt. Das kostete ihn den Job.

  2. Copilot, Java, RISC-V, Javascript, Tor: KI macht produktiver und Rust gewinnt wichtige Unterstützer
    Copilot, Java, RISC-V, Javascript, Tor
    KI macht produktiver und Rust gewinnt wichtige Unterstützer

    Dev-Update Die Diskussion um die kommerzielle Verwertbarkeit von Open Source erreicht Akka und Apache Flink, OpenAI macht Spracherkennung, Facebook hilft Javascript-Enwicklern und Rust wird immer siegreicher.
    Von Sebastian Grüner

  3. Vantage Towers: 1&1 Mobilfunk gibt Vodafone die Schuld an spätem Start
    Vantage Towers
    1&1 Mobilfunk gibt Vodafone die Schuld an spätem Start

    Einige Wochen hat es gedauert, bis 1&1 Mobilfunk eine klare Schuldzuweisung gemacht hat. Doch Vantage Towers verteidigt seine Position im Gespräch mit Golem.de.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • LG OLED TV 2022 65" 120 Hz 1.799€ • ASRock Mainboard f. Ryzen 7000 319€ • MindStar (G.Skill DDR5-6000 32GB 299€, Mega Fastro SSD 2TB 135€) • Alternate (G.Skill DDR5-6000 32GB 219,90€) • Xbox Series S + FIFA 23 259€ • PCGH-Ratgeber-PC 3000€ Radeon Edition 2.500€ [Werbung]
    •  /