In über zwei Dutzend NPM-Paketen wurde ein neuer Software-Supply-Chain-Angriff gefunden, der darauf abzielt, Daten aus Anwendungen und Websites zu extrahieren.
Gefahr -
Anfang dieses Monats identifizierte ReversingLabs IconBurst, einen JavaScript-NPM-Angriff installiert bösartige NPM-Module, die Daten aus Formularen sammeln, die in mobile Anwendungen und Websites eingebettet sind.
Ausbreitung -
Die Ausbreitung des Angriffs ist zum jetzigen Zeitpunkt noch nicht vollständig klar, er birgt jedoch das Potenzial, Websites und Apps massenhaft zu infizieren, die von Entwicklern mithilfe dieser Pakete erstellt wurden. Da jeder Entwickler mehrere Websites erstellen kann, ist die Bedrohung größer. Da einige der Pakete Zehntausende Male heruntergeladen werden, könnte das geschätzte Ausmaß genauso groß sein wie frühere Masseninfektionen wie Log4J und SolarWinds. Während Log4J weiter verbreitet war und SolarWinds größere Auswirkungen hatte, kann der letztendliche Schaden genauso groß sein.
Technik -
Die Pakete verwenden jQuery-Skripte, die darauf abzielen, Daten aus bereitgestellten Anwendungen zu stehlen.
Darüber hinaus verwendet IconBurst einen JavaScript-Obfuscator, um einen Teil des Codes zu verbergen. Ein Obfuscator dient normalerweise dazu, proprietären Code in Open-Source-Paketen zu schützen und JavaScript-Dateien zu komprimieren. IconBurst verwendet es jedoch, um die Exfiltrationsadresse zu verbergen, die bei der Extraktion serialisierter Formulardaten verwendet wird.
Das bedeutet, dass nicht die Entwickler, die diese gefälschten Pakete unwissentlich verwenden, das Ziel des Angriffs sind, sondern der Endbenutzer.
Infektion –
Seit Anfang dieses Jahres wurden 24 Pakete identifiziert, die Typosquatting-Methoden als Verbreitungsmittel nutzen.
Angreifer nutzen Typosquatting-Techniken, das heißt, sie geben sich über öffentliche Repositorys wie NPM als legitime Pakete aus.
IconBurst konzentriert sich auf Pakete, die das Wort „Icon“ enthalten, sich als stark frequentierte NPM-Module ausgeben und Pakete mit verwirrenden, häufig falsch geschriebenen Namen anbieten.
Typosquatting ist eine Form eines Cybersquatting-Angriffs und eine Form eines Social-Engineering-Angriffs.
Warum „icon“ als Basisschlüsselwort verwenden – der Grund ist wahrscheinlich das ionicons-Paket, das häufig verwendet wird, um Symbole in Anwendungen bereitzustellen, die mit dem ionic-Framework erstellt wurden.
Mit einer Downloadzahl von über 17000 für das Icon-Paket, dem mit Abstand am häufigsten heruntergeladenen Paket, und über 3700 für das ionicio-Paket.
Flagge -
Also was gemacht ReversingLabs die sprichwörtliche rote Fahne hissen? Javascript-Verschleierer.
Wie bereits erwähnt, soll ein Javascript-Obfuscator Javascript-Anwendungen schützen. Er ermöglicht es Entwicklern, Code vor Kopieren oder Reverse Engineering zu schützen.
Der Nachteil dieser Fähigkeit besteht jedoch darin, dass sie von Angreifern ausgenutzt werden kann, um bösartigen Code zu verschleiern.
Das Vorhandensein eines Javascript-Obfuscators veranlasste die Ingenieure von ReversingLabs, eine Reihe von NPM-Paketen zu untersuchen. Als sie sich die Namen dieser Pakete ansahen, tauchten ein Muster auf. Einige der ersten inspizierten Pakete enthielten das Wort „Icon“, und da wurde die Strategie der Angreifer klar: Typo-Squat und Masseninfizierung.
Die Angreifer versuchten zwar nicht, speziell auf Pakete mit dem Wort „Icon“ zu zielen, letztlich waren jedoch die meisten heruntergeladenen Pakete aufgrund ihrer Beliebtheit mit Symbolen verbunden.
Hance – „IconBurst“
Hier ist die Liste:
Name des Autors/Pakets | Anzahl der Downloads | Ursprünglicher Paketname |
---|---|---|
ionisches-Symbol | 108 | Ionicons |
ionisch | 3,724 | Ionicons |
Icon-Paket | 17,774 | Ionicons |
Ajax-Libs | 2,440 | |
Regenschirme | 686 | Regenschirmjs |
Ajax-Bibliothek | 530 | |
Icon-Paket | 101 | |
Paket-Sidr | 91 | |
kbrstore | 89 | |
Icons-Paket | 380 | |
subek | 99 | |
Paket-Show | 103 | |
Paket-Symbol | 122 | |
Icons-Pakete | 170 | |
ionicon-paket | 64 | |
Icons-Paket | 49 | |
Pack-Symbole | 468 | |
ionicons-pack | 89 | |
Paket-Ionicons | 144 | |
Paket-ionicon | 57 | |
base64-Javascript | 40 | |
ionicons-js | 38 | |
ionicons-json | 39 | |
Fußsymbol | 1,903 | |
Brüllen-01 | 40 | |
Brüllen-02 | 37 | |
wkwk100 | 38 | |
Swiper-Bundie | 39 | Swiper |
ajax-libz | 40 | |
Swiper-Bündel | 185 | Swiper |
atez | 43 | |
ajax-googleapis | 38 | |
tezdoank | 69 | |
Ajaxapis | 40 | |
tescodek | 38 | |
atezzz | 114 | |
libz.jquery | 160 | |
Ajax-Bibliothek | 36 |
Absicht -
IconBurst wurde entwickelt, um den Endbenutzer anzusprechen und in Formulare eingegebene Daten zu erfassen. Andere Angriffe können auf andere Arten von Daten oder andere Zielgruppen abzielen und nicht auf Endbenutzer.
Aber sind Angreifer immer auf der Suche nach Daten? Eigentlich nein, das sind sie nicht. Wir haben andere Arten von Angriffen gesehen; Angreifer haben in Paketen versteckten Code verwendet und es geschafft, Crypto-Miner zu installieren, die auf die Ressourcen (Rechenleistung) der angegriffenen Maschinen abzielen und deren Daten überhaupt nicht beeinträchtigen.
Zusammenfassung -
IconBurst demonstriert die Fähigkeit, eine letztlich eher einfache Technologie zu nutzen, ein JavaScript-Verschleierer, der bösartigen Code verschleiert und sich über öffentliche Repositorys wie NPM als legitime Pakete ausgibt.
Das wahre Ass im Ärmel von IconBurst ist Social Engineering, keine hochentwickelte Technologie, und es kann genauso effektiv sein.
Diese Inhalte werden Ihnen von Scribe Security zur Verfügung gestellt, einem führenden Anbieter von End-to-End-Sicherheitslösungen für die Software-Lieferkette, der modernste Sicherheit für Code-Artefakte sowie Code-Entwicklungs- und Bereitstellungsprozesse in der gesamten Software-Lieferkette bietet. Weitere Informationen.