Blackbox/Fuzz-Testing mit beSTORM  FAQ

Häufige Fragen zum Fuzz-Testing mit beSTORM

Weitere Informationen und kostenlose Testversion

Was genau ist beSTORM?

beSTORM ist ein Security-Assessment-Tool, das eine umfassende Schwachstellenanalyse durchführt, um bereits während der Entwicklungsphase neue und unbekannte Sicherheitslücken in netzwerkfähigen Softwareanwendungen aufzudecken. Durch das automatische Testen auf Milliarden von Angriffskombinationen gewährleistet beSTORM die Sicherheit Ihrer Produkte, bevor sie in Betrieb genommen werden, und erspart Ihrem Unternehmen Kosten in Millionenhöhe, die Ihnen andernfalls durch das Beseitigen von Sicherheitslücken nach der Produktauslieferung entstehen könnten. beSTORM unterscheidet sich grundlegend von Tools älterer Machart, die sich auf Angriffssignaturen verlassen oder versuchen, bekannte Schwachstellen in den Produkten aufzuspüren.

Was macht beSTORM zu einem wichtigen Tool für Softwarehersteller?

Sicherheit ist heutzutage eines der Hauptanliegen von Endkunden, und Softwareherstellern haben damit zu kämpfen, ihre Software vor der Auslieferung sicherer zu machen. Während Geschäftsleute aus Unternehmen Konformitätsregeln in Bezug auf finanzielle Aufzeichnungen, die Datensicherung und den allgemeinen Datenschutz einzuhalten haben, wächst bei vielen Unternehmen zudem der Bedarf, sicherzustellen, dass Softwareanwendungen von Drittanbietern strenge Sicherheitskriterien erfüllen. Softwareanwendungen, die vor Ihrer Inbetriebnahme nicht umfassend getestet wurden, machen Unternehmen nicht nur anfälliger, sondern hinterlassen bei ihren Kunden auch ein Gefühl der Unsicherheit.

Mit beSTORM können Softwareentwickler ihre Software bereits während der Entwicklung auf Sicherheitslücken testen – genau so sieht verantwortungsbewusste Qualitätssicherung (QS) heutzutage aus. Da dies automatisch erfolgt, können Entwickler neue Versionen immer und immer wieder testen, sobald sie vorliegen – egal, wie kurz die Entwicklungszyklen sind.

Wie kann eine Schwachstellenanalyse dabei helfen, Sicherheitsprobleme bei Software zu verringern?

Die Prüfung auf Schwachstellen kann dabei helfen, etwaige Sicherheitslücken zu entdecken, bevor die Software ausgeliefert wird. Mit anderen Worten: Mängel, die gerade von Hackern entdeckt werden, werden von den Entwicklern identifiziert und behoben – und zwar, bevor das Produkt auf den Markt gebracht wird. Dies führt in zunehmendem Maße zu sicherer Software und senkt die Anzahl der Sicherheitslücken, die von Angreifern ausgenutzt werden können.

Warum gewinnen Tools zur Überwachung von Software-Schwachstellen zunehmend an Bedeutung? Betreffen die meisten Probleme nicht die Betriebssysteme?

Auch bei einem Betriebssystem (Operating System, OS) handelt es sich letztendlich um Software. Im OS gibt es viele verschiedene Softwarekomponenten, die anfällig für Lücken sind, und Microsofts Dominanz in der IT-Welt hat sie zu einem bequemen und beliebten Ziel für Angriffe auf die Sicherheit gemacht. Mit den aktuellen Fortschritten bei den Sicherheitskorrekturen wurde es zunehmend schwieriger, neue Lücken in den Betriebssystemkomponenten zu finden, und vergleichsweise einfach, Softwareschwachstellen in anderen Anwendungen aufzuspüren. Da Hacker immer auch die Effektivität ihres eigenen Aufwands miteinbezogen, begannen Sie, auf Softwarekomponenten abzuzielen, die nicht Bestandteil des Betriebssystems waren. Daher ist heutzutage eine enorme Zunahme an Schwachstellen in anderen Softwareanwendungen festzustellen.

Wie funktioniert beSTORM?

Bei beSTORM handelt es sich um ein automatisiertes Tool, das darauf programmiert ist, eine umfassende Suche nach allen möglichen Kombinationen von Eingabewerten eines Netzwerkprotokolls durchzuführen, um die Implementierung des Protokolls auf Schwächen zu testen. Allerdings ist der Versuch, alle theoretisch möglichen Kombinationen von Programmeingaben abzudecken, keine triviale Aufgabe und erfordert die Fähigkeit, Milliarden von Kombinationen automatisch zu testen. beSTORM ist mit Priorisierungsalgorithmen ausgestattet, um eine vollständige Abdeckung aller Eingabewerte zu ermöglichen, die als wahrscheinliche "Auslöser" einer Sicherheitslücke infrage kommen, und sie innerhalb eines vertretbaren Zeitrahmens zu erreichen.

Zu diesem Zweck wandelt beSTORM die Protokollspezifikation in eine Reihe automatisierter Tests um und stellt das Netzwerkprotokoll mit besonderem Schwerpunkt auf technisch zulässigen, aber funktionell fehlerhaften und belastenden Fällen auf die Probe. Beispielsweise probiert beSTORM automatisch jede mögliche Protokollkombination aus, bis es zu einem Pufferüberlauf kommt. Ein weiteres Beispiel: Was passiert, wenn die Anwendung einen Dateinamen erwartet und Sie unzulässige Zeichen eingeben? Was passiert, wenn Sie unlogische Aktionen mit den Sequenznummern eines Protokolls vornehmen? beSTORM ist nicht auf bestimmte Fälle eingeschränkt – letztendlich wird es den gesamten Suchbereich eines Protokolls abdecken.

Für wen ist beSTORM gedacht?

beSTORM wurde für den Einsatz im Softwareentwicklungsumfeld entwickelt und sollte von Entwicklern, Qualitätssicherungsteams und Sicherheitsexperten angewendet werden. Mit beSTORM bekommen diese Personen ein Werkzeug an die Hand, das sie beim Testen auf Sicherheitslücken unterstützt, während sie sich noch in der Entwicklungsphase befinden. Das neuartige System ermöglicht es Entwicklerteams, Sicherheitstests während des Produktfreigabeprozesses einzuplanen, die ihnen Zeit verschaffen, um noch vor der Produktauslieferung Korrekturen am Code vorzunehmen.

Lässt sich beSTORM einfach verwenden?

beSTORM ist nicht komplizierter als typische Tools zur Qualitätssicherung; in der Tat ist es sogar viel einfacher zu bedienen als die meisten dieser Tools. Wegen des automatisierten Testvorgangs kann ein durchschnittlicher beSTORM-Anwender innerhalb weniger Minuten mit dem Einsatz von beSTORM beginnen. Sicherheitstest-Experten werden die vielen optionalen Parameter zu schätzen wissen, die zur Verfügung stehen, um die Test zu optimieren und zu verfeinern, damit beispielsweise bestimmte Teile des Protokolls abgedeckt werden oder die Testgeschwindigkeit erhöht wird.

Wie führt beSTORM während der laufenden Entwicklung Tests auf Sicherheitslücken durch, ohne den Quellcode zu benötigen?

beSTORM testet die Binärdatei der Anwendung und ist daher völlig unabhängig von der verwendeten Programmiersprache oder den Systembibliotheken. Auf diese Weise ist es möglich, dass ein separates Testteam ohne Zugang zum Quellcode beSTORM einsetzen kann, um die Sicherheitstests für die Anwendung durchzuführen.

beSTORM meldet die genaue Interaktion, die zum Auslösen der Schwachstelle führt; und dieser Bericht kann an die Programmierer weitergereicht werden, damit sie die Anwendung in ihrer bevorzugten Entwicklungsumgebung debuggen können, um festzustellen, was den Fehler verursacht hat.

Haben Sie mit beSTORM tatsächlich schon unbekannte Schwachstellen entdeckt?

Auf unserer Advisories-Seite mit Maßnahmenempfehlungen sind alle Schwachstellen aufgeführt, die unser Team bislang aufgespürt hat, wobei die meisten von ihnen durch die automatische Ausführung von beSTORM gefunden wurden.

Wodurch unterscheidet sich beSTORM von automatisierten Scans?

Beim herkömmlichen automatisierten Scanning wird wie bei anderen Tools zur Schwachstellenanalyse nach bekannten Sicherheitslücken in bekannten Produkten gesucht. Auch wenn dabei manchmal unbekannte Schwachstellen gefunden werden, geschieht dies in der Regel aufgrund von Ähnlichkeiten mit bekannten Schwachstellensignaturen.

beSTORM testet die Protokollimplementierung gründlich und wird alle bekannten und unbekannten Schwachstellen aufspüren, die sich auf Pufferüberlauf-, Formatstring- oder Off-by-one-Schwachstellen beziehen (derzeit gehören über 95 % aller bekannten Sicherheitslücken zu einem dieser Schwachstellentypen).

Darüber hinaus kommt beim Endanwender das automatisierte Scanning zum Einsatz, um seine Netzwerkrechner zu scannen. beSTORM wird vom Softwarehersteller direkt verwendet, um das Produkt bereits in der Entwicklungsphase zu scannen.

Welche anderen Alternativen stehen Softwareherstellern zur Verfügung?

IT-Sicherheitsaudits werden heutzutage in der Regel manuell durch erfahrene Sicherheitsexperten durchgeführt. Trotz der Tatsache, dass Internetprodukte bereits seit vielen Jahren Sicherheitsaudits unterzogen werden, wurden bislang nur wenige automatisierte Tools zu diesem Zweck erschaffen. Momentan handelt es sich bei diesen Produkten üblicherweise um hausinterne Tools, die von Sicherheitsexperten erstellt wurden, um sie bei ihren Audits zu unterstützen. Produkte wie diese erfordern im Normalfall ein hohes Maß an Kompetenz auf der Anwenderebene und lassen nur sehr wenig "Rechnerintelligenz" erkennen. Die meisten dieser Tools weisen weder automatisierten Funktionen auf, die über die einfache Unterstützung einer Analyse von Hand hinausgehen, noch führen sie eine vollständige und gründliche Protokollanalyse durch.

Zu den weiteren Alternativen zählen Softwareprodukte zur Quellcodeprüfung. Diese Lösungen suchen im Quellcode nach Stellen, die nach mangelhaftem Code aussehen und auf eine potenzielle Sicherheitslücke hinweisen könnten. Darüber hinaus gibt es noch weitere Tools für Sicherheitstests, die sich auf eine relativ geringe Zahl von Fallbeispielen (wenige Tausende oder Zehntausende) stützen, die bei bestimmten Protokollimplementierungen bekanntermaßen zu Pufferüberläufen führen.

Wodurch unterscheidet sich beSTORM von anderen heutzutage erhältlichen Sicherheitsprodukten?

Der Hauptunterschied zwischen quellcodebezogenen Testwerkzeugen und beSTORM besteht darin, dass beSTORM den Quellcode nicht benötigt. beSTORM testet das Protokoll anstelle des Produkts und kann folglich auch eingesetzt werden, um extrem komplexe Produkte mit einer umfangreichen Code-Basis zu testen, während quellcodebezogene Testwerkzeuge üblicherweise für umfangreiche Code-Basen nicht gut skalieren.

Ein weiterer wichtiger Unterschied zur Quellcodeanalyse ist die Genauigkeit der Berichterstattung: beSTORM prüft die Anwendung von außen, indem es die simulierten Angriffe tatsächlich auslöst, und etwaige Schwachstellen werden nur gemeldet, wenn ein Angriffsversuch tatsächlich erfolgreich war. Demgegenüber liefern Werkzeuge zur Quellcodeanalyse eine große Anzahl von Fehlalarmen in Form von "False Positives".

Im direkten Vergleich von beSTORM mit Tools, die nur eine bestimmte Anzahl von Fallbeispielen oder Szenarien durchlaufen, ergibt sich, dass beSTORM gegenüber den Tausenden oder Zehntausenden von Fallbeispielen Millionen und manchmal Milliarden von Angriffskombinationen durchprobiert. Genau das macht den Unterschied zwischen dem Kampf im Krieg von gestern (Überprüfung auf bekannte Probleme) und dem Kampf im Krieg von morgen (Überprüfung auf noch unbekannte Schwachstellen) aus.

Was brauche ich für den Einsatz von beSTORM? Greife ich über das Internet darauf zu oder muss ich die Software lizenzieren und auf meinen eigenen Servern installieren?

Bei beSTORM handelt es sich um eine Software, die Sie auf Ihren Servern installieren. Die eine Komponente von beSTORM (die Überwachungskomponente) wird auf dem Server installiert, auf dem Ihr Produkt installiert ist, und die andere Komponente (diejenige, die das Testen initiiert) kann entweder auf dem gleichen Server oder auf einem separaten Rechner im Netzwerk installiert werden, um den Durchsatz zu erhöhen und realistischere Testszenarien zu ermöglichen.


Weitere Informationen und kostenlose Testversion

Mehr Informationen

Beyond Security

ist ein zugelassener Scanning-Anbieter für die Payment Card Industry (PCI).

Testen von Webanwendungen

Entdecken Sie Sicherheitsprobleme im Zusammenhang mit Webanwendungen, Websites und den zugehörigen Anlagen und Datenbanken.