Investor's wiki

Graue Kiste

Graue Kiste

Was ist eine Greybox?

Grey Box bezieht sich auf das Testen von Software, bei der nur begrenztes Wissen über ihre interne Funktionsweise vorhanden ist. Grey-Box-Tests sind eine ethische Hacking-Technik, bei der der Hacker begrenzte Informationen verwenden muss, um die Stärken und Schwächen des Sicherheitsnetzwerks eines Ziels zu identifizieren.

Grey Boxes verstehen

Gray-Box-Tests sind die Mischung aus White-Box-Tests, bei denen der Tester die interne Logik und Struktur des Softwarecodes untersucht, und Black-Box- Tests, bei denen der Tester nichts über den Softwarecode weiß. Um Grey-Box-Tests zu verstehen, müssen wir zuerst Black-Box-Tests und White-Box-Tests verstehen.

Black-Box- und White-Box-Tests

Black-Box-Tests betrachten nichts anderes als Eingaben des Benutzers und welche Ausgabe die Software angesichts dieser Eingaben erzeugt. Black-Box-Testing erfordert keine Kenntnisse der Programmiersprache oder anderer technischer Details. Es handelt sich um eine Art von High-Level-Tests, die bei Systemtests und Akzeptanztests verwendet werden. Softwareingenieure benötigen ein Softwareanforderungsspezifikationsdokument (SRS), um Black-Box-Tests durchzuführen. Dieses Testen nimmt eine Endbenutzerperspektive ein,. bei der der Blackbox-Tester nicht weiß, wie die Ausgaben aus den Eingaben generiert werden.

White-Box-Tests erfordern fundierte Kenntnisse der Techniken und Plattformen, die zum Erstellen von Software verwendet werden, einschließlich der relevanten Programmiersprache. Es ist eine Art von Low-Level-Tests, die beim Komponententest und beim Anzeigentest verwendet werden. Softwareingenieure müssen die Programmiersprache verstehen, die zum Erstellen der Anwendung verwendet wird, damit sie den Quellcode verstehen können. Der Hauptzweck von White-Box-Tests besteht darin, die Sicherheit zu erhöhen, zu untersuchen, wie Eingaben und Ausgaben durch die Anwendung fließen, und das Design und die Benutzerfreundlichkeit zu verbessern. Wenn ein White-Box-Tester nicht die erwartete Ausgabe von einer bestimmten Eingabe erhält, wird das Ergebnis als Fehler betrachtet, der behoben werden muss.

Wie Grey-Box-Tests funktionieren

Grey-Box-Tests umfassen wichtige Komponenten sowohl von Black- als auch von White-Box-Tests, um ein besseres Ergebnis zu erzielen, als es mit beiden allein möglich wäre. Sowohl Endbenutzer als auch Entwickler führen Grey-Box-Tests mit begrenztem (teilweisem) Wissen über den Quellcode einer Anwendung durch. Grey-Box-Tests können manuell oder automatisiert durchgeführt werden. Es ist umfassender und zeitaufwändiger als Black-Box-Tests, aber nicht so umfassend oder zeitaufwändig wie White-Box-Tests. Grey-Box-Tester benötigen detaillierte Konstruktionsunterlagen.

Beim Grey-Box-Testen werden Eingaben, Ausgaben, Hauptpfade und Unterfunktionen identifiziert. Anschließend werden Eingaben und Ausgaben für Unterfunktionen entwickelt, Testfälle für Unterfunktionen ausgeführt und diese Ergebnisse verifiziert.

Gray-Box-Beispiel

Ein Grey-Box-Tester könnte die Links auf einer Website überprüfen und reparieren. Wenn ein Link nicht funktioniert, ändert der Tester den HTML-Code,. um zu versuchen, dass der Link funktioniert, und überprüft dann erneut die Benutzeroberfläche, um festzustellen, ob der Link funktioniert. Ein Grey-Box-Tester könnte auch einen Online-Rechner testen. Der Tester würde Eingaben definieren – mathematische Formeln wie 1+1, 2*2, 5-4 und 15/3 – und dann prüfen, ob der Taschenrechner bei diesen Eingaben die richtigen Ausgaben liefert. Der Grey-Box-Tester hat Zugriff auf den HTML-Code des Rechners und kann ihn ändern, wenn Fehler festgestellt werden.

Gray-Box-Tests betrachten sowohl die Benutzeroberfläche oder Präsentationsschicht der Anwendung als auch ihre internen Abläufe oder Code. Es wird hauptsächlich in Integrationstests und Penetrationstests verwendet, ist jedoch nicht für Algorithmentests geeignet. Gray-Box-Tests werden im Allgemeinen verwendet, um die Benutzeroberfläche, Sicherheit oder Online-Funktionalität einer Anwendung durch Techniken wie Matrixtests, Regressionstests,. orthogonale Array-Tests und Mustertests zu testen. Grey-Box-Tester erkennen am ehesten kontextspezifische Probleme.

„Grau“ bezieht sich auf die teilweise Fähigkeit des Testers, die interne Funktionsweise der Anwendung zu sehen. „Weiß“ bezieht sich auf die Fähigkeit, durch die Schnittstelle der Software zu ihrem Innenleben zu sehen, und „Schwarz“ bezieht sich auf die Unfähigkeit, das Innenleben der Software zu sehen. Gray-Box-Tests werden manchmal als transluzente Tests bezeichnet, während White-Box-Tests manchmal als klare Tests bezeichnet werden und Black-Box-Tests auch als undurchsichtige Tests bezeichnet werden können.

Höhepunkte

  • Grey-Box-Tests sind im Wesentlichen eine Mischung aus White-Box- (Vollwissen) und Black-Box-Methoden (kein Wissen).

  • Grey-Box-Testing ist eine Technik zum Auffinden von Softwarefehlern oder Exploits, bei der einige begrenzte Kenntnisse über die zugrunde liegende Software im Voraus bekannt sind.

  • Diese Form des „ethischen Hackens“ ermöglicht es Softwareentwicklern, Korrekturen und Patches zu erstellen, um böswillige Angreifer daran zu hindern, diese Exploits auszunutzen.