Whitebox, Graybox oder Blackbox?

Die richtige Wahl für Ihren Sicherheitstest.

Fällt es Ihnen auch schwer, die passende Testmethode für Ihr Projekt auszuwählen? Damit sind Sie nicht allein. Viele unserer Auftraggeber stehen vor der gleichen Herausforderung, wenn sie sich zwischen den drei gängigen Testarten entscheiden müssen. In diesem Beitrag erhalten Sie einen Vergleich, der Ihnen bei der Auswahl hilft und die wichtigsten Unterschiede erklärt.

Was bei allen Testarten gleich ist: Es geht darum, Fehler in einem System zu finden. Der wesentliche Unterschied besteht darin, wie viele Informationen der Tester erhält.

Doch was ist unser Ziel, um zu bestimmen, welchen Test wir durchführen? Vermutlich würde man Effizienz als Erstes anführen: möglichst viele Fehler für möglichst wenig Budget! Das ist aber nur bedingt richtig. Fehler sollten auch relevant sein, weshalb ein Maß an Relevanz bei der Anzahl der Fehler berücksichtigt werden muss. Was an dieser Stelle vielleicht gar nicht so schwer klingt, entpuppt sich im echten Leben als weniger trivial. Derselbe Fehler kann an zwei unterschiedlichen Stellen unterschiedlich relevant sein.

Ein typisches Beispiel: Eine zu testende Anwendung hat 15 Fehler – 5 schwerwiegende und 10 leichte. Zwei der schwerwiegenden sind aus dem Internet ausnutzbar, drei lassen sich nicht aus dem Internet ausnutzen, helfen aber einem Angreifer, der es bereits bis auf das System geschafft hat. Zehn weitere einfache Fehler sind über die ganze Anwendung verteilt. Wenn wir es schaffen, mit einem Pentest sieben Fehler zu finden, sollten möglichst die beiden schwerwiegenden aus dem Internet dabei sein.

Blackbox-Pentest – „No Information“: Der Blick von außen

Bei dieser Form des Tests verhält sich der Tester genau wie ein externer Angreifer. Nichts ist über die Anwendung bekannt außer einer öffentlichen URL oder IP-Adresse. Die Rahmenbedingungen des Tests werden mit dem Sicherheitsverantwortlichen vereinbart, das Projektteam der Anwendung hat keinen Kontakt mit dem Testteam.

Vorteile

Blackbox-Penetrationstests sind extrem einfach aufzusetzen und durchzuführen. Neben einer kurzen Absprache, welche Systeme im Scope sind, ist keine weitere Koordination notwendig. Der Tester konzentriert sich auf die Fehler, die von außen zu finden sind. Es ist keine Kommunikation mit dem Projektteam notwendig. Es ist auch möglich, dass Systeme getestet werden, bei denen keine Zusammenarbeit mit dem Projektteam möglich ist – beispielsweise zugekaufte Appliances. Das macht den Blackbox-Test sehr realitätsnah.

Nachteile

Die Realitätsnähe wird mit der Einschränkung erkauft, dass sich der Tester jegliche Information über das System selbst erarbeiten muss. Das schließt nicht nur die technische Funktionsweise und die Suche nach Schwachstellen ein, sondern betrifft auch die Bedienungsweise der Anwendung selbst, verschiedene Nutzer- und Berechtigungsgruppen usw. Betrachtet man die Effizienz eines solchen Tests, so ist diese mit Sicherheit am niedrigsten.

Whitebox-Pentest – „Information push“: Voller Einblick, volle Kontrolle

Diese Testform beschreibt das genaue Gegenteil eines Blackbox-Tests. Es handelt sich um den Versuch, durch Bereitstellung jeglicher Informationen die Effizienz des Tests zu erhöhen. Das kann bedeuten, dass der Tester Quellcode, Architekturdiagramme, Dokumentation, Zugang zu Betriebssystemen u. v. m. bekommt. Möglicherweise kann sich der Tester selbst ein System aufsetzen und während des Tests Fehlerlogs im Blick behalten.

Der Tester/Auditor wird am Anfang mit allen Informationen überschüttet – Information push. Oft wird diese Analyse nicht mehr „Test“, sondern „Audit“ genannt – Sourcecode-Audit, Host-Audit, …

Nachteile

Beginnen wir dieses Mal mit den Nachteilen: Jeder, der in einem Team schon einmal ein neues Teammitglied eingearbeitet hat, weiß um den Aufwand, bis sich der neue Kollege eingelesen hat. Prinzipiell handelt es sich hier um einen ähnlich aufwendigen On-boarding-Prozess. Nicht selten müssen Geheimhaltungsvereinbarungen unterschrieben werden, Quellcode muss um bestimmte Dinge bereinigt werden, es werden Zugänge zu Dokumentationen benötigt usw.

Vorteile

Der Vorteil, den man sich mit einem sehr aufwendigen Kick-off erkauft, ist, dass diese Art der Fehlerfindung am gründlichsten ist. Es können prinzipiell Fehler in allen – auch tieferliegenden – Systemen gefunden werden.

Graybox-Pentest – „Information pull“: Ein effizienter Mittelweg

Hier wird ein Kompromiss gesucht. Im Kick-off-Meeting sind auch Vertreter des Projektteams anwesend. Die Anwendung mit ihrer Funktionalität wird besprochen und muss nicht vom Tester „erarbeitet“ werden. Der Tester hat die Möglichkeit, funktionale und technische Fragen zu stellen. Typische Fragen sind hier:

  • Wie ist die Datenhaltung? SQL/NoSQL?

  • Welche Datenbank wird eingesetzt?

  • Welche unterschiedlichen Nutzerrollen gibt es?

Anschließend hat der Tester die Möglichkeit, Zugänge zu Bereichen zu bekommen, die er für sinnvoll erachtet. Typisch sind hier Zugänge zur Anwendung, um technische Funktionen zu testen.

Wie auch beim Whitebox-Pentest hat der Tester Kontakt zum Projektteam und kann während des Tests Fragen zu Funktionen stellen: „An Stelle XY ist das Verhalten komisch, könnt ihr mir den Sourcecode zu dieser Stelle schicken?“ – Der Tester bekommt nicht alle Informationen vorab, sondern holt sich jede Information einzeln ab (→ Information pull).

Vorteile

Das Onboarding und Test-Setup ist nur wenig aufwendiger als beim Blackbox-Test. Der Tester konzentriert sich außerdem zuerst auf die Schwachstellen, die von außen erreichbar sind.

Nachteile

Der Graybox-Pentest erfordert eine gute Zusammenarbeit zwischen Tester und Projektteam. Das Team muss bereit sein, Fehler finden zu wollen. Was hier banal klingt, ist leider nicht immer gelebte Praxis. Oft möchte ein Sicherheitsverantwortlicher „beweisen“, dass eine Anwendung unsicher ist. Manchmal kommt es auch vor, dass ein System vor dem Zukauf getestet werden soll.

Fazit

Die Wahl der richtigen Pentest-Methode hängt maßgeblich von Zielstellung, Budget und Zeitrahmen ab.

Wer nur ein sehr begrenztes Budget oder Zeitfenster hat – etwa ein oder zwei Tage –, wird mit einem Blackbox-Test gut beraten sein. Insbesondere auch, wenn es sich um zugekaufte Systeme handelt, denen nicht vertraut wird, zu denen aber auch keine Dokumentation vorliegt. Der Test erfordert kaum Vorbereitung und simuliert realitätsnah, was ein externer Angreifer sieht. Allerdings ist die Ausbeute meist begrenzt – besonders bei komplexeren Systemen.

Ein Whitebox-Test lohnt sich, wenn der Tester intensiv eingebunden wird. Möchte ich beispielsweise einen Tester als Consultant über Wochen oder Monate hinweg in meinem Projekt haben, so wird der hohe Initialaufwand mit Gründlichkeit belohnt. Auch bei High-Value-Systemen kann der Aufwand berechtigt sein.

Graybox-Tests bieten einen guten Mittelweg: Der Tester bekommt gezielt Informationen, wenn sie gebraucht werden, ohne komplett ins Projekt eingebunden zu werden. Der Kick-off ist überschaubar, aber Zusammenarbeit mit dem Projektteam ist notwendig. Das macht Graybox besonders effizient – mit einem guten Verhältnis aus Aufwand, Realitätsnähe und Testergebnis.

Sie sind sich noch unsicher, welches Pentest-Verfahren am besten zu Ihrem Unternehmen passt oder haben spezielle Fragen? Lassen Sie uns gemeinsam Ihre individuellen Anforderungen klären.

Nutzen Sie einfach unser Kontaktformular. Wir beraten Sie persönlich, unverbindlich und finden gemeinsam die passende Lösung für Ihre IT-Sicherheit. Jetzt Kontaktformular ausfüllen. Wir freuen uns auf Ihre Anfrage!

Weitere Informationen

Penetrationstests

Ihr Ansprechpartner

Thomas Schönrich

DOWNLOAD

Die große Application Security Pentest FAQ für Auftraggeber