Logikbasiertes Testen für sicherheitskritische IT-Systeme
Softwarefehler in IT-Systemen führen regelmäßig zu Sicherheitsvorfällen und verursachen hohe wirtschaftliche Schäden. In einer zunehmend hypervernetzten Gesellschaft sind in diesem Zusammenhang insbesondere Web-Schnittstellen von IT-Systemen von hoher Bedeutung. Solche Schnittstellen zum Internet kommen breit zum Einsatz, etwa bei Cloud-Anwendungen, mobilen Apps oder Online-Diensten. Um die Softwarequalität zu verbessern und sicherheitskritische Probleme von vornherein zu vermeiden, ist es essenziell, diese Web-Schnittstellen von Software während der Entwicklungsphase systematisch zu testen und potenzielle Schwachstellen zu erkennen. Allerdings beansprucht das Testen erhebliche personelle Ressourcen. Zudem sind Tests üblicherweise auf die Funktionalitäten zugeschnitten, die Softwareentwicklungsteams vorgesehen haben: Die Tests decken somit in erster Linie funktionale Anforderungen ab. Um mögliche Sicherheitslücken aufzufinden, müssen Tests hingegen gerade die Programmausführungen berücksichtigen, die vom Entwicklungsteam nicht vorhergesehen werden. Somit wird der Aspekt der IT-Sicherheit mit heute üblichen Testverfahren nicht vollends abgedeckt.
Ziel des Vorhabens „Logikbasiertes Testen“ (LOBSTER) ist es, eine innovative Testumgebung zu entwickeln, die es ermöglicht, die Cybersicherheit von Web-Schnittstellen komplexer und sicherheitskritischer Software und IT-Systeme effizient und vollumfänglich zu überprüfen. Die Forschenden setzen hierfür auf sogenannte logikbasierte Programmierung. Hierbei erzeugt die Testumgebung ausgehend von einer Vorgabe des gewünschten Soll-Verhaltens der Anwendung automatisiert und systematisch Testfälle. Weiterhin entwickelt das Forschungsteam spezielle Algorithmen für die Testumgebung, die das zu überprüfende IT-System anhand der erzeugten Testfälle möglichst zeitsparend auf potenzielle Sicherheitslücken untersucht. Die Leistungsfähigkeit der Testumgebung soll am Anwendungsfall eines Zertifikat-Managementsystems evaluiert werden.
Der Lösungsansatz, automatisiert und logikbasiert Testfälle zu erzeugen, die einzig eine Beschreibung des zu überprüfenden IT-Systems und dessen erwünschter Eigenschaften benötigt, ist innovativ und bringt zwei wesentliche Vorteile mit sich: Erstens werden blinde Flecken beim Aufspüren von sicherheitskritischen Fehlern vermieden und die Testfallabdeckung verbessert. Zweitens wird der Personal- und Zeitaufwand beim Testen deutlich reduziert, wodurch der Entwicklungszyklus von neuen IT-Systemen beschleunigt werden kann. Das gewonnene Know-how und die technischen Errungenschaften leisten einen wichtigen Beitrag zur nachhaltigen Stärkung der Cybersicherheit.