Software begegnet uns in unserem digitalisierten Alltag an vielen verschiedenen Stellen, vom Chat mit Freunden und Familie bis hin zum Online-Banking. Um die Softwareentwicklung zu vereinfachen, nutzen Programmierer häufig sogenannte „Application Programming Interfaces“ (API) – Codes, die beispielsweise Befehle für allgemeine Funktionen beinhalten oder Interaktionen mit einem externen System ermöglichen. Bei einzuhaltenden Standards oder komplizierten Programmieraufgaben ist der Einsatz von APIs hilfreich. Die falsche Verwendung kann aber auch zu Sicherheitslücken und enormen Kosten führen.
Um einen potenziellen Missbrauch frühzeitig erkennen zu können, entwickeln Wissenschaftler des Heinz Nixdorf Instituts der Universität Paderborn gemeinsam mit Trumpf ein entsprechendes Analysewerkzeug. Das Projekt „API_Assist – Spezifizierbare automatische Erkennung von API-Falschverwendungen in CI-Pipelines“ der Fachgruppe „Secure Software Engineering“ wird mit 100.000 Euro im Rahmen des Software Campus-Programms des Bundesministeriums für Bildung und Forschung (BMBF) gefördert. Die Laufzeit beträgt 19 Monate.
Vom allgemeinen zum spezifisch anpassbaren Analysewerkzeug
„Die falsche Verwendung von APIs führt häufig zu Sicherheitslücken, was beispielsweise im Finanzwesen katastrophale Ausmaße annehmen kann“, weiß Projektleiter Michael Schlichtig. Im Sonderforschungsbereich SFB 1119 „Crossing“ entwickelte der wissenschaftliche Mitarbeiter bereits das Programm „CogniCrypt“, das die falsche Verwendung von kryptographischen APIs erkennt. Das statische Analysewerkzeug soll im Rahmen des neuen Projekts so angepasst werden, dass Programmierer es für ihre individuellen Einsatzgebiete nutzen können.
„Unser Ziel ist ein präzises und vor allem leicht adaptierbares Analyseprogramm für Entwickler in der Industrie. Das Werkzeug soll in CI-Pipelines integriert werden und beliebige APIs der Programmiersprache Java abdecken können“, erklärt er. Bei der Gestaltung des Werkzeugs steht neben der einfachen Anpassungsfähigkeit der Analyse an den Einsatzkontext auch eine verständliche Rückmeldung an Entwickler im Fokus. Dadurch sollen sie dabei unterstützt werden zu erkennen, wo der Programmierfehler oder die API-Falschverwendung vorliegt.
Von der Theorie in die Praxis
Die Grundlage für die Projektidee entstand aus Schlichtigs Framework „FUM“, das API-Nutzungsbeschränkungen und die daraus resultierenden falschen Verwendungen klassifiziert. Diese Klassifizierung kann für die bessere Einordnung und Erklärung von API-Falschverwendungen eingesetzt werden. „Durch die Zusammenarbeit mit Industrieunternehmen können wir jetzt praxisnahe Ergebnisse erzielen, die in realen Programmiersituationen bei mittelgroßen Unternehmen Verwendung finden“, resümiert Schlichtig.