AI-DevAssist

KI-gestützte, sichere Softwareentwicklung

Darstellung eines Softwarecodes
Künstliche Intelligenz hilft bei der Suche nach Schwachstellen in komplexen Softwarecodes.© Sergey Nivens – stock.adobe.com

Motivation

In vielen digitalen Produkten kommt heutzutage Software zum Einsatz. Mit der zunehmenden Vernetzung dieser Produkte entstehen immer mehr mögliche Ziele für Cyberangriffe. Unzureichend abgesicherte Softwaresysteme stellen für Staat, Gesellschaft und Wirtschaft ein immer größeres Sicherheitsrisiko dar, und die umfassende Absicherung von Millionen von Zeilen von Softwarecode ist für Entwicklerinnen und Entwickler eine immer größere Herausforderung. Die Anzahl der kritischen Schwachstellen steigt trotz aller Versuche diese einzudämmen. Untersuchungen haben ergeben, dass Programmiererinnen und Programmierer heute häufig noch dieselben Schwachstellen beim Schreiben von Softwarecode produzieren wie schon vor gut 20 Jahren. Es zeigt sich also, dass aktuelle Entwicklungswerkzeuge noch nicht intelligent genug sind, um die Softwareentwicklung an den entscheidenden sicherheitsrelevanten Stellen hinreichend zu unterstützen.

Ziele und Vorgehen

Ziel des Vorhabens „KI-gestützte, sichere Softwareentwicklung“ (AI-DevAssist) ist es daher, Methoden zu erforschen, bei denen Künstliche Intelligenz (KI) Schwachstellen in Softwarecode erkennt und so zur Verhinderung von Angriffen beiträgt. Anders als bei existierenden Ansätzen soll auf innovative Methoden sicherer Softwareentwicklung, speziell der automatisierten Codeanalyse, gesetzt werden. Auf dieser Grundlage wird ein KI-Assistent entwickelt, der Schwachstellen auf Basis semantischer Programmeigenschaften effektiv erkennt. Die zu entwickelnden KI-Komponenten suchen potentielle Schwachstellen sowohl direkt im Software-Code (statisch) als auch bei den Programmausführungen (dynamisch). Eine Mensch-KI-Schnittstelle ermöglicht die benutzerfreundlichen Steuerung der Komponenten und überlässt der Entwicklerin bzw. dem Entwickler die endgültige Entscheidung in der Beurteilung einer Sicherheitslücke.

Innovationen und Perspektiven

Die Innovation des Projektes liegt darin, Konzepte zu schaffen, die eine produktive Zusammenarbeit von KI-Systemen und Softwareentwicklerinnen und -entwicklern erlauben, so dass alle ihre Stärken ausspielen können. Insbesondere sollen auf diese Weise Programmiererinnen und Programmierer unterstützt werden, die nur geringe Expertise in der IT-Sicherheit haben. So wird sichergestellt, dass auch kleine und mittlere Unternehmen, die häufig nicht über ausgewiesene Sicherheitsexpertinnen und -experten verfügen, von den Ergebnissen profitieren. Mit der Aufdeckung von Schwachstellen in Softwarecode konzentriert sich das Vorhaben auf die Wurzel der meisten Sicherheitslücken und ermöglicht es, einfacher sichere Software zu programmieren. Hiervon profitieren sämtliche Bereiche, in denen IT-Lösungen entwickelt werden, wodurch ein wichtiger Beitrag zur Softwarequalität in Deutschland geleistet wird. Da Sicherheit ein wesentlicher Faktor am Softwaremarkt ist, hat das Vorhaben auch aus wirtschaftlicher Perspektive ein hohes Potenzial.