Search

Linux: Rust wandert ins System - Golem.de - Golem.de

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
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.

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.

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.

Let's block ads! (Why?)

Artikel von & Weiterlesen ( Linux: Rust wandert ins System - Golem.de - Golem.de )
https://ift.tt/3tFQOUy
Wissenschaft & Technik

Bagikan Berita Ini

0 Response to "Linux: Rust wandert ins System - Golem.de - Golem.de"

Post a Comment

Powered by Blogger.