DARPA sagt Speicherfehlern den Kampf an: KI soll alten C-Code in Rust übertragen

Die US-Behörde DARPA möchte Sicherheitslücken durch Speicherfehler ausmerzen. KI soll Legacy-Code in C und C++ in hochwertige Rust-Software übertragen.

In Pocket speichern vorlesen Druckansicht 284 Kommentare lesen

(Bild: Callum Bainbridge / Shutterstock.com)

Lesezeit: 3 Min.

Die US-Bundesbehörde DARPA legt ein Förderprogramm auf, bei dem künstliche Intelligenz (KI) vorhandenen C- und C++-Code selbstständig in die moderne Programmiersprache Rust übertragen soll – und zwar auf einem Niveau, das dem Resultat eines erfahrenen Rust-Programmierers entsprechen soll. Damit solle "ein für alle Mal" den Sicherheitslücken durch Speicherzugriffsverletzungen ein Riegel vorgeschoben werden, die sich immer wieder insbesondere in C-Code einschlichen. Unter der Bezeichnung 'Translating All C To Rust' ('TRACTOR') wirbt die DARPA um Vorschläge für KI-Systeme, die per maschinellem Lernen (ML) und hauptsächlich durch Large Language Models (LLMs) diese Übersetzung von Programmcode "weitgehend" vollautomatisch erledigen.

Das sei zwar bisher schon möglich, doch das TRACTOR-Projekt des Information Innovation Office der DARPA werde sich bemühen, dass die Ergebnisse die gleiche Codequalität und den vergleichbaren Stil eines erfahrenen Rust-Entwicklers aufweisen. Ziel des Projekts sei es, die gesamte Klasse an Schwachstellen durch Fehler bei der Speicherverwaltung in C zu beseitigen, schreibt die DARPA in einer Mitteilung vom Mittwoch.

Bei den Software-Schwachstellen seien Speicherschutzverletzungen vorherrschend. Programmiersprachen wie C trügen dazu bei, weil sie direkte Speicheränderungen erlaubten und ihr Sprachstandard keinen Umgang mit undefinierten Zuständen vorsehe, argumentiert die zum US-Verteidigungsministerium gehörende Defense Advanced Research Projects Agency. Wegen der langen Vergangenheit und der weiten Verbreitung von C (und teils auch C++) schlage man sich seit über zwanzig Jahren mit solchen Sicherheitslücken in Legacy-Code herum. Alle Bemühungen, den Zustand durch Tools zur Fehlersuche zu verbessern, hätten sich als unzureichend erwiesen – dies sei Konsens unter Softwareentwicklern, meint die DARPA.

Es sei bekannt, dass mit modernen Programmiersprachen diese Art von Schwachstellen umgangen werden könnten. Die Herausforderung bestehe vielmehr darin, vorhandene C- und C++-Software in so großem Umfang neu zu schreiben, wie es die Dringlichkeit des Problems erfordere. In den vergangenen Jahren haben jedoch ein kultureller Wandel hin zur Etablierung von Rust sowie Durchbrüche beim maschinellen Lernen ein Umfeld geschaffen, in dem nach Einschätzung der DARPA völlig neue Lösungen des Problems entstünden.

Schon heute könnten KI-Chatbots C-Codeschnipsel in Rust übertragen, sagte TRACTOR-Projektleiter Dan Wallach, und das Ergebnis sei oft sehr gut, aber nicht immer. Die KI-Forschung sei nun herausgefordert, das automatische Übersetzen in Rust erheblich zu verbessern, vor allem der wichtigsten Programmkonstrukte. Wallach erhofft sich von dem Projekt Vorschläge, die statische und dynamische Codeanalyse und LLMs auf neue Weise verbinden. "Rust zwingt Programmierer dazu, die Dinge richtigzumachen", sagte Wallach. Es könne sich wie eine Einschränkung anfühlen, mit all den erzwungenen Regeln umzugehen, aber habe man sich an sie gewöhnt, gestatteten sie Freiheit: Die Regeln seien wie Leitplanken; sobald man erkenne, dass sie einen schützten, könne man sich auf wichtigere Dinge konzentrieren. Beim TRACTOR-Projekt sollen die Fähigkeiten der Einreichungen in öffentlichen Wettbewerben geprüft werden. Vorschläge lassen sich noch bis zum 19. August bei der DARPA einreichen, am 26. August werden die Einreichungen präsentiert.

(tiw)