Webanwendung

Web Application und
Web Service Penetration Testing

Web Application und Web Service Penetration Testing bezeichnet die Untersuchung von webbasierten Softwaresystemen auf der Anwendungsschicht aus der Perspektive eines bösartigen Akteurs.

Die Simulation von schadhaften Aktivitäten zur Identifikation von Schwachstellen erfolgt über das öffentliche Internet oder aus dem internen Netzwerk eines Unternehmens und umfasst …

Webanwendungen
z. B. Webshops, Content Management Systeme (CMS), Portale, etc.
Web Services
z. B. RESTful APIs, SOAP Services, Websockets, etc.

Warum Penetration Testing?

Durch die fortschreitende Digitalisierung insbesondere von Geschäftsprozessen sind zunehmend mehr unternehmenskritische Bereiche über das öffentliche Internet erreichbar.

Ein ausreichender Schutz vor bösartigen Angreifern ist daher wichtig, um mögliche technische sowie finanzielle Schäden (z.B. durch Datenverlust, Einschränkung der Verfügbarkeit) zu vermeiden.

Mithilfe von Web Application und Web Service Penetration Testing können Schwachstellen innerhalb eines webbasierten Anwendungssystems durch die Simulation von schadhaften Aktivitäten identifiziert werden, um vorhandene Sicherheitsrisiken für eine Anwendung und deren Benutzer zu bestimmen.

Durch gezielte Maßnahmenempfehlungen zur Behebung von identifizierten Schwachstellen kann die Softwarequalität im Bereich IT-Sicherheit (Security) erhöht und ein ausreichender Schutz vor erfolgreichen Angriffen gewährleistet werden.

Im Allgemeinen können durch Sicherheitstests die folgenden Schutzziele [1] gemäß dem Bundesamt für Sicherheit in der Informationstechnik (kurz BSI) überprüft werden:

Vertraulichkeit
"Vertraulichkeit ist der Schutz vor unbefugter Preisgabe von Informationen. Vertrauliche Daten und Informationen dürfen ausschließlich Befugten in der zulässigen Weise zugänglich sein."
Integrität
"Integrität bezeichnet die Sicherstellung der Korrektheit (Unversehrtheit) von Daten und der korrekten Funktionsweise von Systemen."
Verfügbarkeit
Die Verfügbarkeit von Dienstleistungen, Funktionen eines IT-Systems, IT-Anwendungen oder IT-Netzen oder auch von Informationen ist vorhanden, wenn diese von den Anwendern stets wie vorgesehen genutzt werden können.

Ziel

Das Ziel der Testaktivitäten besteht im Allgemeinen aus den folgenden drei Punkten:

Identifikation von vorhandenen Schwachstellen
und Fehlkonfigurationen innerhalb des Anwendungssystems.
Empfehlung geeigneter Maßnahmen
zur Behebung der Schwachstellen, um die Softwarequalität im Bereich IT-Sicherheit (Security) zu erhöhen.
Bestimmung des Sicherheitsniveaus
auf Anwendungsebene zum Zeitpunkt der Testdurchführung auf Basis der Testergebnisse.

Allgemeine Testmethodik

Neben den oben genannten allgemeinen Zielen besteht die Möglichkeit in Absprache mit dem Auftraggeber die konkreten Testziele sowie deren Priorisierung individuell im Vorfeld der Testdurchführung zu ermitteln und die Untersuchung entsprechend anzupassen.

Die Untersuchung der client- sowie serverseitigen Komponenten des Anwendungssystems basiert auf dem Vorgehen des OWASP Web Security Testing Guides [2]. Die konkreten Testaktivitäten werden entsprechend dem vereinbarten Kundenziel sowie den technischen Gegebenheiten angepasst.

Nächste Schritte

Nach Abschluss der Untersuchung eines Anwendungssystems bestehen verschiedene Anknüpfungspunkte, um die bisherigen Testaktivitäten wirkungsvoll fortzusetzen. Eine Auswahl sinnvoller Möglichkeiten kann im Gespräch abhängig vom Kundenziel, Kundenwunsch und des Testergebnisses individuell zusammengestellt werden.

Weitere Testaktivitäten im Bereich Web Application und Web Service Penetration Testing
Die bisherigen Testaktivitäten können auf weitere Softwaresysteme ausgeweitet werden.

Nach Behebung der identifizierten Schwachstellen kann durch einen wiederholten Test deren Wirksamkeit überprüft werden.

Sich weiterentwickelnde Anwendungssysteme können regelmäßig auf vorhandene Schwachstellen untersucht werden. Die Testaktivitäten können hierbei das gesamte Softwaresystem oder ausschließlich neu hinzugefügte Funktionalitäten umfassen.
Testaktivitäten auf Netzwerkebene
Die Untersuchung kann von der Anwendungsschicht auf das Netzwerk ausgeweitet werden, um weitere Angriffsvektoren innerhalb des Unternehmensnetzwerks zu identifizieren.
Statische Quelltextanalyse
Zusätzlich zur Untersuchung des Anwendungssystems zur Laufzeit kann der Quelltext auf mögliche Schwachstellen analysiert werden, um eine maximale Testabdeckung zu gewährleisten.
Sicherheitsberatung
Auf Basis gewonnener Erkenntnisse und identifizierter Schwachstellen können allgemeine oder anwendungsspezifische Themen im Bereich IT-Sicherheit, Best-Practices oder Know-How zur Sensibilisierung oder für Lösungsansätze vermittelt werden.
Entwicklerschulung
Sind verschiedene Angriffsszenarien oder Maßnahmenempfehlungen aus Sicht der Entwicklerperspektive unbekannt, so kann durch gezielte Schulungsinhalte eine Vermittlung von Grundlagenwissen im Bereich sichere Softwareentwicklung erfolgen.

Quellen

[1] Bundesamt für Sicherheit in der Informationstechnik, IT-Grundschutz-Kompendium (Edition 2023)

[2] The OWASP® Foundation, OWASP Testing Guide v 4.2