In ruim twintig NPM-pakketten werd een nieuwe software-supply chain-aanval aangetroffen, ontworpen om gegevens uit applicaties en websites te extraheren.
Bedreiging -
Eerder deze maand identificeerde ReversingLabs IconBurst, een JavaScript NPM-aanval die installeert kwaadaardige NPM-modules die gegevens verzamelen uit formulieren die zijn ingebed in mobiele applicaties en websites.
Verspreiding -
De verspreiding van de aanval is op dit moment nog niet helemaal duidelijk, maar het heeft de potentie om websites en apps, die zijn gebouwd door ontwikkelaars die deze pakketten gebruiken, massaal te infecteren. Omdat elke ontwikkelaar meerdere sites kan bouwen, wordt de dreiging vergroot. Omdat sommige pakketten tienduizenden keren worden gedownload, zou de geschatte omvang net zo wijdverspreid kunnen zijn als eerdere massale infecties zoals Log4J en SolarWinds. Hoewel Log4J wijdverspreider was en SolarWinds een grotere impact had, kan de uiteindelijke schade net zo groot zijn.
Techniek –
De pakketten gebruiken jQuery-scripts die bedoeld zijn om gegevens uit geïmplementeerde applicaties te stelen.
Bovendien gebruikt IconBurst een JavaScript-obfuscator om een deel van de code te verbergen. Een obfuscator is normaal gesproken bedoeld om bedrijfseigen code in open-sourcepakketten te beschermen en JavaScript-bestanden te comprimeren. IconBurst gebruikt het echter om het exfiltratie-adres te verbergen dat wordt gebruikt bij de extractie van geserialiseerde formuliergegevens.
Dit betekent dat de ontwikkelaars die deze neppakketten onbewust gebruiken, niet het doelwit van de aanval zijn, maar dat het echte doelwit de eindgebruiker is.
infectie –
Sinds begin dit jaar zijn er 24 pakketten geïdentificeerd die gebruik maken van typosquatting als distributiemiddel.
Aanvallers maken gebruik van typosquatting-technieken, wat inhoudt dat legitieme pakketten worden nagebootst via openbare opslagplaatsen zoals NPM.
IconBurst richt zich op pakketten die het woord 'Icon' bevatten, die NPM-modules met veel verkeer nabootsen en pakketten aanbieden met verwarrende veelvoorkomende verkeerd gespelde namen.
Typosquatting is een vorm van een cybersquatting-aanval en een vorm van een social engineering-aanval.
Waarom 'icon' als basissleutelwoord gebruiken - de reden is waarschijnlijk het ionicons-pakket, dat vaak wordt gebruikt om pictogrammen aan te bieden in applicaties die zijn gebouwd met behulp van het ionische raamwerk.
Met een downloadaantal van meer dan 17000 voor het icon-pakket, veruit het meest gedownloade pakket, en meer dan 3700 voor het ionicio-pakket.
Vlag –
Dus wat maakte ReversingLabs de spreekwoordelijke rode vlag hijsen? JavaScript-verduisteraar.
Zoals gezegd is een javascript-obfuscator bedoeld om Javascript-applicaties te beschermen. Het stelt ontwikkelaars in staat code te beschermen tegen kopiëren of reverse-engineering.
Het nadeel van deze mogelijkheid is echter dat deze door aanvallers kan worden misbruikt om kwaadaardige code te verhullen.
De aanwezigheid van een javascript-obfuscator zorgde ervoor dat de ingenieurs van ReversingLabs een aantal NPM-pakketten inspecteerden. Toen ze naar de namen van die pakketten keken, kwam er een patroon naar voren. In een paar van de eerste geïnspecteerde pakketten stond het woord 'icon'. Toen werd de strategie van de aanvallers duidelijk: typfouten maken en massaal infecteren.
De aanvallers probeerden zich niet specifiek te richten op pakketten met het woord icon, maar uiteindelijk waren de meeste gedownloade pakketten icon-gerelateerd, vanwege hun populariteit.
Hance – “IconBurst”
Hier is de lijst:
Auteur/pakketnaam | Aantal downloaden | Originele pakketnaam |
---|---|---|
ionisch-icoon | 108 | ioniconen |
ionicio | 3,724 | ioniconen |
icon-pakket | 17,774 | ioniconen |
ajax-libs | 2,440 | |
paraplu's | 686 | paraplujs |
ajax-bibliotheek | 530 | |
iconie-pakket | 101 | |
pakket-sidr | 91 | |
kbrwinkel | 89 | |
iconen-pakket | 380 | |
subek | 99 | |
pakket-show | 103 | |
pakket-icoon | 122 | |
pictogrammen-pakketten | 170 | |
ionicon-pakket | 64 | |
iconenpakket | 49 | |
pack-iconen | 468 | |
ioniconen-pakket | 89 | |
pakket-ioniconen | 144 | |
pakket-ionicon | 57 | |
base64-javascript | 40 | |
ionicons-js | 38 | |
ionicons-json | 39 | |
voettekst | 1,903 | |
gebrul-01 | 40 | |
gebrul-02 | 37 | |
wkwk100 | 38 | |
swiper-bundie | 39 | swiper |
ajax-libz | 40 | |
swiper-bundel | 185 | swiper |
atez | 43 | |
ajax-googleapis | 38 | |
tezdoank | 69 | |
Ajaxapis | 40 | |
tescodek | 38 | |
atezzz | 114 | |
libz.jquery | 160 | |
Ajax-libary | 36 |
Intentie -
IconBurst is ontworpen om zich op de eindgebruiker te richten en gegevens te verkrijgen die in formulieren zijn ingevoerd. Andere aanvallen kunnen zich richten op andere soorten gegevens of andere soorten doelgroepen in plaats van op eindgebruikers.
Maar zijn aanvallers altijd uit op data? Eigenlijk nee, dat zijn ze niet. We hebben andere soorten aanvallen gezien; aanvallers hebben code gebruikt die verborgen zit in pakketten en zijn erin geslaagd Crypto-miners te installeren, waarbij ze zich richten op de bronnen van de aangevallen machines (rekenkracht) en hun gegevens helemaal niet beïnvloeden.
Overzicht -
IconBurst demonstreert het vermogen om gebruik te maken van wat uiteindelijk vrij eenvoudige technologie is, een JavaScript-obfuscator die kwaadaardige code vermomt en legitieme pakketten nabootst via openbare opslagplaatsen zoals NPM.
De echte troef van IconBurst is dat wel social engineering, geen zeer geavanceerde technologie, en het kan net zo effectief zijn.
Deze inhoud wordt u aangeboden door Scribe Security, een toonaangevende aanbieder van end-to-end software supply chain-beveiligingsoplossingen die state-of-the-art beveiliging levert voor codeartefacten en codeontwikkelings- en leveringsprocessen in de software supply chain. Meer informatie.