Forscher*innen am Paderborner Heinz Nixdorf Institut entwickeln spezifizierbares Analysewerkzeug
Software begegnet uns in unserem digitalisierten Alltag an vielen verschiedenen Stellen, vom Chat mit Freund*innen und Familie bis hin zum Online-Banking. Um die Softwareentwicklung zu vereinfachen, nutzen Programmierer*innen 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*innen des Heinz Nixdorf Instituts der Universit?t Paderborn gemeinsam mit der TRUMPF SE + Co. KG 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 vom Paderborner Institut für Informatik. 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*innen es für ihre individuellen Einsatzgebiete nutzen k?nnen. ?Unser Ziel ist ein pr?zises und vor allem leicht adaptierbares Analyseprogramm für Entwickler*innen 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*innen 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.