Andreas Zeller, Professor für Softwaretechnik an der Universität des Saarlandes und Forscher am CISPA, arbeitet daran, Sicherheitslücken aufzudecken, bevor sie von Cyberkriminellen ausgenutzt werden. „Moderne Testgeneratoren können Eingaben für das jeweilige Programm in kürzester Zeit generieren“, erklärt Zeller. „Damit dies funktioniert, ist es jedoch unerlässlich zu wissen, wie die Eingabe strukturiert ist, damit das Programm keine ungültigen Eingaben zulässt. Genau daran arbeiten unsere Forscher: Sie entschlüsseln, wie die Eingaben für diese Programme aufgebaut sein müssen.“
Indem sie ein gegebenes Programm und seine Eingaben analysieren, können Zeller und seine Doktoranden Matthias Hoeschele und Alexander Kampmann automatisch eine sogenannte „kontextfreie Grammatik“ extrahieren. Diese beschreibt alle gültigen Eingaben für ein bestimmtes Programm, vergleichbar mit der deutschen Grammatik, die korrekte Sätze der deutschen Sprache beschreibt. Die CISPA-Forscher benannten auch das von ihnen für diesen Kernansatz entwickelte Matching-Softwaresystem danach. Der Prototyp heißt „Autogram“, eine Kombination aus „automatisch“ und „Grammatik“. Erste Ergebnisse wurden im September 2016 auf der Konferenz „Automated Software Engineering“ in Singapur vorgestellt.
„Mit der von Autogram generierten Grammatik können wir innerhalb von Minuten Millionen gültiger Eingaben erzeugen und so ein Programm gründlicher testen“, erklärt Zeller. Die große Anzahl an Eingaben reduziert laut Zeller die Wahrscheinlichkeit, Sicherheitslücken zu übersehen, erheblich.
Um die Grammatik eines bestimmten Programms zu extrahieren, beobachtet Autogram, wie das Programm eine gegebene Eingabe verarbeitet. Verschiedene Teile der Eingabe werden in verschiedenen Teilen des Programms verarbeitet, wodurch das Autogram-System relevante Informationen sammelt – Daten über die Struktur gültiger Eingaben und deren Beziehung zum Programmcode. Die extrahierten Grammatiken sind sehr gut lesbar, da sie programmspezifische Kennungen verwenden. „Aktuell testen wir unseren Prototyp, indem wir ihn eine Vielzahl von Eingabeformaten wie JSON oder Tabellendaten analysieren lassen. Wir verwenden rund tausend gültige Eingaben als Basis“, sagt Alexander Kampmann. Diese Eingaben werden jedoch später entfernt, um die Grammatik in einem nachfolgenden Schritt direkt aus dem Programm extrahieren zu können.
Basierend auf der extrahierten Grammatik können die Forscher neue Testeingaben erstellen, die das Programm systematisch analysieren. Wie dies effizient gelingt, untersuchen sie in ihrem Projekt „Tribble“. „Tribble“ nutzt die von Autogram bereitgestellten Grammatiken und kompiliert anschließend systematisch alle gültigen Eingabevariablen und Code-Snippets.
Die IT-Sicherheitsforscher um Zeller verfügen bereits über umfangreiche Erfahrung mit grammatikbasiertem Testen. 2012 veröffentlichten sie ihren Testgenerator LANGFUZZ, der den Firefox-Webbrowser mithilfe einer damals eigens entwickelten Grammatik gründlich analysierte. LANGFUZZ ist seit vier Jahren täglich bei Firefox-Entwicklern im Einsatz, und mit seiner Hilfe wurden bisher über 4.000 Fehler und Sicherheitslücken identifiziert und behoben.
Nun erweitern die Forscher in Saarbrücken den Anwendungsbereich von Firefox auf nahezu jedes Programm und Eingabeformat. „Das langfristige Ziel ist ein vollständig automatisierter Sicherheitstest, der für alles anwendbar ist, vom kleinsten IoT-Gerät bis hin zu kompletten Servern“, sagt Zeller.
Load Balancer mit nativ integrierter Web Application Firewall
KEMP Technologies hat angekündigt, dass seine LoadMaster Load Balancer Web Application Firewall (WAF)-Dienste nativ integrieren werden. Dies ermöglicht die sichere Entwicklung von Webanwendungen, indem Layer-7-Angriffe verhindert werden, während gleichzeitig die Kernfunktionen des Load Balancing erhalten bleiben.
