Web Application Security Scan

identifiziert mittels Web Application Security Scan die Sicherheitslücken in Ihrer Webanwendung

Webanwendungen stellen aufgrund ihrer öffentlichen Erreichbarkeit und dem Abruf von sensiblen Daten (z.B. Kundendaten in Webshops) ein beliebtes Ziel für Angreifer dar. Die daraus resultierenden Folgen sind Datenverlust und Imageschaden der sich durch einen Vertrauensverlust bemerkbar macht. Ihre Komplexität und Verbindung zu anderen Systemen wie Datenbanken erhöht das Risiko eines erfolgreichen Angriffes maßgeblich. Mit einem Web Application Security Scan werden Sicherheitslücken identifiziert.
Die durch den Auftraggeber genannten Webanwendungen und die implementierte Software inkl. Patch-Stand, Konfiguration und Logik werden einem Web Application Security Scan mit den beiden Methoden Penetration Testing und Fuzzing unterzogen, um bereits bekannte und insbesondere bislang nicht erkannte Sicherheitslücken (Zero-Day-Vulnerabilities) zu identifizieren. Dabei werden gezielte Angriffe aus Sicht eines Angreifers nach dem BSI Leitfaden für Penetrationstests und nach dem OWASP Testing Guide durchgeführt.
Unter anderem wird geprüft auf:

  • Information Leakage: Ist es einem Angreifer möglich an sensible Daten wie Systemkonfigurationen, Anwenderdaten oder gar Unternehmensdaten ohne vorherige Autorisierung zu gelangen.
  • Authentication Mechanism: Ist es einem Angreifer möglich Anmeldeoberflächen z.B. mit Bypass-Angriffen zu umgehen und Berechtigungen in der Webanwendung zu erlangen.
  • Input Validation: Ist es einem Angreifer möglich z.B. mit Cross-Site-Scripting oder SQL-Injections Serverseitige oder Clientseitige Angriffe aufgrund mangelnder Verifikation der Eingabedaten durchzuführen.

Vorgehensweise und Zielsetzung des Web Application Security Scan, z.B. ein Sicherheitsniveau nach dem aktuellen Stand der Technik zu erreichen, werden mit dem Auftraggeber abgestimmt. Hierbei erfolgen u.a. die Festlegung der Überprüfungsschritte, die Definition von Notfallmaßnahmen und die Festlegung sicherheitskritischer Systeme, die z.B. von der Untersuchung auszuschließen sind.
Identifizierte Sicherheitslücken, werden bewertet und empfohlene Gegenmaßnahmen beschrieben. Diese bilden die Grundlage für weiterführende Handlungen des Auftraggebers.

Unsere Leistungen

hat Security Testing Erfahrungen aus zahlreichen Projekten mit der Identifizierung von bislang nicht-erkannten Sicherheitslücken. In diesen Projekten wurden insbesondere Sicherheitstools wie Firewalls etc., sicherheitskritische Infrastrukturen, Webanwendungen, mobile Anwendungen und lokale Anwendungen sowie Hardware inkl. Firmware auf der Basis der ISO 27034 geprüft. Zum Einsatz kommen neben den besten Tools (Nessus, OpenVAS, OWASP ZAP, Metasploit, Burb Suite Pro, etc) der über 300 verfügbaren Fuzzer und Vulnerability Scanner auch eigene Tool-Entwicklungen sowie Fuzzing-Data (Attack Strings).
Über das Penetration Testing und Fuzzing hinaus empfiehlt den Einsatz weiterer Security Testing Methoden. Denn nicht nur die Wahl der wirkungsvollsten Methoden zur Identifizierung von Sicherheitslücken, sondern auch der optimale Zeitpunkt im Softwarelebenszyklus, in dem diese Methode angewandt wird, entscheidet über den Erfolg und über die Wirtschaftlichkeit. Um der ad hoc Implementierung von Sicherheitsaktivitäten vorzubeugen, bedarf es einer Strategie.

Einen allgemeinen Ansatz zum Management von Softwaresicherheit liefert die 2011 von der International Standards Organization (ISO) verabschiedete ISO 27034. Diese Norm „Application Security“ bietet hierfür eine hersteller- und technologieunabhängige Grundlage; sie definiert Konzepte, Frameworks und Prozesse, die Unternehmen helfen, Application Security in ihren Entwicklungszyklus zu integrieren.
Ziel des Standards ist es bereits von Beginn an der Entwicklung Sicherheitsmaßnahmen einzusetzen, wie z.B. eine methodische Analyse des Designs mit dem Ziel ein sicheres Design zu entwickeln. In der ISO 27034 werden die folgenden fünf Methoden zur Identifizierung von bekannten und insbesondere unbekannten Sicherheitslücken (siehe Abbildung: ISO-27034-konformer Security Testing Prozess) empfohlen, um ein angemessenes Sicherheitsniveau zu erreichen:

  1. SQUARESecurity QUAlity Requirements Engineering: Ziel dieser Methode ist es exakte Sicherheitsanforderungen für die darauf folgende Designphase bereitzustellen. Dabei werden alle die Sicherheit betreffende Anforderungen identifiziert, definiert und bestehende validiert. Das Ergebnis sind vollständige (für das Lastenheft verwendbare) Sicherheitsanforderungen.
  2. Security by Design: Threat Modeling ist eine Methode, um systematisch eine Architektur auf Sicherheit hin zu prüfen. Diese Methode wird sowohl bei der Software- und Hardwareentwicklung verwendet, als auch zur Prüfung von sicherheitskritischen IT-Infrastrukturen und Netzwerken. Das Ergebnis ist eine Sicherheitslücken-freie Architektur (Sicherheitsarchitektur)
  3. Code Review: Static Source Code Analysis – Semi-automatisiertes Scannen des Quellcodes auf Sicherheitslücken zum Identifizieren von Race Conditions, Deadlocks, Zeiger- und Speicherverletzungen. Ziel ist es bereits während der Implementierung Sicherheitslücken zu mitigieren und zu beheben.
  4. Dynamic Analysis: Fuzzing ist eine dynamische Sicherheitsprüfung (Laufzeittest), bei der manipulierte und nicht erlaubte Eingabedaten (Fuzzdaten, Attackstrings) an ein System/Anwendung gesendet werden, um Anomalien herbeizuführen. Herbeigeführte Anomalien werden im nächsten Schritt reproduziert und untersucht, mit dem Ziel unbekannte oder nicht-veröffentlichte Sicherheitslücken (Zero-Day-Vulnerabilities) zu identifizieren.
  5. Simulated Attacks: Penetration Testing ist eine dynamische Sicherheitsprüfung (Laufzeittest), bei der bekannte Angriffe auf ein System simuliert werden, um dieses zu kompromittieren. Penetration Testing wird i.d.R. eingesetzt wenn das Produkt in einer Laufzeit-Umgebung implementiert ist, sodass die Live-Konfiguration überprüft wird. Ziel ist es bekannte Sicherheitslücken zu identifiziert und damit das Sicherheitsniveau zu bewerten und nach Umsetzung von Mitigationsmaßnahmen zu erhöhen.

Eine Risikoanalyse kommuniziert die daraus resultierenden Risiken an das Management, sodass es Ressourcen bereitstellen kann, um die Sicherheitslücken – stets im Einklang mit der Wirtschaftlichkeit – zu beheben und damit sichere Produkte zu produzieren. Ein Web Application Security Scan hilft Ihnen dabei.

softSchecks Full Web Application Security Scan & Security Testing Process

 
Erst mit dem Einsatz dieser systematischen Security Testing Methoden zur Identifizierung von Sicherheitslücken wird sichergestellt, dass der Stand der (Sicherheits-)Technik erreicht wird.