Schritt 1: Sammeln Sie Informationen
Der grundlegende Schritt unserer Checkliste für Anwendungssicherheitstests besteht darin, Fragen zu stellen. Dadurch wird sichergestellt, welche Apps, Codes und Netzwerksysteme getestet werden müssen. Gehen Sie noch einen Schritt weiter und informieren Sie sich über den Testprozess, den Sie verwenden werden, und insbesondere über die Erwartungen.
Identifizieren Sie äußerst unsichere Bereiche der Anwendung
Dieser Bereich bezieht sich darauf, wo Benutzer Inhalte ändern. Dieser Speicherort muss sowohl für den Eingabe- als auch für den Ausgabecode überprüft werden. Ein solches Beispiel kann eine App sein, mit der Benutzer eine große Datenmenge einfügen können. Insbesondere wenn die App über einen HTML-Editor ausgeführt wird, besteht ein hohes Angriffsrisiko, wenn der Präventionsmechanismus nicht implementiert ist.
Erstellen Sie Unternehmenslogik und Informationsfluss
Dies bezieht sich auf Bereiche, in denen manuelle Tests erforderlich sind, die sich hauptsächlich auf Eskalations- oder sensible Datenexpositionssysteme konzentrieren. Die Organisationslogik bezieht sich auf den Informationsfluss, der ein spezieller und seltener Verlauf einer Anwendung ist. Diese Funktion wird bei der automatisierten Analyse häufig übersehen. Daher ist es wichtig, dass wir sie erwähnen.
Ein QS-Tester muss Folgendes sicherstellen:
- Die Aufrichtigkeit der Aufgabe
- Normale Benutzer können keine Schritte überspringen
- Endbenutzer haben keine Berechtigung für privilegierte Aktivitäten
Verstehen Sie die Berechtigungen und die Rollenstruktur
Bei gesperrtem Zugriff oder Zugriff mehrerer Teammitglieder ist ein solcher Schritt für Autorisierungszwecke wichtig. Versuchen Sie außerdem, das Setup für die Bypass-Autorisierung zu testen, indem Sie die Anmeldeseite überspringen oder die App glauben lassen, dass der Benutzer bereits autorisiert ist. Überprüfen Sie außerdem, ob es möglich ist, auf Verwaltungsfunktionen zuzugreifen, während Sie als normaler Benutzer angemeldet sind.
Schritt 2: Planung
Dokumentieren Sie bei der Planung Ihrer Anwendungssicherheitstests zuerst Ihre Strategie. Wählen Sie die richtigen Tester aus, erklären Sie ihnen, woran sie arbeiten werden, und geben Sie die Frist für die Testaufgaben an. Dies spart Ihnen Zeit und Ressourcen und sichert Ihnen eine gute Strategie für Sicherheitstests.
Organisieren Sie die Schwachstellen für Ihre Anwendung
Erstellen Sie eine Liste der Tools, die Sie benötigen, z. B. einen Web-Schwachstellenscanner. Wenn Sie die Dinge weiter verfolgen und die Authentifizierung testen möchten, wird ein HTTP-Proxy benötigt. Sie können eine Quellcode-Analyse verwenden, wenn Sie Ihre Sicherheitstests vertiefen möchten.
Die folgende Checkliste für Anwendungssicherheitstests kann Folgendes abdecken:
- Sammeln von Managementsitzungen
- Rohe Gewalt
- Erhöhter Zugang zu geschützten Ressourcen
- Passwortsicherheit
Weisen Sie Teammitgliedern Rollen zu
Wenn Sie die Sicherheitstests mit einem Team durchführen möchten, sollten Sie die Verantwortlichkeiten aufteilen. Ein Team kann für die Funktionalität verantwortlich sein, während das andere Team Schwachstellen testen kann. Es ist wichtig, die richtigen QS-Tester für diesen Vorgang auszuwählen. Es ist wichtig, dass Fachleute vorbereitet sind, bereit sind, Maßnahmen zu ergreifen und die App-Sicherheit mit umfassenden Ergebnissen zu erkunden.
Implementieren Sie automatische Tests
Stellen Sie eine manuelle Prüfung zusammen, die zusätzliche Aufgaben enthält, die das Team manuell ausführen muss. Weisen Sie nach Abschluss des automatischen Tests ein Teammitglied zu, das die Ergebnisse scannt und konfiguriert. Obwohl Technologie ein großer Vorteil ist, wird eine menschliche Nachverfolgung nur besser sein!
Legen Sie die Frist fest
Dies ist der Punkt, an dem Ihr Team die Tests abschließt und die gefundenen Schwachstellen dokumentiert. In diesem Schritt der Checkliste für Anwendungssicherheitstests müssen Sie den Abschlussbericht schreiben. Die Ergebnisse sollen Ihnen helfen, einen klaren Überblick darüber zu erhalten, wie sicher Ihre App ist und wo sie mit den Erwartungen verglichen wird.
Interne und externe Anrufe einrichten
Es liegt an Ihnen, wie oft Sie sich mit Ihrem Team abstimmen. Für eine erfolgreiche sichere App empfehlen wir, zweimal pro Woche Anrufe zu planen. Da Kommunikation der Schlüssel ist, sollten diese Anrufe die QS-Tester und den Projekt- oder Kundenmanager umfassen, um die Teamsituation zu bestimmen und relevante Details an die Mitglieder weiterzugeben.
Dokumentieren Sie Testbeispiele
Dies kann nur in der Checkliste für Anwendungssicherheitstests vorhanden sein, wenn der Client dies verlangt. Die Dokumentation sollte Testfälle enthalten, die für Ihren Kunden von Interesse sind und einen gewissen Einfluss auf die Ergebnisse hatten.
Führen Sie ein automatisiertes oder manuelles Crawlen durch
Falls von der Vereinbarung benötigt, bietet dieser Schritt Details oder Anpassungen, die für den Testumfang erforderlich sind.
Schritt 3: Leistung
Der größte Teil der Checkliste für Anwendungssicherheitstests ist die Ausführung. Sobald Sie die Planstrategie und das Team einsatzbereit haben, ist dies der Moment, in dem Sie die Tests durchführen und Schwachstellen aufspüren.
Automatisierte Tests und Ergebnisse
Sie sollten auf die von Ihnen ausgewählten Automatisierungstools achten. Auf diese Weise passen die Tester ihre Fähigkeiten sowohl an die Unternehmenslogik als auch an den Informationsfluss an, was eine manuelle Analyse erfordert. Das automatische Testen unterscheidet sich je nach Organisation geringfügig.
Manuelle Prüfung
Manuelle Tests konzentrieren sich auf die anwendungsspezifische Unternehmenslogik und den Informationsfluss. Es wird normalerweise durch automatische Tests übersehen. Manuelle Tests können folgendermaßen aussehen:
- Ein QS-Tester identifiziert einen von einem Administrator eingegebenen Link, der sich etwas von dessen Ende unterscheidet
- Sie werden als Administrator ausgeführt und versuchen, die URL zu ändern
- Wenn anhand der Ergebnisse eine Sicherheitsanfälligkeit festgestellt wird, ist es am besten, diese zu dokumentieren. Danach kann der Tester weiter zu verwandten Seiten navigieren und prüfen, ob das Problem weiterhin besteht.
In dieser Phase des Anwendungssicherheitstests senden die meisten Tools Anforderungen an eine Seite, um festzustellen, ob die Antwort unterschiedlich ist. Wenn HTTP 500-Fehler übermittelt werden, bedeutet dies, dass irgendwo eine Sicherheitsanfälligkeit vorliegt. Jetzt kann der Tester den Fehler überprüfen und feststellen, ob tatsächlich eine Sicherheitsanfälligkeit vorliegt.
Dokumentierte Sicherheitslücken
Manchmal fordern Clients oder sogar das obere Management die Ausgabe der durchgeführten Sicherheitstests an. Sie möchten die Schlussfolgerungen sehen, auch wenn keine Schwachstellen identifiziert wurden, und sind daher auch für einen solchen Bericht bereit.
Schritt 4: Bericht
Als nächstes steht auf unserer Checkliste für Anwendungssicherheitstests die Berichtsphase. Dies ist eine Aktion, die nach Abschluss des Tests ausgeführt wird. Die Berichte über die Ergebnisse sollten gründlich dokumentiert und dann wie folgt für Ihren Kunden oder Ihr Management gemeldet werden:
Ergebnisse formalisieren
Der erste Schritt bei der Berichterstellung besteht darin, die Beschreibung der Tests, der betroffenen URLs, der Rollen der Teammitglieder, der Beweise, der Reproduktionsschritte, der Auswirkungen und der Korrektur zusammenzustellen.
Überprüfen Sie die technischen Berichte
Dieser Teil gewährleistet die Richtigkeit und Konsistenz des technischen Schreibens des Berichts. Überprüfen Sie bei Bedarf die Ergebnisse mit dem Team und nehmen Sie die entsprechenden Anpassungen vor.
Schritt 5: Fixieren
Dieser Schritt behebt die Schwachstellen während des Anwendungssicherheitstests.
Beachten Sie die Support-Richtlinien
Der Eigentümer der Anwendung ist dafür verantwortlich, einem Webentwickler detaillierte Korrekturanfragen in Rechnung zu stellen. Es ist erforderlich, Korrekturen im betroffenen Code zu implementieren. Ein einfacher Black-Box-Test reicht möglicherweise nicht aus, und es können weiterhin Probleme auftreten.
Schritt 6: Bestätigung
Der letzte Schritt der Checkliste für Anwendungssicherheitstests, die wir für Sie erstellt haben, ist die Überprüfung. Dieser Schritt wird normalerweise am Ende des Testverfahrens ausgeführt. Es ist wichtig zu betonen, dass die gefundenen Schwachstellen behoben sind und nicht ausgetrickst werden können.
Rezension
Werfen Sie noch einen Blick auf die spezifischen vorherigen Probleme. Stellen Sie sicher, dass sie vollständig behoben wurden und keine potenzielle Sicherheitslücke aufweisen.
Verhütung
Stellen Sie sicher, dass diese Korrekturen durch transformierte Versuche nicht wieder anfällig werden können. Führen Sie dazu eine Filterung für XSS, Angriffe mit unterschiedlichen Rollen und eine Umleitung zu verschiedenen URL-Links durch.
FAQ zur Checkliste für Website-Sicherheitstests
Sicherheitstests sind Softwaretests, die auf einer vorbereiteten Aufgabenliste basieren, die als Checkliste bezeichnet wird. Diese Checklisten werden verwendet, um ein Testverfahren zu planen und zu strukturieren, um zeitaufwändige und wiederholte Tests zu vermeiden. Checklisten können online, geteilt, physisch oder sogar mental sein.
1. NetSparker
NetSparker ist eine zentrale Anlaufstelle für Web-Sicherheitsanforderungen. Es ist als Host- und Self-Host-Lösung verfügbar. Diese Plattform kann vollständig in jede Art von Entwicklungsumgebung integriert werden.
2. ImmuniWeb
ImmuniWeb ist eine Plattform der nächsten Generation, die KI (Künstliche Intelligenz) verwendet, um Sicherheitstests zu ermöglichen. Dieses KI-Testen bietet ein umfassendes Leistungspaket für Sicherheits- oder QA-Teams, Entwickler, CISOs und CIOs.
3. Vega
Diese Quelle ist ein in Java geschriebenes Tool zum Scannen und Testen von Sicherheitslücken. Es ist GUI-fähig und kompatibel mit Betriebssystemen wie OS X, Linux und Windows.
4. SQLMap
SQLMap ist ein Testtool, das von einem Erkennungsmodul unterstützt wird. Dies kann zur automatisierten Identifizierung und Ausnutzung von SQL-Injection-Fehlern verwendet werden.
5. Google Nogotofail
Google Nogotofail ist eine Testquelle für die Sicherheit des Netzwerkverkehrs. Der Hauptzweck besteht darin, Anwendungen auf bekannte TLS / SSL-Schwachstellen und sogar auf Fehlkonfigurationen zu überprüfen.