Umfassende Sicherheitstests leicht gemacht
Die Zahl von Cyberangriffen auf Unternehmen steigt jedes Jahr. Die Europäische Union hat daher den Herstellern von Softwareprodukten neue Verpflichtungen in Bezug auf die Produktsicherheit auferlegt. Dazu gehören auch regelmäßige Sicherheitstests zur Ermittlung von Schwachstellen – sowohl im Quellcode des Herstellers, als auch für eingebundene Softwarekomponenten Dritter.
Mit der neuen Produkthaftungsrichtlinie werden Hersteller digitaler Produkte nicht nur für Schäden haftbar gemacht, die durch Sicherheitslücken verursacht werden, sondern auch für alle Schäden, die ein Angreifer unter Ausnutzung einer Sicherheitslücke verursacht. Die neuen Vorschriften gelten für viele Hersteller, die bisher nicht gesetzlich verpflichtet waren, Sicherheitstests durchzuführen. Auch Open-Source-Software ist von diesen neuen Regeln betroffen.
Fuzzing ist eine der häufigsten und erfolgreichsten Techniken für Sicherheitstests: Ein System wird mit zufällig generierten Eingaben ausgeführt, um effektiv Schwachstellen aufzudecken. Doch der Einsatz vieler Fuzzing-Werkzeuge birgt verschiedene Herausforderungen und Einschränkungen, insbesondere für Unternehmen, denen es an Erfahrung oder Ressourcen für Sicherheitstests fehlt.
Fuzzino löst dies mit einer Reihe innovativer Funktionen. Mit unserem Werkzeug werden Sicherheitstests erheblich effizienter und effektiver und die Benutzerfreundlichkeit deutlich verbessert. Diese Verbesserungen ermöglichen es Herstellern ohne spezielle und teure Schulungen, Sicherheitstests auf dem neuesten Stand der Technik durchzuführen.
Kontakt

Dipl.-Inform. Martin Schneider
Gruppenleiter Testen
Fraunhofer FOKUS
Kaiserin-Augusta-Allee 31
10589 Berlin
Telefon +49 30 3463-7383
Benutzerfreundlichkeit
Fuzzing setzt oft Vorkenntnisse und Fähigkeiten für den effektiven Einsatz voraus, beispielsweise zur Integration in eine Testumgebung oder der Intepretation der Ergebnisse. Dies erschwert den großflächigen Einsatz. Um einen Fuzzer mit einer Komponente zur Übergabe der Fuzz-Testdaten zu verbinden, ist oft ein sogenanntes Fuzzing-Harness notwendig. Unsere Lösung macht Fuzzing-Harnesse überflüssig: Adapter aus dem funktionalen Testen können ohne Änderungen wiederverwendet werden.
Zustandsabhängigkeit
Schwachstellen sind oft tief in der Geschäftslogik des Systems versteckt. Andere Fuzzer können sie nicht finden, da ihre Eingaben in frühen Verarbeitungsphasen vom System abgewiesen werden und sie nicht zustandsorientiert arbeiten. Unsere Lösung bietet eine einfache und intuitive Möglichkeit, Nachrichtensequenzen und Systemzustände zu beschreiben. Auf der Grundlage dieser Beschreibungen findet unsere Lösung effektiv Sicherheitslücken tief im System, die andere Fuzzing-Werkzeuge übersehen.
Geschwindigkeit
Mit unserer fortschrittlichen Testgenerierungs-Engine können Schwachstellen in Minuten statt in Stunden
oder Tagen identifiziert werden. Dies ermöglicht die Integration in tägliche Tests, Build-Pipelines und DevOps-Prozesse.
Skalierbare Protokollbeschreibungen
Viele Fuzzer benötigen wohlgeformte Beispieleingaben, sogenannte Seeds. Es ist jedoch nicht trivial, einen Datensatz zu erhalten, der erschöpfend und repräsentativ ist. Unsere Lösung setzt skalierbare Protokollbeschreibungen ein. Diese ermöglichen es Ihnen, protokollkonforme Eingaben nicht nur durch Beispieleingaben (d. h. Seeds) zu beschreiben, sondern auch durch die Beschreibung ihrer Datenstrukturen und der Regeln, denen sie folgen. Solche Beschreibungen können oft direkt aus offiziellen Spezifikationen bezogen oder aus diesen abgeleitet werden.
Adaptive Erkennung von Sicherheitslücken
Bestehende Fuzzing-Werkzeuge erkennen oft Sicherheitslücken, die sich in Abstürzen oder Speicherfehlern zeigen. Fuzzino erkennt zusätzlich auch Bugs, die meist subtilere Auswirkungen als Speicherkorruption haben und daher sonst nicht beachtet werden. Unsere Lösung kann außerdem über die Maximierung der Codeüberdeckung als Testziel hinaus jede beliebige Laufzeiteigenschaft nutzen, um z. B. Denial-of-Service-Schwachstellen zu identifizieren.
Ihre Vorteile mit Fuzzino
Entwicklerinnen, Entwickler und Tester ohne Kenntnisse im Bereich Sicherheitstests profitieren von diesen Funktionen, um umfassende Sicherheitstests für alle Softwarekomponenten eines Produkts durchzuführen.
