Programmiersprache: Rust könnte neue Technik für Unsafe Pointer bekommen

Die Nutzung von Zeigern im Unsafe-Teil von Rust führt offenbar zu vielen Problemen. Das könnte künftig geändert werden.

Artikel veröffentlicht am ,
Die Programmiersprache Rust nutzt als Maskottchen die Krabbe Ferris.
Die Programmiersprache Rust nutzt als Maskottchen die Krabbe Ferris. (Bild: TARIK TINAZAY/AFP via Getty Images)

In einem sehr ausführlichen Blogpost beschreibt die Entwicklerin Aria Beingessner verschiedene Probleme im aktuellen Umgang der Programmiersprache Rust mit Unsafe Pointern, also jenen Zeigern, für die die sonst in Rust üblichen Sicherheitsgarantien nicht gelten. Beingessner verantwortet die Dokumentation für Unsafe Rust und hat die Pointer-API der Sprache umgestaltet. Sie schreibt nun: "Ich denke viel über unsichere Zeiger in Rust nach und ich hasse sie absolut."

Stellenmarkt
  1. Referent (m/w/d) für Datenstrategie und Data Literacy
    Amprion GmbH, Dortmund
  2. Doktorand*in (d/m/w) Process Mining
    OSRAM GmbH, Regensburg
Detailsuche

Die verfügbare Umsetzung der Pointer in Rust sei "zutiefst fehlerhaft". Mit einem wachsenden Verständnis der Beteiligten dafür, wie die Zeiger eigentlich funktionieren sollten, seien die Mängel der bisherigen Technik umso eklatanter, schreibt Beingessner.

Sie führt weiter aus, dass der derzeit mögliche Umgang mit Tagged Pointern in Rust zu Schwierigkeiten führe, ein Speichermodell für die Programmiersprache formal zu definieren. Probleme gebe es außerdem beim Erstellen von sogenannten Sanitizern, die undefiniertes Verhalten und damit mögliche Sicherheitsrisiken erkennen sollen. Ebenso bekomme Rust Probleme mit CPU-Architekturen wie aus dem Cheri-Projekt, das einen inhärenten Speicherschutz bieten soll.

Für Probleme sorgen die Pointer auch im Zusammenspiel mit den in Rust genutzten Referenzen, die laut Beingessner eigentlich nie zusammen verwendet werden sollten. Das ist aber wohl nicht einfach. Darüber hinaus sei auch die Semantik beim Dereferenzieren eher verwirrend, so die Entwicklerin. In Safe Rust helfe hier dann immerhin noch der Compiler, falls etwas schief laufe. In Unsafe Rust seien die Entwickler aber auf sich allein gestellt.

Programmierung sicherer Systeme mit Rust: Eine Einführung
Golem Karrierewelt
  1. Hands-on C# Programmierung: virtueller Zwei-Tage-Workshop
    09./10.06.2022, virtuell
  2. Linux-Systeme absichern und härten: virtueller Drei-Tage-Workshop
    07.-09.06.2022, Virtuell
Weitere IT-Trainings

Als Lösung macht Beingessner sehr detaillierte Vorschläge. Dazu gehört die strikte Trennung von eigentlichen Adressen und Pointern sowie die Einführung von syntaktischem Zucker für Pointer Offsets. Einen ersten Teil der Arbeiten setzt Beingessner laut Aussagen auf Twitter bereits um. Ob und in welcher Form die Änderung letztlich in einer stabilen Rust-Version landen, ist derzeit aber noch nicht absehbar.

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


Aktuell auf der Startseite von Golem.de
Ukrainekrieg
Erster Einsatz einer US-Kamikazedrohne dokumentiert

Eine Switchblade-Drohne hat offenbar einen russischen Panzer getroffen. Dessen Besatzung soll sich auf dem Turm mit Alkohol vergnügt haben.

Ukrainekrieg: Erster Einsatz einer US-Kamikazedrohne dokumentiert
Artikel
  1. Deutsche Bahn: 9-Euro-Ticket gilt nicht in allen Nahverkehrszügen
    Deutsche Bahn
    9-Euro-Ticket gilt nicht in allen Nahverkehrszügen

    So einfach ist es dann noch nicht: Das 9-Euro-Ticket gilt nicht in allen Zügen, die mit einem Nahverkehrsticket genutzt werden können.

  2. Verifone: Bundesweite Störung von Girokarten-Terminals
    Verifone
    Bundesweite Störung von Girokarten-Terminals

    In vielen Geschäften lässt sich derzeit nur bar bezahlen. Ursache ist wohl ein Softwarefehler in Kartenzahlungsterminals für Giro- und Kreditkarten.

  3. Cerebras WSE-2: München verbaut riesigen KI-Chip
    Cerebras WSE-2
    München verbaut riesigen KI-Chip

    Als erster Standort in Europa hat das Leibniz-Rechenzentrum (LRZ) ein CS-2-System mit Cerebras' WSE-2 gekauft, welches effizient und schnell ist.

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 • Days of Play: (u. a. PS5-Controller (alle Farben) günstig wie nie: 49,99€, PS5-Headset Sony Pulse 3D günstig wie nie: 79,99€) • Viewsonic Gaming-Monitore günstiger • Mindstar (u. a. MSI RTX 3090 24GB 1.599€) • Xbox Series X bestellbar • Samsung SSD 1TB 79€ [Werbung]
    •  /