Cybersicherheits-Tests mittels Fuzzing
- Überprüfung statischer Analyseergebnisse zur Minimierung des manuellen Aufwands bei der Identifizierung
- Validierung von Sicherheitspatches, um anfällige Systeme zu vermeiden
- Identifizierung von Schwachstellen in der Geschäftslogik, die beispielsweise zu Denial-of-Service-Schwachstellen führen können
- Erweiterte dynamische Messtechnik zur Beschleunigung der Schwachstellenerkennung

White-box Cybersecurity Testing
Um sicherzustellen, dass keine Sicherheitslücken bei Tests übersehen werden, wird bei dieser Methode statische Analyse wird eingesetzt. Diese verursacht aber in der Regel einen hohen Anteil von Fehlalarmen von oft mehr als 70 Prozent. Der Aufwand für die manuelle Überprüfung der Meldungen ist daher sehr hoch.
Fuzzino Lösung
Fuzzino überprüft die Ergebnisse der statischen Analyse automatisch mittels dynamischer Analyse, Constraint-Lösung und gezieltem Fuzzing, um das Vorhandensein einer Schwachstelle (True Positive) nachzuweisen. Statistische Schätzverfahren werden genutzt, um das Fehlen einer Schwachstelle (False Positive) nachzuweisen.
Grey-box Cybersecurity Testing
Diese Methode nutzt Laufzeitinformationen aus dynamischen Tests, in der Regel Codeüberdeckung, und konzentriert sich auf Speicherfehler (z. B. Pufferüberläufe) durch Instrumentierung des Codes (unter Verwendung von Sanitizern). Sie gilt derzeit als Standardmethode, konzentriert sich aber auf die Maximierung der Codeüberdeckung, die nicht unbedingt mit dem Aufdecken von Sicherheitslücken korreliert.
Fuzzino Lösung
Fuzzino setzt fortschrittliche Messwerkzeuge ein, um Informationen über den internen Zustand eines zu testenden Systems zu sammeln und semantische Schwachstellen aufzudecken. Es werden detaillierte Informationen zur Codeüberdeckung bereitgestellt und die Erkennung von Schwachstellen beschleunigt.
Black-box Cybersecurity Testing
Beim Black-box Cybersecurity Testing wird die Sicherheit eines Systems über dessen Schnittstelle bewertet. Diese Methode konzentriert sich ebenfalls auf Speicherfehler durch Instrumentierung des Codes. Nachteilig ist dabei der hohe Aufwand für die Bereitstellung von Protokollinformationen, Datenformaten und Systemzuständen. Außerdem können damit keine anderen Schwachstellen als Speicherfehler erkannt werden, wie z. B. Denial-of-Service-Schwachstellen und semantische Schwachstellen.
Fuzzino Lösung
Fuzzino nutzt Protokollwissen, das aus Spezifikationen verfügbar ist (z. B. RFCs), um tief in das zu testende System einzudringen und komplexe Testszenarien zu generieren. Die Infrastruktur für Funktionstests wird für Cybersicherheitstests wieder genutzt, um Einstiegshürden zu senken. Die Auswertung von Laufzeitinformationen hilft außerdem dabei, beispielsweise Denial-of-Service-Schwachstellen zu erkennen, die nicht auf Speicherbeschädigungen zurückzuführen sind.
Bare-metal Firmware Fuzzing
Diese Methode bewertet die Sicherheit von eingebetteten und IoT-Geräten, die keine Betriebssysteme verwenden (sogenannte Bare-Metal-Systeme), und konzentriert sich dabei auf Speicherbeschädigungen (z. B. Pufferüberläufe) und Ausfälle. Aufgrund von Instrumentierungsbeschränkungen bei Bare-Metal-Systemen ist die Bereinigung dabei aber oft nicht möglich. Außerdem sind viele speicherbezogene Sicherheitslücken nicht nachweisbar.
Fuzzino Lösung
Fuzzino kombiniert statische Codeanalyse, Grey-Box-Fuzzing und Virtualisierung, um bisher unentdeckbare Schwachstellen aufzudecken, z. B. Stack- und Zugriffsverletzungen bei globalen Variablen. So kann auch Bare-Metal-Firmware getestet werden, ohne die eigentliche Hardware zu testen. Mithilfe dieses Vorgehens wurde bereits erfolgreich eine neue Schwachstelle in einer Bare-Metal-SPS-Firmware aufgedeckt.
Security Patch Validation
Die Entwicklung von Sicherheitspatches ist oft auf einen bestimmten Schwachpunkt zugeschnitten. Daher können Angreifer einen Sicherheitspatch oft leicht umgehen, indem sie ihren ursprünglichen Angriff leicht abwandeln. Um dies zu verhindern, sind strenge Tests der Patches erforderlich. Bestehende Tools sind jedoch nicht in der Lage, die Wirksamkeit eines Sicherheitspatches zu bewerten.
Fuzzino Lösung
Fuzzino bietet dafür eine detaillierte Messung der Codeüberdeckung und das Erstellen einer Testsuite zum Auslösen einer bestimmten Sicherheitslücke. Die Testsuite zur Patch-Validierung bewertet die Wirksamkeit eines Sicherheitspatches und liefert Beispiele (Testfälle), falls eine Sicherheitslücke weiterhin ausgelöst werden kann.
