Sie sind an Cloud Computing interessiert? Legen Sie jetzt los

Untersuchung des Polyfill-Angriffs aus der Sicht von Akamai

Gal Meiri

Verfasser

Gal Meiri

July 02, 2024

Gal Meiri

Verfasser

Gal Meiri

Gal Meiri ist Senior Security Researcher mit umfangreicher Erfahrung in den Bereichen clientseitige Bedrohungen und Browserfunktionen. Meiri leitet das Page Integrity Manager Threat Research-Team bei Akamai. Als Forscher untersucht Gal Meiri unterschiedliche clientseitige Bedrohungen, darunter Webskimmer und Magecart-Angriffe. In der Vergangenheit hat er sich auf clientseitiges Nutzer- und Geräte-Fingerprinting und auf die Bot-Erkennung spezialisiert.

Der polyfill.io-Angriff auf die Lieferkette verdeutlicht die kritischen Schwachstellen in der modernen Webanwendungsentwicklung.
Der polyfill.io-Angriff auf die Lieferkette verdeutlicht die kritischen Schwachstellen in der modernen Webanwendungsentwicklung.

Redaktion und weitere Kommentare von Tricia Howard

Der polyfill.io-Angriff auf die Lieferkette: eine Übersicht

Vor kurzem wurde die Sicherheits-Community auf einen großen Angriff auf die Lieferkette aufmerksam gemacht, der polyfill.io betraf, einen Service, der Polyfills (ein Stück JavaScript-Code, das moderne Funktionen in älteren Browsern ermöglicht, die diese nicht regulär unterstützen) für Webanwendungen bereitstellt. Ausführlichen Berichten zufolge waren mehr als 100.000 Websites von diesem Angriff betroffen. Dabei wurde das Vertrauen in den Service polyfill.io und dessen weit verbreitete Nutzung missbraucht, um Schadcode zu verbreiten.

Bei diesem Angriff hat ein Cyberkrimineller, der offenbar in China ansässig ist, vor einigen Monaten eines der beliebtesten Open-Source-Polyfill-Projekte übernommen und den Polyfill-JavaScript-Code infiziert, indem er schädliche Skripte in die verteilten Polyfills einschleuste. Der Angriff zielte in erster Linie auf Mobilgeräte ab, wobei selektive Samplings von Sitzungen durchgeführt werden, um unauffällig zu bleiben und schwerer entdeckt zu werdenstammt. Der Schadcode wurde dann für einen Redirection-Angriff verwendet, bei dem Nutzer auf betrügerische Websites umgeleitet wurden.

Durch die Einbindung dieser kompromittierten Polyfills in ihre Websites haben Entwickler unwissentlich Schadcode in ihre Anwendungen eingeschleust. In diesem Blogbeitrag diskutieren wir diesen speziellen Angriff – und Angriffe auf die Lieferkette im Allgemeinen – sowie exklusive Daten, die wir beobachtet haben, aus der Perspektive von Akamai Client-Side Protection & Compliance.

Was ist ein Angriff auf die Lieferkette?

Ein Angriff auf die Lieferkette zielt auf Schwachstellen in der Lieferkette eines Unternehmens ab. Im Kontext von Online-Webanwendungen laden moderne Websites Dutzende von Ressourcen von Drittanbietern als Teil der normalen Website-Funktionalität. Diese Ressourcen werden von den Website-Eigentümern als vertrauenswürdig eingestuft und haben in der Regel vollen Zugriff auf die Website, einschließlich des Document Object Model (DOM), der Cookies und der vertraulichen Informationen, die von den Endnutzern eingegeben werden.

Die Überwachung und Nachverfolgung dieser Ressourcen ist aufgrund ihrer großen Anzahl, der häufigen Änderungen und der fehlenden clientseitigen Transparenz äußerst schwierig. Dieses Vertrauen kann von Angreifern ausgenutzt werden, die diese Services von Drittanbietern verwenden, um Webanwendungen zu kompromittieren. Bei diesen Angriffen wird in der Regel Schadcode in legitime Bibliotheken oder Services von Drittanbietern eingeschleust, der dann unwissentlich an die Endnutzer weiterverbreitet wird.

Laut einer Studie der Akamai Security Intelligence Group stammen 50 % der auf E-Commerce-Websites verwendeten JavaScripts aus Drittquellen. Im Durchschnitt sehen wir Code von Dutzenden verschiedener Drittanbieter auf den Zahlungsseiten unserer Kunden, die nun die neuen PCI DSS v4.0-Anforderungen 6.4.3 und 11.6.1 erfüllen müssen..

Der Polyfill-Angriff aus der Sicht von Akamai

Der Polyfill-Angriff wird über die angegriffene Website als JavaScript-Code weiterverteilt, der von cdn.polyfill.iostammt. Der Angriff verwendet sowohl server- als auch clientseitige Samples. Auf der Serverseite werden Anfrageheader wie der User-Agent untersucht, um nur Mobilgeräte anzuvisieren, die bestimmte Voraussetzungen erfüllen. Für andere Geräte liefert der Polyfill-Server den ursprünglichen Polyfill-Code oder eine leere Antwort für moderne Browser.

Das Sampling ist nicht auf die Serverseite beschränkt. Während der Ausführung prüft der Code auch den Gerätetyp auf Clientseite anhand seines eigenen JavaScripts. Außerdem wählt er Ziele auf der Grundlage des Seiten-Referrers und der lokalen Gerätezeit aus. Wenn das schädliche JavaScript seinen Angriff ausführt, kommuniziert es mit einem Server unter googie-anaiytics[.]com.

Wir konnten die Ausführung von schädlichem JavaScript auf der Website überwachen, einschließlich der Kommunikation mit dem Server. Wenn verdächtige Aktivitäten entdeckt wurden, wurde bei den betroffenen Kunden ein Alarm ausgelöst. Agilität ist das A und O bei jeder Bedrohung. Die Fähigkeit, schnell zu reagieren, ist entscheidend, um die Reichweite eines Angriffs zu begrenzen.

Client-Side Protection & Compliance hat Richtlinien zum Skriptverhalten definiert, um diese Kommunikation zu blockieren und diesen Angriffsweg zu unterbinden. Abbildung 1 zeigt ein Beispiel aus der Praxis: Die Unterbindung dieses Angriffsweges erfolgte in Echtzeit unmittelbar nach Aktivierung der Richtlinie.

Richtlinien zum Skriptverhalten Abb. 1: Richtlinien zum Skriptverhalten von Akamai Client-Side Protection & Compliance

Polyfill.io-Nutzungstrends vor und nach dem Angriff

Wir beobachteten, dass mehr als 40 Kunden Ressourcen von polyfill.io geladen hatten. Bei einigen dieser Kunden waren täglich Zehntausende von Seiten betroffen (Abbildung 2). Diese Zahl umfasst Kunden, die JavaScript-Ressourcen von polyfill.io direkt verwendet haben, Drittanbieter, die diesen Code als Teil ihrer Ausführung eingebunden haben, sowie Ressourcen, die von Browser-Erweiterungen der Endnutzer stammen.

Wir beobachteten, dass mehr als 40 Kunden Ressourcen von polyfill.io geladen hatten. Bei einigen dieser Kunden waren täglich Zehntausende von Seiten betroffen (Abbildung 2). Abb. 2: Beacon-Trend mit geladenen Ressourcen von polyfill.io

Unsere Daten stammen aus Akamai Client-Side Protection & Compliance, das JavaScript-Ausführungen aktiv und in Echtzeit überwacht und analysiert, um die Zeit bis zur Problemlösung zu verkürzen, unabhängig davon, ob es sich um einen Erstanbieter oder einen Drittanbieter handelt.

Akamai arbeitet eng mit seinen Kunden zusammen, um effektiv auf den Angriff zu reagieren und seine Auswirkungen zu mindern, wozu auch die Benachrichtigung der betroffenen Kunden über ein Sicherheitsbulletin gehört. Dieser proaktive Ansatz hat zu einem deutlichen Rückgang der Ressourcen geführt, die von dem infizierten Domainnamen stammen, und damit das Risiko für die Kunden von Akamai verringert.

Benötigen Sie Hilfe bei Angriffen auf Ihre Lieferkette?

Akamai Client-Side Protection & Compliance wurde entwickelt, um Kunden vor clientseitigen Angriffen zu schützen, die sowohl von Erstanbietern als auch von Drittanbietern stammen, einschließlich Angriffen auf die Lieferkette.

Die Lösung überwacht JavaScript-Ressourcen in  Webanwendungen, analysiert ihre Ausführung in Echtzeit und stellt fest, ob sie sich verdächtig verhalten. Sie erkennt auch Anomalien im Skriptverhalten und liefert eine detaillierte Analyse jeder JavaScript-Ressource, die in Webanwendungen geladen und ausgeführt wird.

Darüber hinaus bietet Client-Side Protection & Compliance Funktionen zur Abwehr in Echtzeit, die die Ausführung von schädlichen Skripten innerhalb von Sekunden verhindern. Ohne den Code der Webanwendung ändern zu müssen, um verdächtiges Verhalten zu blockieren, können Sicherheitsteams die Reaktionszeit auf einen Angriff drastisch verkürzen. Die Lösung ist in der Lage, den polyfill.io-Angriff und die davon betroffenen Nutzersitzungen zu erkennen und die Ausführung des Angriffs zu stoppen.

Vorteile der Erkennung und Abwehr im Browser

Dieser Angriff zielte nur auf eine kleine Anzahl von Sitzungen ab, insbesondere durch das Herausfiltern von Sitzungen mit ungewöhnlichen User-Agent-Browsern, sodass Lösungen, die nur synthetische Scans auf der Website durchführen, diesen Angriffsfluss möglicherweise übersehen hätten. Einer der Hauptvorteile von Akamai Client-Side Protection & Compliance besteht darin, dass es für jede Nutzersitzung innerhalb des Browsers ausgeführt wird. Es erkennt die Ausführung von schädlichem JavaScript selbst dann, wenn sie auf bestimmte Sitzungen abzielt – und, was noch wichtiger ist, verhindert, dass Angriffe auf der Seite ausgeführt werden, sobald die Schutzrichtlinie aktiviert ist (Abbildung 3).

Akamai Client-Side Protection & Compliance Abb. 3: Akamai Client-Side Protection & Compliance bietet eine detaillierte Analyse für jede JavaScript-Ressource, die auf der Kundenwebsite erkannt wird

Fazit

Der polyfill.io-Angriff auf die Lieferkette verdeutlicht die kritischen Schwachstellen in der modernen Webanwendungsentwicklung. Die Abhängigkeit von Ressourcen von Drittanbietern kann zu unbeabsichtigten Sicherheitsrisiken führen, selbst wenn alle angemessenen Schutzmaßnahmen getroffen wurden. Dieser Vorfall, von dem mehr als 100.000 Websites betroffen waren, hat gezeigt, wie leicht vertrauenswürdige Services kompromittiert werden können, um Schadcode zu verbreiten und so die Sicherheit und das Vertrauen der Nutzer zu beeinträchtigen.

Die Überwachung solcher Bedrohungen ist das Ziel der Akamai Security Intelligence Group – sowohl für unsere Kunden als auch für die Sicherheitsgemeinschaft im Allgemeinen. Wir werden das Bedrohungsökosystem weiterhin beobachten und Beiträge über unsere Beobachtungen veröffentlichen. Um Updates in Echtzeit zu erhalten, folgen Sie uns auf X(ehemals Twitter) oder besuchen Sie unsere Sicherheitsforschungsseite .



Gal Meiri

Verfasser

Gal Meiri

July 02, 2024

Gal Meiri

Verfasser

Gal Meiri

Gal Meiri ist Senior Security Researcher mit umfangreicher Erfahrung in den Bereichen clientseitige Bedrohungen und Browserfunktionen. Meiri leitet das Page Integrity Manager Threat Research-Team bei Akamai. Als Forscher untersucht Gal Meiri unterschiedliche clientseitige Bedrohungen, darunter Webskimmer und Magecart-Angriffe. In der Vergangenheit hat er sich auf clientseitiges Nutzer- und Geräte-Fingerprinting und auf die Bot-Erkennung spezialisiert.