Google und Microsoft flüchten in die bessere Sicherheit der Rust-Sprache

Google und Microsoft flüchten in die bessere Sicherheit der Rust-Sprache

Als Fortanix 2016 auf den Markt kam, traf das Unternehmen eine Entscheidung: Es würde sich für die ein Jahr alte Programmiersprache Rust entscheiden, um von deren Sicherheitsstärken und Leistung zu profitieren.

Sieben Jahre später hat sich Fortanix‘ Engagement für Rust als Erfolg erwiesen. Das Unternehmen hat Unterstützung für Intel Software Guard Extensions (SGX) entwickelt, die die Verwendung sicherer Enklaven für Benutzerdaten ermöglicht und von der Fähigkeit des Rust-Compilers profitiert, einige Klassen von Schwachstellen zu vermeiden, insbesondere Probleme mit der Speichersicherheit, sagt Jethro Beekman, Vizepräsident of Technology und CISO bei der Datensicherheitsunternehmen.

„Es gab einige Early Adopters, die dieses Potenzial wirklich erkannten, und nachdem wir gründlich recherchiert und einige praktische Erfahrungen damit gesammelt hatten, beschlossen wir, im Grunde alles zu tun“, sagt er. „Die Tools und der Compiler helfen wirklich dabei, Fehler zu vermeiden.“

Acht Jahre nach der Veröffentlichung von 1.0 erfreuen sich die Sprache und Entwicklungsplattformen von Rust weiterhin wachsender Beliebtheit bei Entwicklern und Unternehmen konzentrierte sich auf sicheren Code. Während Rust einen weitaus niedrigeren hat TIOBE-Bewertung als C oder C++, die Sprache verzeichnet Jahr für Jahr deutlich mehr Nutzer. Auch Rust hat eine treue Anhängerschaft: Während nur 12 % der Programmierer die Technologie im vergangenen Jahr nutzten, wollen fast 85 % dieser Entwickler die Sprache weiterhin verwenden, was sie laut Aussage zur „am meisten bewunderten“ Programmiersprache macht die Stack Overflow „Entwicklerumfrage 2023“.

Diagramme, die das Wachstum der Programmiersprache Rust zeigen

Die Akzeptanz von Rust nimmt weiterhin exponentiell zu. Quelle: Lib.rs (https://lib.rs/stats)

Im Rahmen der Bemühungen, Fehlerklassen zu beseitigen, schreibt Microsoft beispielsweise Teile des Kernels mithilfe von Rust neu, sagte David Weston, Vizepräsident für Unternehmens- und Betriebssystemsicherheit bei Microsoft, während der BlueHat Israel im März. Das Unternehmen hat DWriteCore in Rust erstellt, um das Parsen von Schriftarten in eine Speichersicherheitsfunktion umzuwandeln, und experimentiert derzeit mit dem Schreiben von Teilen der Grafiktreiberschnittstelle (GDI) in Rust. Das Unternehmen verzeichnete in frühen Versionen des Codes eine Leistungssteigerung um 5 bis 15 %.

„Ich würde sagen, dass wir uns in der Crawling-Phase befinden … für Rust in Windows“, sagte Weston eine Videoaufzeichnung seines Vortrags. „Wir experimentieren mit einer Toolkette; Wir schauen uns die Codegenerierung an und versuchen herauszufinden, ob es sich lohnt, Rust zu erlernen.“

Microsoft, ein Sponsor der Rust Foundation, hat sich jedoch der Sprache verschrieben. „Sie werden tatsächlich Windows mit Rust im Kernel starten“, sagt Weston.

Google, 1Password und andere an Bord

Google ist auch ein großer Unterstützer von Rust. Das Unternehmen führt einen Rückgang des Anteils der Speichersicherheitslücken in Android auf den Übergang von C und C++ zu Rust, Kotlin (einer funktionalen Programmiersprache) und Java zurück. Im Jahr 2022 werden Sicherheitslücken im Speicher, wie z. B. Pufferüberläufe, auftreten. machten weniger als die Hälfte aller Schwachstellen in Android aus.

„Wir empfehlen generell den Einsatz von Rust überall dort, wo Sie erwägen, neuen C- oder C++-Code zu schreiben“, sagt Lars Bergstrom, Director of Engineering für Android-Programmiersprachen bei Google und Vorstandsvorsitzender der Rust Foundation. „Rost ist daher oft eine gute Wahl, wenn Sie eine strenge Kontrolle über das zugrunde liegende System und seine Ressourcen, wie zum Beispiel den Speicher, benötigen.“

Die Nationale Sicherheitsbehörde empfiehlt auch dass Entwickler wegen dieser Sprachen nach Alternativen zu C und C++ für sicherheitskritischen Code suchen Verlassen Sie sich zu sehr darauf, dass der Entwickler keine Fehler macht.

Während sich Fortanix dazu verpflichtet hat, Rust umfassend zu nutzen, gehen andere Unternehmen bei der Einführung der Sprache in ihre Codebasen taktischer vor. Das Passwort- und Identitätsmanagement-Unternehmen 1Password, das solide Sicherheit zum Schutz der Passwortspeicher der Benutzer benötigt, hat Rust als Entwicklungsplattform für seine zentralen Datensicherheitskomponenten übernommen und andere Sprachen für die Front-End-Schnittstelle auf verschiedenen Betriebssystemen verwendet. erklärte das Unternehmen in einem Blogbeitrag.

Microsoft befinde sich in einer ähnlichen Situation und werde keine großen Teile seiner Codebasis in Rust neu schreiben, sagte Weston.

„Ich sage Ihnen nur ungern – ich kenne Rust-Fans da draußen –, dass das Umschreiben von Windows in Rust wahrscheinlich nicht so schnell passieren wird“, sagte er den Teilnehmern der BlueHat Israel-Konferenz. „Obwohl wir Rust lieben, brauchen wir eine Strategie, die auch die Sicherung von mehr unserem nativen Code umfasst.“

Lernkurve nicht so steil

Die Rust Foundation hat eine große Akzeptanz bei Unternehmen für eingebettete und vernetzte Geräte erfahren – insbesondere in den Automobil-, Industrie- und Luft- und Raumfahrtanwendungen – sowie bei der Erstellung von Web- und Cloud-Anwendungen in einer anderen neuen Plattform, WebAssembly, sagt Rebecca Rambul, Geschäftsführerin von CEO der Rust Foundation.

„Diese Art von Organisationen gehörten zu den … ersten außerhalb der großen Technologieunternehmen, die das Potenzial von Rust wirklich erkannten.“ nicht nur wegen der Sicherheit, sondern auch wegen der Geschwindigkeit und der Leistung," Sie sagt. „Dieses Maß an Sicherheit erhält man aufgrund der Speichersicherheit, aber aus Performance-Sicht verliert man nichts.“

Als Fortanix startete, musste jeder Programmierer Rust lernen. Während allgemein bekannt ist, dass die Sprache schwer zu erlernen ist, gaben mehr als zwei Drittel der Programmierer, die Rust lernen, an, dass sie sich sicher fühlen, innerhalb von zwei Monaten zu einem Projekt beizutragen eine Umfrage unter internen Programmierern von Google.

Während neue Programmierer sich schnell mit Rust vertraut machten, ist der Compiler weiterhin langsamer als vielen lieb ist, wie die Umfrage ebenfalls ergab.

Die Sprache erfordert einige Anpassungen, räumt Michael Erquitt ein, leitender Sicherheitsingenieur beim Schulungsunternehmen für sichere Codierung, Security Journey. Darüber hinaus müssen Programmierer ein eigenes Gespür dafür entwickeln, welche Funktionen und Anwendungen von der Sprache profitieren würden.

„Bei der Auswahl von Programmiersprachen und -tools gibt es immer gewisse Kompromisse.“ Erquitt sagt. „Rust als moderne Programmiersprache kann für eine Vielzahl von Projekten verwendet werden, aber die Wahl hängt letztendlich davon ab, was die funktionalen/Kundenanforderungen Ihres Projekts am besten erfüllt.“

Zeitstempel:

Mehr von Dunkle Lektüre