Zielgerichtete Attacken werden aus der Perspektive eines Angriffs nach den BSI-Richtlinien für Penetration Tests und dem OWASP Test Guide ausgeführt. Das Vorgehen und die Ziele des Web Application Security Scan, z.B. ein Sicherheitslevel nach dem neuesten technischen Standard zu erzielen, werden mit dem Kunden vereinbart. Erkannte Sicherheitslöcher werden ausgewertet und Handlungsempfehlungen gegeben.
Neben den besten Werkzeugen (Nessus, OpenVAS, OWASP ZAP, Metasploit, Burb Suite Pro, etc.) der mehr als 300 erhältlichen Flaggen und Schwachstellenscanner setzen wir auch eigene Werkzeugentwicklungen und Fuzzing-Daten (Attack-Strings) ein. Weil nicht nur die Auswahl der effektivsten Verfahren zur Identifikation von Sicherheitslöchern, sondern auch der jeweils beste Punkt im Software-Lebenszyklus, in dem diese Verfahren angewendet werden, über den wirtschaftlichen wie auch den wirtschaftlichen Nutzen entscheiden.
Es ist eine entsprechende Herangehensweise erforderlich, um die Ad-hoc-Umsetzung von Sicherheitsmaßnahmen zu verhindern. Die von der International Standards Organization (ISO) im Jahr 2011 angenommene ISO 27034 stellt einen allgemeinen Lösungsansatz für das Softwaresicherheitsmanagement dar Diese "Application Security"-Norm bildet dafür eine hersteller- und technologieübergreifende Basis; sie legt Begriffe, Rahmenbedingungen und Verfahren fest, die Firmen bei der Integration von Anwendungssicherheit in ihren Entwicklungsprozess unterstützen.
Die Norm zielt darauf ab, von Anfang an Schutzmaßnahmen anzuwenden, z.B. eine systematische Untersuchung des Entwurfs mit dem Zweck, einen sicheren Entwurf zu erarbeiten. Die ISO 27034 empfiehlt die fünf Verfahren zur Identifikation bekannter und vor allem unbekannter Sicherheitslöcher (siehe Abbildung: Sicherheitstestverfahren nach ISO-27034), um ein geeignetes Sicherheitslevel zu erreichen: QUADRAT - Security QUAlity Requirement Engineering: Mit diesem Verfahren sollen genaue Sicherheitsvorgaben für die nachfolgende Entwurfsphase bereitgestellt werden.
Alle Sicherheitsanforderungen werden ermittelt, festgelegt und vorhandene überprüft. Statische Quellcode-Analyse - Halbautomatisches Überprüfen des Quelltextes zur Erkennung von Rassenzuständen, Deadlocks, Zeiger- und Speicher-Verletzungen. Bereits bei der Umsetzung sollen Sicherheitslöcher abgebaut und beseitigt werden. Fuzzing ist eine automatische Sicherheitsüberprüfung (Runtime-Test), bei der die manipulierten und nicht autorisierten Eingangsdaten (Fuzz-Daten, Attack-Strings) an ein System/Applikation geschickt werden, um Anomalien zu verursachen.
Der nächste Arbeitsschritt ist die Reproduktion und Untersuchung gemeldeter Anomalien mit dem Zweck, unerkannte oder unveröffentlichte Schwachstellen (Zero-Day-Schwachstellen) zu erkennen. Simulierte Angriffe: Der Penetrationstest ist ein dynamischer Sicherheitstest (Runtime-Test), bei dem die bekannten Attacken auf ein bestimmtes Betriebssystem nachgestellt werden. Penetrationstests werden in der Regel bei der Implementierung des Produkts in einer Laufzeitumgebung verwendet, so dass die Live-Konfiguration geprüft wird.
Es gilt, die bekannten Lücken zu identifizieren und damit das Sicherheitslevel zu beurteilen und nach der Implementierung von Minderungsmaßnahmen zu steigern. Die daraus entstehenden Gefahren teilt eine Gefährdungsanalyse dem Vorstand mit, so dass er in der Lage ist, die Sicherheitslücke - immer im Sinne der wirtschaftlichen Effizienz - zu schließen und so sicher zu sein.
Dazu dient ein Web Application Security Scan. Nur durch den Gebrauch dieser systematisch durchgeführten Sicherheitstests zur Erkennung von Lücken wird gewährleistet, dass der aktuelle Kenntnisstand der (Sicherheits-)Technologie gewährleistet ist.