In einer neuen Veröffentlichung betont Google die Rolle der Programmiersprache Rust bei der Verbesserung der Software-Sicherheit, insbesondere im Kontext großer Projekte wie Android. Diese Initiative gehört zum strategischen Programmier-Paradigma, das als Safe Coding bekannt ist und darauf abzielt, potenzielle Sicherheitslücken durch speichersichere Programmierung zu verringern.
Der Bericht hebt hervor, dass der Anteil an Sicherheitslücken, die durch Speicherprobleme verursacht werden, stark von der verwendeten Programmiersprache abhängt. Besonders alarmierend war die Situation im Jahr 2019, als 76 Prozent der Schwachstellen in Android auf solche Speicherprobleme zurückzuführen waren. Diese Zahl soll bis 2024 auf nur 24 Prozent sinken, was die Bemühungen von Google zur Verbesserung der Sicherheit untermauert, denn der Branchendurchschnitt liegt bei 70 Prozent.
Die Entwicklung sicherer Software
Die Herausforderungen beim Umgang mit Speicherfehlern werden in der Softwareentwicklung gut bekannt. Entwickler reagieren meist reaktiv, indem sie Probleme nur nach deren Auftreten beheben. Proaktive Ansätze, wie Exploit Mitigations, sollen Angriffe erschweren, können aber häufig auf Kosten der Leistung gehen. Das neue Paradigma von Google, Safe Coding, adressiert diese Probleme direkt, indem es Sicherheitsstandards in den Entwicklungsprozess integriert, was eine ständige Kontrolle über den Code ermöglicht.
Diese Strategie zielt darauf ab, Sicherheitslücken bereits im Vorfeld zu vermeiden, anstatt lediglich darauf zu reagieren. Google hat dabei in den letzten fünf Jahren erhebliche Fortschritte erzielt, insbesondere durch die Integration speichersicherer Programmiersprachen. Mit einem klaren Fokus auf Rust, hat das Android-Team bewiesen, dass diese strategische Entscheidung eine deutlich positive Auswirkung auf die Verringerung von Speicherfehlern hat.
Erfolge in der praktischen Umsetzung
Google hat in internen Simulationen gesehen, dass die Verwendung von speichersicheren Sprachen den Anteil an Speicherfehlern signifikant senken kann. Der Rückgang von 76 Prozent auf 24 Prozent im Bereich Android zeigt, wie effektiv diese neuen Ansätze sind. Zudem investierte Google aktiv in die Rust-Community mit über einer Million US-Dollar in die Rust Foundation, um die Interoperabilität zwischen Rust, C++ und Kotlin zu verbessern.
- **Wettlauf um Sicherheit:** Anstatt nur gegen Angriffe zu reagieren, wird durch Safe Coding sichergestellt, dass sicherer Code von Anfang an entwickelt wird.
- **Sicherheit als Standard:** Die Verwendung von Rust als speichersichere Sprache ist standardmäßig implementiert, wodurch das Sicherheitsniveau erheblich steigt.
- **Produktivitätssteigerung:** Die Entwicklung mit Rust führt zu weniger Rollbacks, was die allgemeine Produktivität des Teams erhöhen kann.
Ein wichtiger Aspekt von Googles Ansatz ist die Interoperabilität. Anstatt bestehenden unsicheren Code völlig neu zu programmieren, nutzen sie Rust, um eine sichere Schnittstelle für bereits existierenden Code zu schaffen. Diese Praxis schont bestehende Investitionen und ermöglicht eine schnellere Entwicklung neuer Funktionen.
Mit dem Fokus auf die Vorbeugung von Schwachstellen anstelle von reaktiven Maßnahmen wird Google voraussichtlich weniger Patches benötigen und die Effizienz verbessern. Diese proaktive Herangehensweise wird als wesentlich für die Zukunft der Softwareentwicklung angesehen.
Rust erfreut sich nicht nur bei Google einer wachsenden Beliebtheit. Auch Microsoft plant, Rust in seinen Windows-Kernel zu integrieren, und das Linux-Team hat ebenfalls die Sprache für künftige Entwicklungen in Betracht gezogen.
Eine vertiefte Diskussion zu diesem Thema findet während der kommenden Online-Konferenz betterCode() Rust am 5. November statt, die sich diesem vielversprechenden Paradigma widmet und insbesondere die Vorteile von Rust für kritische Systeme beleuchtet. Weitere Informationen über die Konferenz und die zugrunde liegenden Themen sind auf www.heise.de nachzulesen.