Wir freuen uns, Ihnen heute Page Shield vorstellen zu können: ein Sicherheitsprodukt, mit dem Kunden Angriffe in Browsern von Endnutzern erkennen können.
2015 begann eine Hackergruppe namens Magecart, Zahlungsinformationen von Online-Shops zu stehlen, indem sie Abhängigkeiten von Drittanbietern mit bösartigem Code infizierte. Der infizierte Code wurde von Endbenutzer-Browsern angefordert, wo er ausgeführt wurde und auf Nutzerinformationen auf der Webseite zugriff. Nach dem Abgreifen der Informationen sendet der infizierte Code diese an die Hacker, wo sie weiterverkauft oder für weitere Angriffe wie Kreditkartenbetrug und Identitätsdiebstahl verwendet werden.
Seither waren unter anderem Ticketmaster, Newegg und British Airways Opfer solcher Supply-Chain-Angriffe. Der Angriff auf British Airways beruhte auf der Kompromittierung einer ihrer selbst gehosteten JavaScript-Dateien, wodurch die Daten von fast 500.000 Kunden für Hacker zugänglich wurden. Der Angriff führte zu DSGVO-Strafen und der größten Sammelklage im Bereich Datenschutz in der Geschichte des Vereinigten Königreichs. Insgesamt waren Millionen von Nutzern von diesen Angriffen betroffen.
Sicheren Code innerhalb eines Unternehmens zu schreiben, ist schon schwierig genug, auch ohne sich mit Drittanbietern auseinandersetzen zu müssen. Viele SaaS-Plattformen stellen den Code von Drittanbietern für Millionen von Websites bereit. Darum kann eine einzige Kompromittierung verheerende Folgen haben. Page Shield unterstützt Kunden bei der Überwachung dieser potenziellen Angriffsvektoren und verhindert, dass vertrauliche Nutzerdaten in die Hände von Hackern gelangen.
Anfang dieser Woche haben wir die Remote-Browserisolierung für alle angekündigt, um clientseitige Angriffe in den Browsern Ihrer Mitarbeiter abzuwehren. Page Shield setzt die Bemühungen von Cloudflare im Bereich der clientseitigen Sicherheit fort, indem es hilft, Angriffe auf Ihre Kunden abzuwehren.
Hintergrund
Ein Magecart-ähnlicher Angriff ist eine Art von Software-Supply-Chain-Angriff, der im Browser eines Benutzers ausgeführt wird. Angreifer zielen auf die Hosts von JavaScript-Abhängigkeiten von Drittanbietern ab und erlangen die Kontrolle über den Quellcode, der den Browsern bereitgestellt wird. Wenn der infizierte Code ausgeführt wird, versucht er häufig, vertrauliche Daten zu stehlen, die Nutzer auf der Website eingeben, wie z. B. Kreditkartendaten während des Bestellvorgangs.
Diese Angriffe sind schwer zu erkennen, da viele Anwendungsbetreiber darauf vertrauen, dass JavaScript-Code von Drittanbietern wie vorgesehen funktioniert. Aufgrund dieses Vertrauens wird der Code von Drittanbietern nur selten vom Anwendungsbetreiber geprüft. In vielen Fällen haben Magecart-Angriffe Monate gedauert, bevor sie entdeckt wurden.
Die Exfiltration von Daten ist nicht das einzige Risiko, das von Software-Supply-Chains ausgeht. In den letzten Jahren haben wir auch beobachtet, dass Hacker den Code von Drittanbietern modifiziert haben, um Nutzern betrügerische Werbung anzuzeigen. Nutzer klicken auf diese Werbung und gelangen auf Phishing-Seiten, wo ihre persönlichen Daten von den Hackern gestohlen werden. Andere JavaScript-Malware war für die Angreifer beim Mining von Kryptowährungen behilflich und nutzte die Ressourcen der Nutzer, was die Performance der Website beeinträchtigte.
Was können sich die Anwendungsbetreiber also schützen? Bestehende Browsertechnologien wie Content Security Policy (CSP) und Subresource Integrity (SRI) bieten einen gewissen Schutz gegen clientseitige Bedrohungen, haben aber auch einige Nachteile.
CSP ermöglicht es den Anwendungsbetreibern, eine Genehmigungsliste an den Browser zu senden, welche die Ausführung von Ressourcen, die nicht in der Liste aufgeführt sind, verhindert. Dadurch können zwar bestimmte Cross-Site-Scripting-Angriffe (XSS) verhindert werden, aber es wird nicht erkannt, wenn bestehende Ressourcen von einem harmlosen zu einem bösartigen Zustand verändert werden. Die Verwaltung von CSP ist auch in betrieblicher Hinsicht eine Herausforderung, da die Entwickler die Genehmigungsliste jedes Mal aktualisieren müssen, wenn ein neues Skript auf der Website hinzugefügt wird.
SRI ermöglicht es den Anwendungsbetreibern, einen erwarteten Datei-Hash für JavaScript und andere Ressourcen anzugeben. Wenn die abgerufene Datei nicht mit dem Hash übereinstimmt, wird ihre Ausführung blockiert. Das Problem bei SRI ist, dass die Anbieter ihren Code häufig aktualisieren und in bestimmten Fällen unterschiedliche Dateien an verschiedene Nutzer ausgeben. Wir haben auch festgestellt, dass JavaScript-Anbieter Endnutzern manchmal versionierte Dateien mit unterschiedlichen Hashes ausgeben, die auf kleine Unterschiede wie z. B. die Abstände zurückzuführen sind. Dies könnte dazu führen, dass SRI legitime Dateien ohne Zutun des Anwendungsbetreibers blockiert.
Script Monitor ist die erste verfügbare Page Shield-Funktion
Script Monitor ist der Anfang der Ambitionen von Cloudflare für Page Shield. Wenn es aktiviert ist, erfasst es die JavaScript-Abhängigkeiten Ihrer Website über längere Zeiträume. Wenn neue JavaScript-Abhängigkeiten auftauchen, werden Sie von uns benachrichtigt, damit Sie prüfen können, ob es sich um erwartete Änderungen an Ihrer Website handelt. So können Sie feststellen, ob böswillige Akteure Ihre Anwendung geändert haben, um eine neue, bösartige JavaScript-Datei anzufordern. Sobald die Beta-Phase abgeschlossen ist, werden diese ersten Funktionen für Business- und Enterprise-Kunden ohne Aufpreis zur Verfügung gestellt.
Wie funktioniert Script Monitor?
Aufgrund der einzigartigen Position von Cloudflare zwischen den Ursprungsservern der Anwendungen und den Nutzern können wir Antworten ändern, bevor sie die Nutzer erreichen. In diesem Fall fügen wir Webseiten, deren Daten unsere Edge passieren, die Kopfzeile „Content-Security-Policy-Report-Only“ hinzu. Das hat zur Folge, dass der Browser einen Bericht an Cloudflare sendet, wenn auf solchen Seiten versucht wird, JavaScript-Dateien auszuführen. Da wir einen reinen Report-Header verwenden, ist es für die Anwendungsbetreiber nicht erforderlich, Genehmigungslisten für relevante Erkenntnisse zu unterhalten.
Für jeden Bericht, den wir betrachten, vergleichen wir die JavaScript-Datei mit den historischen Abhängigkeiten der betreffenden Zone und prüfen, ob die Datei neu ist. Ist dies der Fall, lösen wir eine Benachrichtigung aus, damit die Kunden nachforschen und feststellen können, ob die Änderung erwartet wurde.
Die Script Monitor UI befindet sich unter Firewall -> Page Shield
Als Beta-Teilnehmer sehen Sie die Registerkarte „Page Shield“ unter dem Abschnitt „Firewall“ in Ihrem Zonen-Dashboard. Dort finden Sie die Tabelle Script Monitor, in der Sie die JavaScript-Abhängigkeiten Ihrer Zone überprüfen können. Für jede Abhängigkeit können Sie das Datum, an dem sie zum ersten Mal gesehen wurde, das Datum, an dem sie zum letzten Mal gesehen wurde, und die Host-Domain, in der sie entdeckt wurde, anzeigen.
Beispiel für E-Mail-Benachrichtigung bei neu gefundenen JavaScript-Abhängigkeiten
Sie können auch Script Monitor-Benachrichtigungen im Dashboard konfigurieren. Diese Benachrichtigungen senden Benachrichtigungen an E-Mail oder PagerDuty, sobald eine neue JavaScript-Datei von Ihrer Website angefordert wird.
Der Blick nach vorn
Unser Ziel ist es, ein besseres Internet zu schaffen. Dies gilt auch für Endnutzer-Browser, bei denen wir in den letzten Jahren eine alarmierende Zunahme von Angriffen beobachten konnten. Mit Page Shield helfen wir Anwendungen, diese schwer fassbaren Angriffe zu erkennen und abzuwehren, um die sensiblen Daten ihrer Nutzer zu schützen.
Wir sind bereits dabei, Codeänderungen in Script Monitor zu erkennen. Die Code-Änderungserkennung ruft regelmäßig die JavaScript-Abhängigkeiten Ihrer Anwendung ab und analysiert deren Verhalten. Wenn neues Code-Verhalten in bestehenden Dateien erkannt wird, werden Sie benachrichtigt, damit Sie die Änderung überprüfen und feststellen können, ob es sich bei dem neuen Code um ein harmloses Update oder um einen infizierten Code handelt.
Nach der Erkennung von Codeänderungen folgt die intelligente Analyse von JavaScript-Dateien. Anwendungsbetreiber bei Änderungen ihrer Abhängigkeiten zu benachrichtigen, bietet diesen zwar einen Einblick in Dateien, die für sie von Interesse sind, aber wir müssen noch mehr bieten. Wir haben mit unseren Sicherheitspartnern zusammengearbeitet, um Proben von Magecart-JavaScript zu sammeln, und wir haben bewiesen, dass wir bösartige JavaScript-Proben genau klassifizieren können. Wir planen, unsere Techniken weiter zu verfeinern und schließlich damit zu benachrichtigen, Page Shield-Kunden zu alarmieren, wenn wir glauben, dass ihre Abhängigkeiten schädlich sind.
Wir haben mit unseren Kunden gesprochen und wissen, dass die Pflege von CSP-Genehmigungslisten eine Herausforderung für den Betrieb darstellt. Wenn neues clientseitiges JavaScript eingesetzt wird, ohne dass es in die Genehmigungsliste aufgenommen wurde, wird dieser neue Code von den Browsern blockiert. Deshalb werden wir unsere Position als Reverse-Proxy nutzen, um negative Sicherheitsmodelle zu blockieren. Dadurch können Anwendungsbetreiber einzelne Skripte blockieren, ohne eine Genehmigungsliste führen zu müssen, wodurch sichergestellt wird, dass Kunden neuen Code ohne lästigen Verwaltungsaufwand bereitstellen können.
Für die Beta-Version anmelden
Ab heute können sich alle Business- und Enterprise-Kunden hier anmelden, um an der geschlossenen Beta-Version von Page Shield teilzunehmen. Durch die Teilnahme an der Beta können die Kunden Script Monitor aktivieren und mit der Überwachung des JavaScript ihrer Website beginnen.