Im Zeitalter der Digitalisierung stehen Websites und Web-Anwendungen im Zentrum unserer Online-Aktivitäten. Ob es um E-Commerce, soziale Netzwerke oder informative Blogs geht, die Sicherheit einer Website ist von entscheidender Bedeutung. Dabei geht es in vielen Fällen auch um den Schutz von personenbezogenen Daten: Beispielsweise von Namen und E-Mail Adressen bei Newsletter-Anmeldungen, Kundendaten von Onlineshops oder Mitgliederdaten von Verbänden / Institutionen.

In diesem Beitrag beleuchten wir zwei der heimtückischsten Bedrohungen für Websites und Web-Anwendungen: Cross-Site Scripting (XSS) und Cross-Site Request Forgery (CSRF). Die IT-Sicherheitsexperten von Online Now! erklären, was diese Angriffe bedeuten und wie Sie sich effektiv vor einer solche Attacke schützen können.

Was ist Cross-Site Scripting (XSS)?

Cross-Site Scripting (meist als XSS abgekürzt) ist der Name für eine Sicherheitslücke, bei der Angreifer schädlichen Code in eine Website einschleusen, der dann von den Browsern der Besucher (Website-Nutzer) ausgeführt wird. Dieser Angriff ermöglicht es dem Angreifer, Sitzungen (engl. sessions) zu übernehmen, Daten zu stehlen und schädliche Aktionen im Namen des Website-Benutzers auszuführen. XSS-Angriffe können in verschiedenen Formen auftreten:

Gespeichertes XSS
Angreifer hinterlassen bösartigen Code auf der Website, der von anderen Benutzern angezeigt wird, wenn sie die infizierte Seite besuchen. Der Schadcode kommt häufig über Sicherheitslücken im Content Management System wie bei einem nicht regelmäßig aktualisierten WordPress CMS auf Ihre Website.
Beispiel für derartigen Seiten sind Verlinkungen zu Websites in bösartigen Spam-Mails, bei denen zur Zahlung einer angeblichen Zollgebühr oder Zustellgebühr für ein DHL-Paket aufgefordert wird. Beim Besuch einer solchen Website wird dann in vielen Fällen der Schadcode im Browser des Nutzers ausgeführt.

Reflektiertes XSS
Hier wird der bösartige Code als Teil der URL an die Website gesendet und vom Server direkt an den Browser des Benutzers zurückgegeben. Gerade beim Smartphones wird nämlich im Browser meist nur die verkürzte Webadresse (also nur die Domain) und nicht die vollständige URL angezeigt. Damit sieht der Nutzer nicht, dass bei Aufruf einer Webadresse zahlreiche Parameter und eben dieser bösartige Code übergeben werden.

DOM-basiertes XSS
Der Angriff findet auf der Seite des Clients (im Browser) statt und beeinflusst das Verhalten der Website.
DOM steht für "Document Object Model" und ist ein zentraler Begriff in der Webprogrammierung. Es handelt sich um eine Programmierschnittstelle (API), welche Webdokumente als eine Baumstruktur darstellt, in der jedes Element des Dokuments ein Knoten ist.

Was ist Cross-Site Request Forgery (CSRF)?

Cross-Site Request Forgery (kurz CSRF) ist ein Angriff, bei dem ein Angreifer einen Benutzer dazu verleitet, eine Aktion auf einer Website auszuführen, ohne dass der Benutzer es weiß oder zustimmt. Dabei steht der Begriff "Forgery" für Fälschung / Verfälschung.

Dies kann dazu führen, dass ungewollte Aktionen im Namen des Benutzers ausgeführt werden, z.B. das Ändern von Passwörtern oder das Übertragen / Überweisung von Geld. CSRF-Angriffe sind oft schwer zu erkennen, da sie scheinbar legitime Aktionen durchführen.

Wie kann ich mich vor XSS und CSRF-Attacken auf meiner Website schützen?

1. Validierung von Nutzereingaben
Validieren und escapen Sie alle Benutzereingaben, um sicherzustellen, dass kein schädlicher Code in Ihre Website eingeschleust wird. Verwenden Sie Sicherheitsbibliotheken, die speziell für Ihre Entwicklungsumgebung entwickelt wurden.

2. HTTP Only Cookies
Verwenden Sie HTTP Only Cookies, um sicherzustellen, dass Cookies nur von JavaScript, nicht aber von schädlichem Code verändert (= geschrieben) werden können.

3. Content Security Policy (CSP)
Die Content Security Policy (CSP) ist eine Sicherheitsmaßnahme, die dabei hilft, bestimmte Arten von Angriffen auf Webseiten, insbesondere Cross-Site-Scripting (XSS) und Dateninjektionsangriffe, zu verhindern. CSP wird vom Server implementiert und über HTTP-Header an den Browser übermittelt. Es handelt sich um eine zusätzliche Sicherheitsebene, die festlegt, welche Inhalte auf einer Webseite geladen und ausgeführt werden dürfen. Häufig wird durch eine CSP die Ausführung von unsicherem JavaScript-Code verhindert.

4. Anti-CSRF-Token
Fügen Sie anti-CSRF-Token in Ihre Formulare ein und überprüfen Sie sie auf dem Server, um sicherzustellen, dass nur legitime Anfragen verarbeitet werden. Bei jedem Formular oder jeder Anfrage, die eine Benutzeraktion erfordert (z.B. das Ändern eines Passworts oder das Übermitteln einer Zahlung), generiert der Server ein einzigartiges Token also einen „Schlüssel“, der nur 1x verwendet werden kann. Damit soll verhindert werden, dass ein Formularinhalt mehrfach von Hackern an den Server versendet werden kann, beispielsweise um unterschiedlichen Schadcode in den Formular-Eingabefeldern zu testen.

5. Aktualisierte Software und Einspielen von Sicherheitsupdates für das Server-Betriebssystem
Halten Sie Ihr Content Management System (wie TYPO3 oder WordPress), Ihre Webanwendungsplattform (wie z.B. das PHP-Framework Laravel) und auch (das wird leider oft - gerade bei WordPress - übersehen) alle Plugins (also Zusatzsoftware, die bestimmte Funktionen einer Website bereitstellt) oder Bibliotheken stets auf dem neuesten Stand, um bekannte Sicherheitslücken zu schließen.

6. HTTP Strict Transport Security (HSTS)
HTTP Strict Transport Security (HSTS) ist ein relativ neuer Sicherheitsmechanismus, der dazu dient, die Sicherheit von Websites zu erhöhen, indem er sicherstellt, dass Browser ausschließlich über HTTPS, also eine verschlüsselte Verbindung, mit den Servern kommunizieren. Dieses Protokoll hilft, bestimmte Arten von Angriffen, wie Man-in-the-Middle-Attacken, zu verhindern. Es ist auch möglich, diese Anweisung auf alle Subdomains (wie blog.domain.de) auszugeweiten. Voraussetzung zur Nutzung von HSTS ist freilich, dass für die Website / Domain ein gültiges SSL-Zertifikat vorhanden ist.

7. Sicherheitstests
Führen Sie regelmäßig Sicherheitstests und Penetrationstests durch, um Schwachstellen in Ihrer Website aufzudecken und zu beheben. Die Online Now! Hosting-Experten beraten Sie gern dazu. Jetzt unverbindlich Kontakt mit uns aufnehmen!

Zusammenfassung

XSS und CSRF sind ernsthafte Bedrohungen für Websites, die erheblichen Schaden anrichten können. Durch die Implementierung bewährter Sicherheitsmaßnahmen und die Sensibilisierung Ihres Entwicklungsteams und Ihrer Benutzer können Sie sich wirksam vor diesen Angriffen schützen. Die Sicherheit Ihrer Website sollte immer oberste Priorität haben, um das Vertrauen Ihrer Benutzer zu stärken und Ihr Online-Reputation zu schützen.

Sollten Sie weitere Fragen zum Bereich Webhosting haben, können Sie uns gern kontaktieren.