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. Space Application Test-System Entwickler (m/f/d)
    Astos Solutions GmbH, Stuttgart
  2. Softwareentwickler (m/w/d) Automatisierungstechnik
    Dürr Systems AG, Goldkronach
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.-25. März 2022, online
  2. OpenShift Installation & Administration
    31. Januar-2. Februar 2022, online
  3. Python kompakt - Einführung für Softwareentwickler
    28.-29. Oktober 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
Drucker
Ohne Tinte kein Scan - Klage gegen Canon

In den USA wurde eine Sammelklage gegen Canon eingereicht: Klagegrund ist, dass einige 3-in-1-Geräte nur scannen, wenn Tinte vorhanden ist.

Drucker: Ohne Tinte kein Scan - Klage gegen Canon
Artikel
  1. Microsoft: Xbox-Kühlschrank kostet 100 Euro
    Microsoft
    Xbox-Kühlschrank kostet 100 Euro

    Microsoft bringt wie angekündigt einen Minikühlschrank im Design der Xbox Series X auf den Markt, der auch nach Deutschland kommen wird.

  2. Silicon Valley: Apple entlässt #Appletoo-Aktivistin
    Silicon Valley
    Apple entlässt #Appletoo-Aktivistin

    Apple hat Janneke Parrish gekündigt, die sich für die Offenlegung von Diskriminierung in dem Unternehmen einsetzte. Auch Netflix entlässt offenbar eine Aktivistin.

  3. Streaming: Squid Game soll Netflix 900 Millionen US-Dollar bringen
    Streaming
    Squid Game soll Netflix 900 Millionen US-Dollar bringen

    Die südkoreanische Serie Squid Game ist dabei, sich zu Netflix' größtem Erfolg zu entwickeln: Die Survival-Serie bricht mehrere Rekorde.

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 • Cyber Week: Bis zu 37% Rabatt auf Corsair-Produkte • Mehrwertsteuer-Aktion bei MediaMarkt • Crucial BX500 1 TB 69€ • Aerocool Aero One White 41,98€ • Creative Sound BlasterX G5 89,99€ • Alternate (u. a. AKRacing Core SX 248,99€) • Gamesplanet Anniv. Sale Classic & Retro [Werbung]
    •  /