Linux: Rust wandert ins System

Eine wichtige Python-Bibliothek nutzt künftig teilweise Rust-Code. Bald wird es möglicherweise schwer, Linux-Systeme ohne Rust zu betreiben.

Eine Analyse von veröffentlicht am
Wird Rust bald systemrelevant? Die Programmiersprache mit der Krabbe Ferris als Maskottchen wird zunehmend von systemnahen Tools verwendet.
Wird Rust bald systemrelevant? Die Programmiersprache mit der Krabbe Ferris als Maskottchen wird zunehmend von systemnahen Tools verwendet. (Bild: Arjit Chowdhury, Wikimedia Commons/CC-BY-SA 4.0)

Die Cryptography-Bibliothek für Python hat vor einiger Zeit eine Entscheidung getroffen, die nicht unerhebliche Konsequenzen haben wird. Teile des Codes, der ASN1-Strukturen verarbeitet, wurden in Rust neu geschrieben. Mit der vor wenigen Tagen veröffentlichten Version 3.4 landete dieser Code in einem offiziellen Release des Cryptography-Pakets.

Stellenmarkt
  1. Softwareentwickler / Entwickler OSS (m/w/d)
    M-net Telekommunikations GmbH, München, Augsburg, Nürnberg
  2. Project Administrator Business Development (m/w/d)
    Hays AG, Selb
Detailsuche

Für diesen Schritt spricht einiges. ASN1 ist ein komplexes Binärformat, das viel in kryptographischen Anwendungen eingesetzt wird. In C geschriebene Parser für derartige Strukturen führen notorisch häufig zu Sicherheitsproblemen. In allen wichtigen TLS-Bibliotheken gab es in der Vergangenheit Sicherheitslücken im ASN1-Code.

Zwar wird es noch eine Zeit lang möglich sein, das Cryptography-Paket nur mit C-Code und ohne die Rust-Neuentwicklungen zu verwenden, aber mit der kommenden Version 3.5 soll diese Möglichkeit auch verschwinden.

Auf exotischen CPU-Architekturen gibt es bisher keinen Rust-Compiler

Auf der Entwicklerliste von Gentoo Linux führte der Schritt zu der Frage, ob durch diese Änderung künftig die Unterstützung für manche CPU-Architekturen eingestellt werden muss. Gentoo unterstützt eine Vielzahl von Systemen, darunter auch veraltete und exotische Prozessorarchitekturen wie HPPA oder Alpha. Und für viele davon gibt es bislang keinen Rust-Compiler.

Golem Akademie
  1. Einführung in die Programmierung mit Rust
    21.-24. September 2021, online
  2. Elastic Stack Fundamentals - Elasticsearch, Logstash, Kibana, Beats
    26.-28. Oktober 2021, online
  3. Webentwicklung mit React and Typescript
    20.-24. September 2021, online
Weitere IT-Trainings

In der Diskussion stellte sich heraus, dass Gentoos Paketmanager Portage wohl auch ohne das Python-Cryptography-Paket auskommt und somit auch weiterhin Gentoo-Systeme ohne Rust-Compiler angeboten werden können. Doch das ist möglicherweise nur ein Aufschub.

Diskussionen über die Schwächen und systemischen Sicherheitsprobleme von C und C++ gibt es schon lange. Speicherverwaltungsfehler wie Buffer Overflows und Use-after-Free-Bugs gehören zu den häufigsten Sicherheitslücken überhaupt, insbesondere bei Browser-Exploits spielen sie eine wichtige Rolle. Aber auch in systemnahen Tools können solche Fehler bei der Speicherverwaltung zu Sicherheitslücken führen, wie kürzlich ein Bug in Sudo aufzeigte.

Programmierung sicherer Systeme mit Rust: Eine Einführung

Zwar sorgten Mechanismen wie die Speicherrandomisierung (ASLR) und Stack-Cookies dafür, Angriffe gegen derartige Speicherfehler zu erschweren, komplett verhindern lassen sie sich damit allerdings nicht. Aber lange Zeit gab es keine echte Alternative zu C und C++, insbesondere für systemnahe Programmierung konnte sich keine andere Programmiersprache in größerem Maße durchsetzen. Mit Rust hat sich das geändert.

Rust vermeidet viele C-Probleme

Rust wird von vielen in der IT-Sicherheitscommunity als Möglichkeit gesehen, viele Klassen von Sicherheitslücken in der Speicherverwaltung grundlegend zu vermeiden. Zwar können auch in Rust Speicherfehler in speziell als "unsafe" (unsicher) markierten Programmteilen auftreten, doch standardmäßig vermeidet Rust die meisten der typischen C-Fehler. Und wenige Zeilen Unsafe-Code lassen sich leichter nach Fehlern durchsuchen als ein großes C- oder C++-Projekt.

Es ist absehbar, dass künftig immer mehr Softwareprojekte ganz oder teilweise Rust-Code einsetzen. Und das gilt nicht nur für komplexe Projekte wie den Firefox-Browser. Die Librsvg-Bibliothek nutzt seit einiger Zeit Rust-Code, ein Rust-Port des Kompressionstools Bzip2 ist in Arbeit. Weitere werden folgen und sogar die Linux-Kernelentwickler diskutieren, ob Rust eine Option ist.

Absehbar wird das bedeuten, dass es schon bald nicht mehr praktikabel sein könnte, ein Linux-Basissystem ohne Rust-Code zu betreiben. Für Personen, die Prozessoren ohne Rust-Support verwenden, sollten das Warnschüsse sein. Entweder die Communities, die Linux auf den entsprechenden Systemen betreuen und betreiben wollen, entwickeln eine Portierung des Rust-Compilers für ihre Systeme - oder der Betrieb eines modernen Linux-Systems ist auf den entsprechenden CPUs bald nicht mehr möglich.

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


wurstdings 12. Feb 2021

Jupp, genau das ist es. Um es _noch_ deutlicher zu machen, weil die langsame Variante...

jsonn 11. Feb 2021

De facto arbeitet Python gerade daran, alle seine 32bit-Platformen zu begraben...

autarch_princeps 10. Feb 2021

Die fehlende Unterstützung für PA-RISC & Alpha ist ja wohl mal die schwachsinnigste...



Aktuell auf der Startseite von Golem.de
E-Autos inklusive
Tübinger müssen 180 Euro Parkgebühren für SUVs zahlen

Tübingens Oberbürgermeister Boris Palmer hat sich mit höheren Anwohnerparkgebühren für schwere Autos durchsetzen können.

E-Autos inklusive: Tübinger müssen 180 Euro Parkgebühren für SUVs zahlen
Artikel
  1. Entity List: US-Behörden uneinig über Embargo von Honor
    Entity List
    US-Behörden uneinig über Embargo von Honor

    Huawei hatte Honor verkauft, damit die Marke den Beschränkungen der US-Regierung entgeht. Ein Embargo steht aber offenbar dennoch im Raum.

  2. Eli Zero: Kleines E-Auto mit Türen und Fenstern kostet 12.000 Euro
    Eli Zero
    Kleines E-Auto mit Türen und Fenstern kostet 12.000 Euro

    Das minimalistische, vierrädrige Elektroauto Eli Zero soll für rund 12.000 Euro nach Europa kommen. Der Zweisitzer erinnert an den Smart.

  3. Grafik: Red Hat will endlich HDR-Support unter Linux
    Grafik
    Red Hat will endlich HDR-Support unter Linux

    Seit Jahren gibt es verschiedene, meist halb fertige Arbeiten für den HDR-Support unter Linux. Red Hat will das nun ändern.

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 • Asus 23,8" FHD 144Hz 166,90€ • PCGH-PC mit Ryzen 5 3600 & RTX 3060 999€ • Alternate-Deals (u. a. Asus WLAN-Adapter PCIe 24,90€) • MM-Prospekt (u. a. Asus TUF 17" i5 RTX 3050 1.099€) • Samsung 970 Evo Plus 1TB 99€ • Saturn Hits 2021 (u. a. Philips 55" OLED 120Hz 1.849€) [Werbung]
    •  /