Sicherheitstests für Webanwendungen
Das Testen der Sicherheit von Webanwendungen ist eine nicht-funktionale Art
des Softwaretestens, die durchgeführt wird, um die Schwachstellen der zu testenden
Anwendung aufzudecken und zu ermitteln, wie sicher Daten und System vor verschiedenen Angriffen sind.
Die Hauptziele von Web Application Security Testing
Ein fester Bestandteil der vollständigen Sicherheitsgewährleistung ist das Testen der Sicherheit von Webanwendungen. Dieser Prozess ist eine Maßnahme, die nachweist, dass die Anwendung die Sicherheitsanforderungen aller Beteiligten erfüllt. Das Testen zielt darauf ab, Hacking-Pfade zu diagnostizieren, die Sicherheit von Webanwendungen oder einer Website zu bewerten sowie die Risiken zu analysieren, die mit dem Schutz vor Eindringlingen und dem Zugriff auf vertrauliche Daten verbunden sind.
Möchten Sie ein tiefgreifendes Verständnis aller modernen Aspekte des Web Application Security Testing erlangen? Lesen Sie diesen Artikel sorgfältig durch und bookmaren ihn, um später darauf zurückzukommen. Wir aktualisieren diese Seite regelmäßig.
Die wichtigsten Ziele von Sicherheitstests für Webanwendungen sind:
- Sicherung von Online-Transaktionen;
- Schutz vertraulicher Informationen vor unbefugtem Zugriff;
- Minimierung des Risikos von Datenverlust, -verfälschung oder -diebstahl;
- Erhöhte Widerstandsfähigkeit gegen DoS-Angriffe.
Um die QA-Sicherheitsziele zu erreichen, müssen Spezialisten potenzielle Bedrohungen anhand der Besonderheiten der Software prüfen. Auf der Grundlage der Prinzipien Vertraulichkeit, Zugänglichkeit und Kontinuität unterstützen Webanwendungssicherheitstests die Gewährleistung der Sicherheit von Informationen, Konten, Zugriffen und Benutzerkommunikation. Bei der Bewertung der möglichen Schwachstellen von Systemkomponenten im Rahmen von Webanwendungssicherheitstests sollten ein Team von QA-Ingenieuren die tatsächliche Reaktion der Abwehrmechanismen des Produkts überprüfen und anschließend eine Reihe von Maßnahmen vorschlagen, um das Sicherheitsniveau von Webanwendungen gegenüber unbefugten Aktionen zu erhöhen.
Außerdem müssen alle grundlegenden Anforderungen an die Sicherheit von Webanwendungen überprüft und angewendet werden, wodurch eine Liste von Kommentaren und Mängeln mit einer Einstufung der Schwere der Schwachstellen generiert werden sollte.
Durch Web Application Security Testing identifizierte Schwachstellen
Wenn Sie sich ernsthaft für dieses Thema interessieren, sollten Sie auf jeden Fall damit beginnen, die wichtigsten Arten von Schwachstellen (Vulnerabilities) in Webanwendungen zu studieren. Eine Liste der gängigsten finden Sie in der OWASP Top 10-Liste. Dabei handelt es sich um ein Open-Source-Projekt, das von Enthusiasten der Web-Sicherheit initiiert wurde. Sie veröffentlichen Statistiken zur Verbreitung von Schwachstellen aus den letzten 3–4 Jahren.
Obwohl OWASP keinen Anspruch auf Standardisierung erhebt, sind sie zu einem informellen Standard für das Testen von Webanwendungen geworden. Mittlerweile gibt es viele Leitfäden, von denen der OWASP Testing Guide für Webanwendungs-Sicherheitstester der nützlichste ist. Dies ist die Grundlage der Grundlagen, mit der Sie sich zumindest vertraut machen sollten.
In den meisten Fällen werden Schwachstellen in Webanwendungen durch häufige Fehler in der Websicherheit, die Millionen kosten können verursacht. Derzeit sind die häufigsten Arten von Software-Sicherheitslücken die folgenden:
Code-Injektionen.
Laut Statistiken waren 28 % der Unternehmen davon betroffen. Diese Schwachstelle wird von Jahr zu Jahr seltener, bleibt aber die kritischste von allen, da sie Ihre gesamte Datenbank gefährden kann. Diese Schwachstelle lässt sich in folgende Angriffsvektoren unterteilen:
- Injektion über OS-Befehle;
- Injektionen über SQL-, LDAP- und XPath-Abfragen;
- Injektion durch Parsing XML.
Mithilfe dieser Vektoren kann ein Angreifer Zugriff auf ein einzelnes Konto und die gesamte Kunden-Datenbank dieser Ressource erlangen. Zur Durchführung des Angriffs werden je nach Typ der SQL-Datenbank lediglich Sonderzeichen und zusätzliche Operatoren verwendet.
XSS (Cross-Site Scripting)XSS (Cross-Site Scripting) ist eine Schwachstelle in Webanwendungen, die es Angreifern ermöglicht, bösartige Skripte auf einer vom Server generierten Seite auszuführen, um das System anzugreifen. Dies ist eine der Arten von Schwachstellen in Webanwendungen, die es einem Skript ermöglichen, auf einer in JS geschriebenen Seite zu funktionieren. Eine solche Schwachstelle ermöglicht es einem Angreifer, sein Skript in Ihre Anwendung einzuschleusen. Laut Statistik weisen 40 % der Unternehmen, die Scanner durchlaufen haben, diese Schwachstelle auf. In der OWASP Top 10-Rangliste steht sie auf Platz 7. Der Grund für diese Schwachstelle ist das Vertrauen des Entwicklers darauf, dass der Benutzer keine verschiedenen Code-Teile zur Website beiträgt.
DOM-Modelle von XSS. Diese Art von XSS ist die gefährlichste von allen. XSS im DOM-Modell tritt auf der Client-Seite während der Datenverarbeitung innerhalb von JavaScript selbst auf. Diese Art von XSS hat ihren Namen erhalten, weil wir ein Document Object Model benötigen, um sie zu erstellen. Wie Sie wissen, ist DOM eine Abkürzung. Durch sie können Sie auf den Inhalt von HTML- und XML-Dokumenten zugreifen und sogar den Inhalt ändern: entweder die Struktur des Dokuments oder sein Design.
XSRF / CSRF (Request Forgery)XSRF / CSRF (Request Forgery) ist eine Art von Schwachstelle, die es ermöglicht, die Nachteile des HTTP-Protokolls auszunutzen, wobei Angreifer nach folgendem Schema vorgehen: Ein Link zu einer bösartigen Website wird auf einer Seite installiert, der der Benutzer vertraut. Bei Klick auf den bösartigen Link wird ein Skript ausgeführt, das persönliche Daten des Benutzers (Passwörter, Rechnungsinformationen usw.) speichert, entweder SPAM-Nachrichten im Namen des Benutzers versendet oder den Zugriff auf das Benutzerkonto ändert, um die vollständige Kontrolle darüber zu erlangen.
Umgehung der Autorisierungist eine Art von Schwachstelle, bei der es möglich ist, unbefugten Zugriff auf das Konto oder die Dokumente eines anderen Benutzers zu erlangen.
Server-Side Includes (SSI) Injection. Diese Art von Schwachstelle nutzt den Start von Serverbefehlen direkt vom Server oder fügt sie in den HTML-Code ein.
In der Regel überprüfen Sicherheitstests für Webanwendungen die folgenden Parameter:
- Kryptografie- Erkennt Probleme im Zusammenhang mit Verschlüsselung, Entschlüsselung, Signatur und Authentifizierung, einschließlich der Ebene von Netzwerkprotokollen sowie der Verarbeitung von temporären Dateien und Cookies.
- Authentifizierung.So können Sie sicherstellen, dass es keine Möglichkeit gibt, das Registrierungs- und Autorisierungsverfahren zu umgehen, dass die Verwaltung der Benutzerdaten korrekt erfolgt und dass die Möglichkeit ausgeschlossen ist, Informationen über registrierte Benutzer und deren Anmeldedaten zu erhalten.
- Validierung von Eingabewerten.Wird verwendet, um Datenverarbeitungsalgorithmen, einschließlich ungültiger Werte, zu überprüfen, bevor die Anwendung darauf zugreift.
- Zugriffskontrolle.Es identifiziert Probleme im Zusammenhang mit dem unbefugten Zugriff von Benutzern auf Informationen und Funktionen, abhängig von der ihnen zugewiesenen Rolle. Test der Konfiguration des Rollenmodells.
- Test der Widerstandsfähigkeit gegen DoS-/DDoS-Angriffe.Es überprüft die Fähigkeit der Anwendung, ungeplante hohe Lasten und große Datenmengen zu verarbeiten, die zur Abschaltung der Anwendung gesendet werden können.
- Serverkonfiguration.Hierbei wird nach Fehlern in Multithread-Prozessen gesucht, die mit der Verfügbarkeit von Variablenwerten für die gemeinsame Nutzung durch andere Anwendungen und Anfragen zusammenhängen.
- Integration mit Drittanbieterdiensten– ermöglicht es Ihnen, die Unmöglichkeit der Manipulation der zwischen der Anwendung und Komponenten von Drittanbietern, z. B. Zahlungssystemen oder sozialen Netzwerken, übertragenen Daten zu überprüfen.
- Fehlerbehandlungsmechanismen,Dazu gehört die Überprüfung der Systemfehler der Anwendung auf fehlende Offenlegung von Informationen über interne Sicherheitsmechanismen (z. B. durch das Anzeigen von Ausnahmen oder Programmcode).
Webanwendungen sind anfälliger für Sicherheitsrisiken als andere, da sie per Definition über das Internet zugänglich sind. Das Testen der Sicherheit von Webanwendungen erfordert vom Ausführenden ausreichend fundierte Kenntnisse in der Programmierung und im Betriebssystem, weshalb die beteiligten Unternehmen die Fähigkeiten ihrer eigenen Spezialisten permanent verbessern müssen. Mit der Entwicklung von Technologien und Tools sowie dem Erscheinen neuer Versionen des Betriebssystems erweitern sich die Sicherheitschecklisten, und regelmäßig erscheinen Artikel, die aktuelle Sicherheitsbedrohungen und deren Behebung beschreiben.
Wann sollten Sie Anwendungen überprüfen?
- Vor der Einführung einer neuen Geschäftsanwendung;
- Beim Hinzufügen von Add-ons zu bestehenden Anwendungen;
- Für kritische Anwendungen, die bereits mit der ausgewählten Frequenz genutzt werden, oder bei Änderungen;
- Im Falle eines Vorfalls im Zusammenhang mit dem Betrieb der Anwendung und wenn aus Sicht der Informationssicherheit eine fehlerhafte Funktionsweise der Anwendung vermutet wird.
Bevor Sie Anwendungen prüfen, ist es ratsam, zunächst alle vorhandenen Anwendungen zu identifizieren. ImmuniWeb Discovery hilft Ihnen dabei, abgelaufene und anfällige Anwendungen in Ihrer externen Infrastruktur zu finden.
Der Sicherheitsgrad Ihres Systems wird gemäß dem internationalen Sicherheitszulassungsstandard OWASP bewertet. Wir führen zudem Beratungsarbeiten zur Beseitigung von Schwachstellen und Risiken durch. Optional erstellen wir einen Produktarbeitsplan für Betreiber und Entwickler, um Ihr eigenes Unternehmen und die Nutzer Ihrer Ressourcen zu schützen.
Ihre Aufgabe besteht nun darin, sich mit neuen Schwachstellenarten vertraut zu machen, sobald der Scanner sie findet, herauszufinden, wie sie reproduziert werden können, und ihre Schwere einzuschätzen. So sammelt der Scanner bei der Prüfung der Webanwendungssicherheit Informationen und Erfahrungen, die Sie später nutzen können, um dieselben Lücken in anderen Projekten zu identifizieren und das Produkt dadurch sicherer zu machen.
Weitere Ressourcen
- Erfahren Sie mehr über KI-gestütztes Angriffsflächenmanagement mit ImmuniWeb® Discovery.
- Erfahren Sie mehr über KI-gestützte Penetrationstests für Anwendungen mit ImmuniWeb.
- Erfahren Sie mehr über die Möglichkeiten des ImmuniWeb Partner Programms.
- Folgen Sie uns auf LinkedIn, X, Telegram und WhatsApp