White Box Penetration Testing – Wert, Essenz, Techniken

White Box-Penetrationstests: Das Wesentliche

White-Box-Penetrationstests (auch als strukturelle oder Clear-Box-Tests bekannt) sind eine Form von Penetrationstests, die es einem Tester ermöglichen, auf die Software und die IT-Infrastruktur zuzugreifen, um Hacker-Aktionen zu imitieren und potenzielle Schwachstellen zu ermitteln.

White Box Penetrationstests unterscheiden sich von Black oder Grey Box Penetrationstests. Dabei werden alle Netzwerk- und Systemdaten mit einem ethischen Hacker (einem Tester) geteilt, der dann tiefer graben kann, um Sicherheitslücken zu finden. Unternehmen, die ihre eigenen Produkte entwickeln oder mehrere Anwendungen integrieren, verwenden White-Box-Penetrationstests, um die Kernkomponenten eines Systems zu untersuchen.

Die Vorteile von White Box Penetrationstests

Diese umfassende Analyse sowohl interner als auch externer Schwachstellen ist den meisten Angreifern nicht zugänglich.
Es ist möglich, potenzielle Schwachstellen in Bereichen zu ermitteln, die für Black-Box-Tests nicht zugänglich sind. Dazu gehören der Quellcode, das Design und die Geschäftslogik einer Anwendung.
Zugänglichkeit in frühen Entwicklungsphasen, wenn keine Benutzeroberfläche vorhanden ist. Dies ist bei anderen Arten von Penetrationstests nicht der Fall.
Es ist einfach, Testfälle zu automatisieren, was den Zeit- und Kostenaufwand für Penetrationstests reduziert.

Whitebox-Penetrationstests – Techniken und Kriterien

Whitebox-Penetrationstests sind eine Methode zum Testen der Softwaresicherheit. Dabei wird der Quellcode überprüft, um Schwachstellen zu ermitteln, die eine Anwendung anfälliger für Cyber-Bedrohungen machen könnten. Dies sind die wichtigsten zu prüfenden Punkte:

Abdeckung von Verzweigungen

Eine Verzweigung ist einer von vielen möglichen Ausführungspfaden, denen der Code nach der Verarbeitung einer Entscheidungsanweisung, z. B. einer if-Anweisung, folgen kann. Um sicherzustellen, dass alle Verzweigungen innerhalb einer Codebasis durch Tests abgedeckt sind und dass keine Verzweigung abnormales Verhalten verursacht, wird die Verzweigungsabdeckung überprüft.

Pfadabdeckung

Ein Pfad ist ein Ausführungsfluss, der einer bestimmten Anzahl von Anweisungen folgt. Die Pfadabdeckung deckt alle möglichen Pfade in der Software ab. Sie stellt sicher, dass jeder Pfad mindestens einmal verwendet wird. Die Pfadabdeckung ist leistungsfähiger als die Verzweigungsabdeckung und kann beim Testen komplexer Builds nützlich sein.

Anweisungsabdeckung

Die Anweisungsabdeckung misst, ob jede Codezeile mindestens einmal ausgeführt wurde. Sie hilft auch dabei, fehlende oder unnötige Zeilen zu identifizieren.

White-Box-Penetrationstests können auf den folgenden Kriterien basieren:

  • Kontrollfluss-Tests
  • Testen des Datenflusses
  • Abdeckung von Entscheidungen
  • Abdeckungsgrad
  • Abdeckung von modifizierten Bedingungen/Entscheidungen
  • Abdeckung von endlichen Zustandsautomaten

Whitebox-Pentesting

Hier ist ein Beispiel für Whitebox-Penetrationstests von Software:

Überprüfung des Quellcodes. Der erste Schritt besteht darin, die innere Funktionalität einer Zielsoftwareanwendung zu verstehen. Dieser Schritt beinhaltet eine Überprüfung des Quellcodes der Zielsoftware, um die Grundlage für die Erstellung von Testfällen zu schaffen, die Sicherheitslücken aufdecken.
Erstellung und Ausführung von Tests. Der Testingenieur erstellt Testfälle und führt sie aus, um Schwachstellen im Quellcode zu ermitteln. Die Anwendungstests können manuell oder automatisch durchgeführt werden.
Erstellung von Berichten. Letzter Schritt: Der Tester erstellt einen Bericht, der alle verwendeten Schritte und Strategien enthält. Schließlich teilt er oder sie dem Kunden die Ergebnisse mit.

Leave a Reply

Your email address will not be published.