Die „virale“ sichere Programmiersprache, die die Tech übernimmt


Diese Arten von Schwachstellen sind nicht nur esoterische Softwarefehler. Untersuchungen und Audits haben wiederholt ergeben, dass sie die Mehrheit aller Software-Schwachstellen ausmachen. Während Sie also beim Programmieren in Rust immer noch Fehler machen und Sicherheitslücken schaffen können, ist die Möglichkeit, Sicherheitslücken im Speicher zu beseitigen, erheblich.

„Speichersicherheitsprobleme sind für einen sehr, sehr großen Prozentsatz aller gemeldeten Schwachstellen verantwortlich, und zwar in kritischen Anwendungen wie Betriebssystemen, Mobiltelefonen und der Infrastruktur“, sagt Dan Lorenc, CEO des Software-Supply-Chain-Sicherheitsunternehmens Chainguard. „Im Laufe der Jahrzehnte, in denen Menschen Code in speicherunsicheren Sprachen geschrieben haben, haben wir versucht, bessere Werkzeuge zu verbessern und zu bauen und den Menschen beizubringen, wie sie diese Fehler vermeiden können, aber es gibt nur Grenzen dafür, wie viel es bedeutet, den Menschen zu sagen, dass sie sich mehr anstrengen sollen eigentlich funktionieren. Sie brauchen also eine neue Technologie, die diese ganze Klasse von Schwachstellen einfach unmöglich macht, und das ist es, was Rust endlich auf den Tisch bringt.“

Rust ist nicht ohne seine Skeptiker und Kritiker. Die Bemühungen der letzten zwei Jahre, Rust in Linux zu implementieren, waren umstritten, zum Teil, weil das Hinzufügen von Unterstützung für jede andere Sprache die Komplexität von Natur aus erhöht, und zum Teil aufgrund von Debatten darüber, wie genau das alles funktioniert. Befürworter betonen jedoch, dass Rust über die notwendigen Elemente verfügt – es verursacht keinen Leistungsverlust und funktioniert gut mit Software, die in anderen Sprachen geschrieben ist – und dass es entscheidend ist, einfach weil es einen dringenden Bedarf erfüllt.

„Es ist weniger, dass es die richtige Wahl ist, als vielmehr, dass es bereit ist“, sagt Lorenc, ein langjähriger Open-Source-Mitarbeiter und -Forscher. „Es gibt im Moment keine wirklichen Alternativen, außer nichts zu tun, und das ist einfach keine Option mehr. Die Verwendung von speicherunsicherem Code für ein weiteres Jahrzehnt wäre ein massives Problem für die Technologiebranche, für die nationale Sicherheit, für alles.“

Eine der größten Herausforderungen beim Übergang zu Rust sind jedoch genau die Jahrzehnte, die Entwickler bereits damit verbracht haben, lebenswichtigen Code in speicherunsicheren Sprachen zu schreiben. Das Schreiben neuer Software in Rust löst diesen massiven Rückstand nicht. Die Linux-Kernel-Implementierung beispielsweise beginnt an der Peripherie mit der Unterstützung von Rust-basierten Treibern, den Programmen, die zwischen einem Betriebssystem und Hardware wie einem Drucker koordinieren.

„Bei der Entwicklung von Betriebssystemen stehen Geschwindigkeit und Leistung immer an erster Stelle, und die Teile, die Sie in C++ oder C ausführen, sind normalerweise die Teile, die Sie einfach nicht in Java oder anderen speichersicheren Systemen ausführen können Sprachen, wegen der Leistung“, sagt Kleidermacher von Google. „In der Lage zu sein, Rust auszuführen und die gleiche Leistung zu haben, aber die Speichersicherheit zu erhalten, ist wirklich cool. Aber es ist eine Reise. Man kann nicht einfach über Nacht 50 Millionen Codezeilen neu schreiben, also wählen wir sorgfältig sicherheitskritische Komponenten aus und rüsten im Laufe der Zeit andere Dinge nach.“

In Android sind laut Kleidermacher viele Funktionen zur Verwaltung von Verschlüsselungsschlüsseln jetzt in Rust geschrieben, ebenso wie die private Internetkommunikationsfunktion DNS über HTTPS, eine neue Version des Ultra-Wideband-Chip-Stacks und das Neue Android-Virtualisierungs-Framework Wird in den benutzerdefinierten Tensor G2-Chips von Google verwendet. Er fügt hinzu, dass das Android-Team Konnektivitätsstacks wie die für Bluetooth und Wi-Fi zunehmend auf Rust umstellt, da diese auf komplexen Industriestandards basieren und tendenziell viele Schwachstellen enthalten. Kurz gesagt, die Strategie besteht darin, schrittweise Sicherheitsvorteile zu erzielen, indem die am stärksten exponierten oder wichtigsten Softwarekomponenten zuerst auf Rust konvertiert werden und dann von dort aus nach innen gearbeitet wird.

source-114

Leave a Reply