So soll C++ speichersicher werden - Community wehrt sich gegen Rust

Seit geraumer Zeit muss sich die C++-Community nun immer wieder anhören, wie wichtig es doch wäre, aufgrund der man­geln­den Speicher­sicherheit zu anderen Pro­gram­mier­spra­chen zu wechseln. Dem setzt man nun aber das Projekt "Safe C++ Ex­ten­sions" entgegen.
Hacker, Security, Hack, Entwickler, Entwicklung, Cybersecurity, Exploit, Hacking, Code, Programmierung, Quellcode, Programmierer, Developer, Sdk, Programmieren, Sourcecode, Cyber, Dev, Coding, Coder, Development, Binärcode, Binär

Grundlagen sind da

Dieses zielt darauf ab, die Schwachstellen des Programmiersprachenklassikers zu beheben, insbesondere in Bezug auf Speichersicherheitsprobleme. "Dies ist ein revolutionärer Vorschlag, der der Programmiersprache C++ Speichersicherheitsfunktionen hinzufügt", erklärte Vinnie Falco, Präsident der C++ Alliance, laut eines Berichts des Registers. Die Zusammenarbeit markiere einen wichtigen Meilenstein, da der Bedarf an sicherem Code noch nie so dringend gewesen sei.

In den letzten Jahren haben Sicherheitsexperten verstärkt darauf gedrängt, neue Anwendungen in speichersicheren Programmiersprachen wie C#, Go, Java, Python und vornehmlich Rust zu entwickeln. Rust gilt als besonders geeignet, da es eine leistungsstarke Systemprogrammiersprache ist, die Sicherheit und Effizienz vereint.


Bereits 2019 machte der Software-Ingenieur Alex Gaynor darauf aufmerksam, dass die meisten schwerwiegenden Sicherheitslücken in großen Codebasen auf Speichersicherheitsfehler wie Pufferüberläufe und "Use-after-free"-Bugs zurückzuführen sind. Diese Schwachstellen wurden in den letzten Jahren auch vermehrt auf technischen Konferenzen diskutiert. Im Jahr 2022 rief Microsofts Azure-Chef Mark Russinovich sogar dazu auf, C und C++ komplett zugunsten von Rust zu verwerfen.

Obwohl C++-Schöpfer Bjarne Stroustrup betonte, dass seine Programmiersprache in ihrer aktuellen Form Speichersicherheit garantieren könne, stieß diese Aussage auf Skepsis. Kritiker argumentieren, dass C++ nicht von Grund auf für Speichersicherheit konzipiert wurde, was es in realen Anwendungen schwierig mache, tatsächlich speichersicheren Code zu schreiben.

Code umschreiben schwierig

Der Vorschlag für die "Safe C++ Extensions" zielt nun darauf ab, diese Kritik zu adressieren und die Forderungen von Regierungsbehörden wie der NSA und der US-Cybersecurity Agency nach sicherem Code zu erfüllen. Während viele Entwickler Zweifel daran haben, dass C++ jemals so sicher wie Rust oder Swift werden könnte, sind die Entwickler Sean Baxter und Christian Mazakas zuversichtlich. Sie argumentieren, dass das Umschreiben von C++-Code in Rust nicht praktikabel sei, da die beiden Sprachen viele konzeptionelle Unterschiede aufweisen.

Baxter betont, dass das Safe-C++-Projekt neue Technologien zur Gewährleistung von Speichersicherheit einführt, darunter Mechanismen wie "Borrow Checking", um Use-after-free-Fehler zu verhindern. Hinzu kommen Analysen zur Initialisierung, um die Typsicherheit sicherzustellen. Der Vorteil des Projekts besteht darin, dass bereits vorhandener C++-Code weiterhin funktioniert, während die Entwickler nach und nach sicherere Funktionen integrieren können, ohne auf eine komplett neue Sprache umzusteigen.

Zusammenfassung
  • C++-Community entwickelt 'Safe C++ Extensions' für mehr Speichersicherheit
  • Das Projekt zielt auf die Behebung von Schwachstellen und Sicherheitsproblemen ab
  • Experten drängen auf Nutzung speichersicherer Sprachen wie Rust oder Java
  • Kritiker bezweifeln die Fähigkeit von C++ zur vollständigen Speichersicherheit
  • Neue Technologien wie 'Borrow Checking' sollen Sicherheit verbessern
  • Vorhandener C++-Code bleibt kompatibel bei schrittweiser Integration
  • Entwickler sehen Vorteile gegenüber kompletter Umstellung auf neue Sprache

Siehe auch:
Jetzt einen Kommentar schreiben


Alle Kommentare zu dieser News anzeigen
Interessante Artikel & Testberichte
Tipp einsenden
❤ WinFuture unterstützen
Sie wollen online einkaufen? Dann nutzen Sie bitte einen der folgenden Links, um WinFuture zu unterstützen: Vielen Dank!