
EITC/IS/WASF Web Applications Security Fundamentals ist das europäische IT-Zertifizierungsprogramm zu theoretischen und praktischen Aspekten der Sicherheit von World Wide Web-Diensten, angefangen von der Sicherheit grundlegender Webprotokolle über Datenschutz, Bedrohungen und Angriffe auf verschiedene Ebenen des Webverkehrs, Netzwerkkommunikation, Web Serversicherheit, Sicherheit in höheren Schichten, einschließlich Webbrowser und Webanwendungen, sowie Authentifizierung, Zertifikate und Phishing.
Das Curriculum der EITC/IS/WASF Web Applications Security Fundamentals umfasst eine Einführung in HTML- und JavaScript-Websicherheitsaspekte, DNS, HTTP, Cookies, Sitzungen, Cookie- und Sitzungsangriffe, Gleiche-Ursprungs-Richtlinie, Cross-Site-Request-Forgery, Ausnahmen vom Gleichen Origin Policy, Cross-Site Scripting (XSS), Cross-Site Scripting-Abwehr, Web-Fingerprinting, Datenschutz im Web, DoS, Phishing und Nebenkanäle, Denial-of-Service, Phishing und Nebenkanäle, Injection-Angriffe, Code-Injection, Transport Layer Security (TLS) und Angriffe, HTTPS in der realen Welt, Authentifizierung, WebAuthn, Verwaltung der Websicherheit, Sicherheitsbedenken im Node.js-Projekt, Serversicherheit, sichere Codierungspraktiken, lokale HTTP-Serversicherheit, DNS-Rebinding-Angriffe, Browserangriffe, Browser Architektur sowie das Schreiben sicherer Browsercodes innerhalb der folgenden Struktur, die umfassende videodidaktische Inhalte als Referenz für diese EITC-Zertifizierung umfasst.
Die Sicherheit von Webanwendungen ist eine Teilmenge der Informationssicherheit, die sich auf die Sicherheit von Websites, Webanwendungen und Webdiensten konzentriert. Die Sicherheit von Webanwendungen basiert auf ihrer grundlegendsten Ebene auf den Prinzipien der Anwendungssicherheit, wendet sie jedoch insbesondere auf das Internet und Webplattformen an. Sicherheitstechnologien für Webanwendungen, wie z. B. Firewalls für Webanwendungen, sind spezielle Tools für die Arbeit mit HTTP-Datenverkehr.
Das Open Web Application Security Project (OWASP) bietet sowohl kostenlose als auch offene Ressourcen. Verantwortlich dafür ist eine gemeinnützige OWASP-Stiftung. Die OWASP Top 2017 10 ist das Ergebnis einer aktuellen Studie, die auf umfangreichen Daten von über 40 Partnerorganisationen basiert. Anhand dieser Daten wurden in über 2.3 Anwendungen ungefähr 50,000 Millionen Schwachstellen entdeckt. Die zehn wichtigsten Sicherheitsbedenken bei Online-Anwendungen laut OWASP Top 10 – 2017 sind:
- Spritze
- Authentifizierungsprobleme
- Offengelegte sensible Daten XML externe Entitäten (XXE)
- Zugriffskontrolle, die nicht funktioniert
- Fehlkonfiguration der Sicherheit
- Site-to-Site-Scripting (XSS)
- Nicht sichere Deserialisierung
- Verwendung von Komponenten mit bekannten Fehlern
- Protokollierung und Überwachung sind unzureichend.
Daher wird der Schutz von Websites und Onlinediensten gegen verschiedene Sicherheitsbedrohungen, die Schwachstellen im Code einer Anwendung ausnutzen, als Webanwendungssicherheit bezeichnet. Content-Management-Systeme (z. B. WordPress), Datenbankverwaltungstools (z. B. phpMyAdmin) und SaaS-Apps sind gängige Ziele für Angriffe auf Online-Anwendungen.
Webanwendungen werden von den Tätern als hoch priorisierte Ziele angesehen, weil:
- Aufgrund der Komplexität ihres Quellcodes sind unbeaufsichtigte Schwachstellen und Modifikationen bösartiger Codes wahrscheinlicher.
- Hochwertige Belohnungen, wie z. B. sensible personenbezogene Daten, die durch effektive Quellcode-Manipulation erlangt wurden.
- Einfache Ausführung, da die meisten Angriffe leicht automatisiert und wahllos gegen Tausende, Zehntausende oder sogar Hunderttausende von Zielen gleichzeitig eingesetzt werden können.
- Organisationen, die ihre Webanwendungen nicht schützen, sind anfällig für Angriffe. Dies kann unter anderem zu Datendiebstahl, angespannten Kundenbeziehungen, entzogenen Lizenzen und rechtlichen Schritten führen.
Sicherheitslücken in Websites
Fehler bei der Eingabe/Ausgabe-Bereinigung sind in Webanwendungen üblich und werden häufig ausgenutzt, um entweder den Quellcode zu ändern oder unbefugten Zugriff zu erhalten.
Diese Fehler ermöglichen die Ausnutzung einer Vielzahl von Angriffsvektoren, darunter:
- SQL Injection – Wenn ein Täter eine Backend-Datenbank mit bösartigem SQL-Code manipuliert, werden Informationen preisgegeben. Unerlaubtes Durchsuchen von Listen, Löschen von Tabellen und nicht autorisierter Administratorzugriff sind unter anderem die Folgen.
- XSS (Cross-Site Scripting) ist ein Injection-Angriff, der auf Benutzer abzielt, um Zugang zu Konten zu erhalten, Trojaner zu aktivieren oder Seiteninhalte zu ändern. Wenn Schadcode direkt in eine Anwendung eingeschleust wird, wird dies als gespeichertes XSS bezeichnet. Wenn ein schädliches Skript von einer Anwendung auf den Browser eines Benutzers gespiegelt wird, wird dies als reflektiertes XSS bezeichnet.
- Entfernte Dateieinbindung – Diese Angriffsform ermöglicht es einem Hacker, eine Datei von einem entfernten Standort in einen Webanwendungsserver einzuschleusen. Dies kann dazu führen, dass innerhalb der App gefährliche Skripte oder Code ausgeführt werden, sowie Datendiebstahl oder -modifikation.
- Cross-Site Request Forgery (CSRF) – Eine Angriffsart, die zu einem unbeabsichtigten Geldtransfer, Passwortänderungen oder Datendiebstahl führen kann. Es tritt auf, wenn ein bösartiges Webprogramm den Browser eines Benutzers anweist, eine unerwünschte Aktion auf einer Website durchzuführen, auf der er angemeldet ist.
Theoretisch kann eine effektive Bereinigung der Eingabe/Ausgabe alle Schwachstellen beseitigen und eine Anwendung für unbefugte Änderungen unempfindlich machen.
Da sich die meisten Programme jedoch in einem ständigen Entwicklungsstadium befinden, ist eine umfassende Desinfektion selten eine praktikable Option. Darüber hinaus werden Apps häufig ineinander integriert, was zu einer immer komplexer werdenden codierten Umgebung führt.
Um solche Gefahren zu vermeiden, sollten Sicherheitslösungen und -prozesse für Webanwendungen wie die Zertifizierung nach dem PCI Data Security Standard (PCI DSS) implementiert werden.
Firewall für Webanwendungen (WAF)
WAFs (Web Application Firewalls) sind Hardware- und Softwarelösungen, die Anwendungen vor Sicherheitsbedrohungen schützen. Diese Lösungen wurden entwickelt, um eingehenden Datenverkehr zu untersuchen, um Angriffsversuche zu erkennen und zu blockieren und alle Fehler bei der Codebereinigung auszugleichen.
Die WAF-Bereitstellung erfüllt ein entscheidendes Kriterium für die PCI-DSS-Zertifizierung, indem sie Daten vor Diebstahl und Modifikation schützt. Alle Daten von Kredit- und Debitkarteninhabern, die in einer Datenbank geführt werden, müssen gemäß Anforderung 6.6 geschützt werden.
Da sie ihrer DMZ am Rand des Netzwerks voraus ist, erfordert die Einrichtung einer WAF normalerweise keine Änderungen an einer Anwendung. Es dient dann als Gateway für den gesamten eingehenden Datenverkehr und filtert gefährliche Anfragen heraus, bevor sie mit einer Anwendung interagieren können.
Um zu beurteilen, welcher Verkehr auf eine Anwendung zugreifen darf und welcher aussortiert werden muss, verwenden WAFs verschiedene Heuristiken. Dank eines regelmäßig aktualisierten Signaturpools können sie böswillige Akteure und bekannte Angriffsvektoren schnell identifizieren.
Fast alle WAFs können auf individuelle Anwendungsfälle und Sicherheitsvorschriften sowie auf die Bekämpfung neu auftretender (auch als Zero-Day-Bedrohungen bekannt) zugeschnitten werden. Um schließlich zusätzliche Einblicke in eingehende Besucher zu gewinnen, verwenden die meisten modernen Lösungen Reputations- und Verhaltensdaten.
Um einen Sicherheitsperimeter aufzubauen, werden WAFs in der Regel mit zusätzlichen Sicherheitslösungen kombiniert. Dazu können Dienste zur Verhinderung von Distributed Denial-of-Service (DDoS) gehören, die die zusätzliche Skalierbarkeit bieten, die erforderlich ist, um Angriffe mit hohem Volumen zu verhindern.
Checkliste für die Sicherheit von Webanwendungen
Neben WAFs gibt es verschiedene Ansätze, um Web-Apps abzusichern. Jede Sicherheitscheckliste für Webanwendungen sollte die folgenden Verfahren enthalten:
- Sammeln von Daten — Gehen Sie die Anwendung von Hand durch und suchen Sie nach Einstiegspunkten und clientseitigen Codes. Klassifizieren Sie Inhalte, die von einem Drittanbieter gehostet werden.
- Autorisierung – Suchen Sie beim Testen der Anwendung nach Pfaddurchquerungen, vertikalen und horizontalen Zugriffskontrollproblemen, fehlender Autorisierung und unsicheren, direkten Objektreferenzen.
- Sichern Sie alle Datenübertragungen mit Kryptographie. Wurden sensible Informationen verschlüsselt? Haben Sie Algorithmen verwendet, die dem Schnupftabak nicht gewachsen sind? Gibt es Zufallsfehler?
- Denial-of-Service – Testen Sie auf Anti-Automation, Kontosperrung, HTTP-Protokoll-DoS und SQL-Wildcard-DoS, um die Widerstandsfähigkeit einer Anwendung gegen Denial-of-Service-Angriffe zu verbessern. Dies beinhaltet nicht die Sicherheit gegen DoS- und DDoS-Angriffe mit hohem Volumen, die eine Mischung aus Filtertechnologien und skalierbaren Ressourcen erfordern, um zu widerstehen.
Weitere Informationen finden Sie im OWASP Web Application Security Testing Cheat Sheet (es ist auch eine großartige Ressource für andere sicherheitsbezogene Themen).
DDoS Schutz
DDoS-Angriffe oder verteilte Denial-of-Service-Angriffe sind eine typische Möglichkeit, eine Webanwendung zu unterbrechen. Es gibt eine Reihe von Ansätzen zur Abwehr von DDoS-Angriffen, darunter das Verwerfen von volumetrischem Angriffsverkehr in Content Delivery Networks (CDNs) und der Einsatz externer Netzwerke, um echte Anfragen angemessen weiterzuleiten, ohne eine Dienstunterbrechung zu verursachen.
DNSSEC-Schutz (Domain Name System Security Extensions)
Das Domain Name System (DNS) ist das Telefonbuch des Internets und spiegelt wider, wie ein Internet-Tool, beispielsweise ein Webbrowser, den entsprechenden Server findet. DNS-Cache-Poisoning, On-Path-Angriffe und andere Mittel zur Störung des DNS-Lookup-Lebenszyklus werden von böswilligen Akteuren verwendet, um diesen DNS-Anforderungsprozess zu kapern. Wenn DNS das Telefonbuch des Internets ist, ist DNSSEC eine nicht fälschbare Anrufer-ID. Eine DNS-Lookup-Anfrage kann mit der DNSSEC-Technologie geschützt werden.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/WASF-Zertifizierungscurriculum für Sicherheitsgrundlagen für Webanwendungen verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.