Schutz vor Scripting-Angriffen

Sicherheit ist für jede E-Commerce-Site unerlässlich. Ein Verstoß gegen die Zahlungsdaten oder persönlichen Daten des Kunden könnte ein Unternehmen umbringen.

Aber eine E-Commerce-Site hat auch andere Sicherheitsrisiken. Ein gängiges Verfahren ist das Cross-Site-Scripting. Jede Website, die Formulare, Suchen oder sogar ein administratives Backend verwendet, ist anfällig – im Wesentlichen jeder Online-Shop.

Es gibt viele Formen von Cross-Site-Scripting oder XSS. Sie tritt auf, wenn ein Angreifer Code zu einer Webseite hinzufügt und der Code dann im Browser eines ahnungslosen Benutzers ausgeführt wird, was zu Schäden führt. Neunundneunzig Prozent der Zeit ist dieser Code JavaScript.

Eine Webseite ist anfällig für einen XSS-Angriff, wenn sie die Benutzereingaben nicht korrekt entfernt. Wenn beispielsweise ein Kommentarformular es jemandem erlaubt, HTML hinzuzufügen, könnte ein Angreifer einen Kommentar posten, der den Angriffscode enthält.

Der übliche Weg, dies zu tun, ist, einen JavaScript-Quelllink mit Hilfe des Skript-Tags hinzuzufügen. Dies führt dazu, dass der Browser das JavaScript herunterlädt und ausführt, wodurch die Daten des Benutzers gestohlen werden können.

Ziele von XSS

Authentifizierungsdaten wie Benutzername, Passwort oder Token sind ein gemeinsames Ziel. Wenn ein Angreifer diese stehlen kann, kann er sich als Benutzer mit vollem Zugriff auf das Benutzerkonto anmelden.

Der Angreifer könnte beispielsweise die Lieferadresse für eine wiederkehrende Bestellung ändern oder eine Karte für betrügerische Bestellungen verwenden. Sobald sich der Angreifer anmeldet, wird es sehr schwierig, den Unterschied zwischen dem legitimen Benutzer und dem Angreifer zu erkennen.

Eine Möglichkeit der Erkennung besteht darin, den üblichen Standort eines Benutzers zu verfolgen und ihn mit dem Angreifer zu vergleichen. Wenn sich der Benutzer aus Texas einloggt und plötzlich viele Anmeldungen aus einem anderen Staat oder Land vorliegen, ist das ein Zeichen dafür, dass das Konto gehackt wurde.

Noch kritischer sind XSS-Angriffe, die die Authentifizierungsdaten eines Administrators stehlen. Mit administrativem Zugriff kann ein Angreifer beispielsweise Hunderte von betrügerischen Bestellungen erstellen, die Weiterleitung von Zahlungsbelegen ändern oder alle Daten in Ihrem Geschäft löschen.

Das ist der schlimmste Fall. Es ist auch ein Grund, starke Sicherheitspraktiken für Administratorkonten zu haben.

Ihr Shop sammelt weitere Daten, wie z.B. Adresse und Bestellinformationen. Sie sind vielleicht nicht so kritisch wie Zahlungsdaten oder Login-Daten, aber es könnte dennoch zu einem großen Problem für den Kundenservice führen, wenn sie verletzt werden. Das ist besonders dann der Fall, wenn der Kunde ein Prominenter ist. Die Offenlegung ihrer Wohnadresse oder welche Produkte sie bestellt hat, könnte einen Skandal auslösen.

Verhindern von XSS-Angriffen

XSS-Angriffe zu verhindern ist nicht einfach. Alle Formen von Benutzereingaben können ein Sicherheitsrisiko darstellen. Mit dem Aufkommen von nutzergenerierten Inhalten ist das Web viel interaktiver. Daher sind XSS-Angriffe üblich.

Eine gute Möglichkeit, XSS-Angriffe zu verhindern, besteht darin, alle von einem Benutzer eingegebenen Daten zu bereinigen. Das nennt man „Entschärfung der Eingabe“. Es entfernt oder macht jegliches HTML oder JavaScript von einem Benutzer unschädlich. Viele Code-Bibliotheken und E-Commerce-Plattformen tun dies standardmäßig.

Das Problem ist, dass die Entschärfung von Eingaben die Möglichkeiten eines rechtmäßigen Benutzers einschränkt. Es könnte z.B. einen Benutzer daran hindern, bestimmte Wörter in einem Blog-Kommentar zu fetten oder auf eine andere Seite zu verlinken.

Es könnte riskant sein, nur ein paar scheinbar sichere Tags zuzulassen. Auch Nicht-JavaScript-Tags wie ein Link oder ein Bild können ein sorgfältig erstelltes XSS auslösen.

Viele XSS-Angriffe versuchen, die Authentifizierungs-Cookies eines Benutzers zu stehlen. Es gibt einen einfachen, integrierten Schutz namens „HttpOnly“, der verhindert, dass JavaScript auf Cookies zugreift. Es ist eine Option auf das Cookie, die gesetzt werden muss. Es blockiert auch Ihr eigenes JavaScript, aber es ist eine einfache Möglichkeit, eine weitere Schutzebene hinzuzufügen.

Wie verwundbar sind Sie?

XSS kann die meisten E-Commerce-Websites angreifen. Dabei spielt es keine Rolle, ob es sich um Open Source, eine gehostete Plattform oder gekaufte Software handelt.

Open-Source-Systeme sind in der Regel schnell in der Lage, ein XSS oder ein anderes Sicherheitsproblem zu beheben. Viele werden schnell eine neue Version veröffentlichen. Minimieren Sie Ihr Risiko, indem Sie Ihre Systeme auf dem neuesten Stand halten.

Gehostete Plattformen beheben auch XSS-Probleme zeitnah. Oftmals werden Händler nicht wissen, dass eine Sicherheitslücke geschlossen wurde, da ihre Seiten automatisch aktualisiert wurden. Ein Nachteil der gehosteten Plattformen ist, dass die gleiche Software in der Regel jeden Laden mit Strom versorgt. So kann ein Angreifer den Zugang zu einem Geschäft entdecken und dann jede andere Seite auf der Plattform angreifen.

Kommerzielle Software-Sicherheit variiert. Die guten werden sofort eine neue Version veröffentlichen, sobald ein Sicherheitsproblem behoben ist. Aber ein Händler könnte für das Upgrade am Haken sein.

Die XSS-Schwachstelle gilt auch für Plugins, Anwendungen und Systeme von Drittanbietern. Wenn Sie eine beliebte Anwendung verwenden, wird sie im Falle eines XSS-Angriffs wahrscheinlich schnell aktualisiert und gesichert.

Schließlich, wenn Ihr Geschäft benutzerdefinierten Code verwendet, fällt all dies auf Sie und Ihr Team. Es gibt viele gängige Praktiken für Entwickler, um Ihren Code zu prüfen und zu sichern. Selbst dann könnte man noch gelegentlich krabbeln.