Spezifizierbare Erkennung von API-Falschverwendungen in CI Pipelines

?berblick

Die korrekte Verwendung von APIs ist entscheidend für die Vermeidung von fehlerhaftem und unsicherem Code. Für Datensicherheit sind besonders kryptographische APIs wichtig, aber auch allgemeine (alle anderen) APIs müssen richtig verwendet werden, um sichere Software mit hoher Qualit?t zu entwickeln. Um die sichere und richtige Verwendung von APIs zu überprüfen, werden in der Praxis statische Analysewergzeuge eingesetzt.

Von Anfang an ist die Fachgruppe "Secure Software Engineering" Teil des Sonderforschungsbereichs SFB 1119 CROSSING, in dem an kryptographischen L?sungen für die Zukunft geforscht wird. Eine erfolreiche Entwicklung aus dieser Forschung ist das statische Analysewerkzeug CogniCrypt. CogniCrypt erkennt die Falschverwendung von kryptographischen APIs. Dazu verwendet CogniCrypt den sogenannten Erlaubnislistenansatz, bei dem die gewünschte, sichere Nutzung von kryptographischen APIs in Form von Regeln spezifiziert wird. CogniCrypt konfiguriert seine Analyse entsprechend des gew?hlten Regelsatzes und meldet bei jeder Nichteinhaltung eine Warnung. Auf diese Weise werden Entwickler*innen, die CogniCrypt einsetzen, auf sicherheitsrelevante Fehler aufmerksam gemacht und k?nnen diese korrigieren.

Dieser erfolgreich erprobte Ansatz wird nun weiter untersucht und führte im M?rz 2023, im Rahmen des vom BMBF gef?rderten Software Campus, zum Start eines neuen Projekts. Ziel eines Software Campus Projekts ist es, in Zusammenarbeit mit der Industrie, praxisnahe Forschung zu betreiben. Das Projekt wird von einem Doktoranden geleitet, so dass praktische Projekterfahrungen gesammelt werden, die durch intensive Weiterbildung unterstützt und erg?nzt werden.

Die Projektidee, den Ansatz von CogniCrypt zu verallgemeinern, stammt aus der Forschung sowohl zum besseren Verst?ndnis von API-Falschverwendungen, deren Entstehung und der Klassifizierung, als auch dem dazugeh?rigen Klassifizierungsrahmen "FUM". Diese Forschung hat gezeigt, dass CogniCrypt sehr gut für APIs aus der Kryptographie geeignet ist, aber auch, dass andere Sprachmerkmale von API-Nutzungen in Programmiersprachen noch nicht abgedeckt sind.

Damit in Zukunft neben kryptographischen APIs auch Regeln für die korrekte Verwendung vieler anderer APIs spezifiziert werden k?nnen und daraus eine Analyse konfiguriert werden kann, wird in diesem Software Campus Projekt ein neues statisches Analysewerkzeug entwickelt, das die für allgemeine APIs erforderlichen Konfigurations-und Analysefunktionen bietet.

Die Verallgemeinerung des Erlaubnislistenansatzes bietet viele neue M?glichkeiten. Die Spezifikation von Regels?tzen für allgemeine APIs durch den Anwender erm?glicht einen flexibleren Einsatz des neuen statischen Analysewerkzeugs. Regels?tze k?nnen sowohl projektspezifisch zusammengestellt und angepasst werden, als auch für unternehmensinterne und externe APIs spezifiziert werden. Darüber hinaus k?nnen die bereits in CogniCrypt vorhandenen Regels?tze für Kryptographie, welche von Experten erstellt wurden, angewendet werden. Das bedeutet, dass das neue, allgemeine statische Analysewerkzeug die bereits aus CogniCrypt bekannte Sicherheitsanalyse für kryptografische APIs gemeinsam mit den benutzerkonfigurierten Analysen für allgemeine APIs bereitstellen kann, um auf Qualit?tsm?ngel der entstehenden Softwareartefakte hinzuweisen.

Key Facts

Laufzeit:
02/2023 - 08/2024
Gef?rdert durch:
BMBF

Detailinformationen

Projektleitung

contact-box image

Prof. Dr. Eric Bodden

Heinz Nixdorf Institut

Zur Person

Projektmitglieder

contact-box image

Michael Schlichtig

Secure Software Engineering / Heinz Nixdorf Institut

Zur Person

Kooperationspartner

Software Campus

Kooperationspartner

Zur Website

TRUMPF Werkzeugmaschinen SE + Co. KG

Kooperationspartner

Zur Website