Die US-Sicherheitsbehörde rät von der Verwendung von C++ ab. Ihr Entwickler will die Vorwürfe der Behörde nicht auf sich beruhen lassen. Die Programmiersprache C++ wurde 1979 von Bjarne Stroustrup als Erweiterung der Programmiersprache C entwickelt. Foto: ilikeyellow – shutterstock.comNachdem die National Security Agency (NSA) davon abgeraten hat, die Programmiersprache C++ weiterhin zu verwenden, sieht sich ihr Schöpfer, Bjarne Stroustrup, gezwungen, sie öffentlich zu verteidigen. Anstelle von C++ rät die NSA Organisationen, speichersichere Sprachen zu verwenden.Im November 2022 veröffentlichte die NSA ein Bulletin über die Speichersicherheit von C++. Als Antwort darauf veröffentlichte Stroustrup eine offizielle Stellungnahme, in der er betont, dass die Typ- und Ressourcen-Sicherheit bei der Entwicklung von C++ eine hohe Priorität hätten. Vor allem die Core Guideline für die Programmiersprache würden auf dieses Ziel einzahlen.Lesetipp: Diese Programmiersprachen sind am beliebtesten Kritik an C und C++Die NSA rät von der Verwendung der Programmiersprachen C und C++ ab, da Speicherprobleme in Software noch immer einen großen Teil der ausgenutzten Schwachstellen ausmachen würden. Und das, obwohl die Entwickler strenge Tests durchführen würden, um sicherzustellen, dass der Code sicher ist. “NSA rät Organisationen einen strategischen Wechsel von Programmiersprachen, die nur wenig oder gar keinen inhärenten Speicherschutz bieten wie C und C++, zu einer speichersicheren Sprache, wenn möglich”, heißt es in dem Bulletin.Als speichersichere Programmiersprachen nennt die Behörden c#, Go, Java, Ruby, Rust und Swift. Gängige Sprachen wie C und C++ wiederum würden viel Freiheit und Flexibilität bei der Speicherverwaltung bieten, verließen sich jedoch stark auf die Programmierer, wenn es um die Überprüfung von Speicherreferenzen ginge.Stroustrup argumentiert, er sähe für die ihm wichtigen Anwendungsbereiche “diese sicheren Sprachen” als nicht besser an, als C und C++. “Sicher” beschränke sich in der Beschreibung der NSA auf Speichersicherheit und ließe etwa “ein Dutzend anderer Möglichkeiten aus, wie eine Sprache verwendet werden kann, um die Sicherheit zu verletzen”. Zudem klagt der Entwickler darüber, dass die NSA C++ mit der älteren Sprache C in einen Topf geworfen wird. C++ ist eine Erweiterung von C, die NSA ignoriere mit ihrem Bulletin seiner Meinung nach mehr als 30 Jahre Fortschritt. “Ja, viel zu viele Leute reden über die mythische C/C++-Sprache und konzentrieren sich dann oft auf die Schwächen des C-Teils. Viele dieser Schwächen können in C++ vermieden werden, typischerweise durch das Schreiben von effizienterem Code, der die Absicht des Programmierers direkter zum Ausdruck bringt”, erklärt Stroustrup gegenüber unserer Schwesterpublikation InfoWorld. Lesetipp: Mit C++ programmieren – Die 12 besten LibrariesSo sollte Sicherheit von Programmiersprachen aussehenDarüber hinaus teilte Stroustrup mit, wie seine Definition von Sicherheit aussieht: Er strebt eine Typ- und Ressourcen-Sicherheit an, bei der jedes Objekt gemäß seinem Typ verwendet wird und keine Ressource verloren geht. Für C++ bedeute dies eine Überprüfung des Laufzeitbereichs, die Beseitigung des Zugriffs über Dangling Pointer (Pointer speichern die Speicheradressen für die Datenverarbeitung; “hängend” sind die Pointer, wenn sie nicht auf ein gültiges Objekt des richtigen Types zeigen) und die Vermeidung des Missbrauchs von Casts (wandeln Datentypen um) und Unions (Datenstrukturen mit unterschiedlichen Datentypen).C++ biete High-Level-Funktionen wie Container, Span, Range-for-Loops und Varianten, die Garantien bieten können, die Produktivität und die Effizienz zu beeinträchtigen. Über die von der NSA angeführten sicheren Sprachen sagte Stroustrup, dass sie durch nicht statisch verifizierten Code verwundbar seien. Außerdem müsse jedes System Hardware verwenden und ein effektiver Hardware-Zugriff sei selten sicher. (ms) Lesetipp: Carbon soll ein besseres C++ werdenDieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation InfoWorld.Jetzt kostenlos für den CSO-Newsletter anmelden SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Bitte geben Sie eine gültige E-Mail-Adresse ein. Abonnieren