The White House 04.03.2024, 08:58 Uhr

Memory Save: Speichersichere Programmiersprachen bevorzugen

In der aktuellen Veröffentlichung "Back to the Building Blocks: A Path Toward Secure And
Measurable Software" empfiehlt das Weiße Haus die Verwendung von speichersicheren Programmiersprachen. Insbesondere C und C++ werden als eher unsichere Sprachen genannt.
(Quelle: whitehouse.gov)
Hier ein mit Unterstützung von deepL übersetzter Auszug aus dem Dokument, dessen englischsprachiges Original sie hier finden.
[...]
Experten haben einige Programmiersprachen identifiziert, die zum einen keine speichersichersicheren Eigenschaften aufweisen und zum anderen eine hohe Verbreitung in kritischen, wie zum Beispiel C und C++. Die Entscheidung für speichersichere Programmiersprachen von Anfang an zu verwenden, wie es die Cybersecurity and Infrastructure Security Agency (CISA) empfohlen wird, ist ein Beispiel für die Entwicklung von Software nach dem Prinzip des sicheren Designs.
[...]
Da viele Cybersicherheitsprobleme mit einer Codezeile beginnen, besteht eine der effektivsten Möglichkeiten, diese Probleme zu lösen, darin, die Programmiersprache selbst zu untersuchen. Wenn man sicherstellt, dass eine Programmiersprache bestimmte Eigenschaften wie Speicher- oder Typsicherheit enthält, bedeutet dies, dass Software, die auf dieser Grundlage aufgebaut ist, automatisch die Sicherheit erbt, die diese Funktionen bieten.
Lösungen für die Cybersicherheit sollten sich an bewährten technischen Verfahren orientieren, und Technologiehersteller, die Software entwickeln, können dieses Problem angehen, indem sie konsequent sichere Bausteine verwenden, insbesondere speichersichere Programmiersprachen. Es gibt deutliche Anzeichen dafür, dass es jetzt an der Zeit ist, diese Änderungen vorzunehmen.
Erstens gibt es bereits technische Lösungen; es gibt Dutzende von speichersicheren Programmiersprachen, die verwendet werden können und sollten. Technologiehersteller sind bereits in der Lage, neue Produkte vom ersten Tag an in speichersicheren Programmiersprachen zu entwickeln und zu bauen. Zweitens hat der Übergang zu speichersicheren Programmiersprachen nachweislich positive Auswirkungen auf die Cybersicherheit. Branchenanalysen haben in einigen Fällen gezeigt, dass trotz strenger Codeüberprüfungen sowie anderer präventiver und aufdeckender Kontrollen bis zu 70 Prozent der Sicherheitsschwachstellen in speicherunsicheren Sprachen, die gepatcht und mit einer CVE-Bezeichnung versehen wurden, auf Speichersicherheitsprobleme zurückzuführen sind. Wenn große Codebasen auf eine speichersichere Sprache migriert werden, zeigt sich, dass Speichersicherheitsschwachstellen nahezu eliminiert werden.
Bei neuen Produkten ist die Entscheidung für eine speichersichere Programmiersprache eine frühe Architekturentscheidung, die erhebliche Sicherheitsvorteile bringen kann. Auch für bestehende Codebasen, bei denen eine vollständige Neuschreibung des Codes eine größere Herausforderung darstellt, gibt es Wege zur Einführung speichersicherfähiger Programmiersprachen, indem ein hybrider Ansatz gewählt wird. So können Softwareentwickler beispielsweise die kritischen Funktionen oder Bibliotheken anhand von Risikokriterien identifizieren und die Neuprogrammierung dieser Funktionen oder Bibliotheken als erstes in Angriff nehmen.
Die Entwicklung neuer Produkte und die Migration von stark belastetem Legacy-Code auf speichersichere Programmiersprachen kann die Verbreitung von Schwachstellen in der Speichersicherheit im gesamten digitalen Ökosystem erheblich reduzieren. Natürlich gibt es im Bereich der Cybersicherheit keine Einheitslösungen, und die Verwendung einer speichersicheren Programmiersprache kann nicht jedes Cybersicherheitsrisiko beseitigen. Sie ist jedoch ein wesentlicher, zusätzlicher Schritt, den Technologiehersteller zur Beseitigung breiter Kategorien von Softwareschwachstellen unternehmen können. Ein kürzlich von der CISA, der NSA, dem FBI und internationalen Cybersicherheitsbehörden verfasster Bericht mit dem Titel The Case for Memory Safe Roadmaps (Der Fall für speichersichere Roadmaps) bietet Herstellern eine Anleitung für die Umsetzung von Änderungen zur Beseitigung von Speichersicherheitsschwachstellen in ihren Produkten.
Hier geht's zum englischsprachigen Original-Dokument.


Das könnte Sie auch interessieren