Gebruikers van Red Hat Linux lopen gevaar door een hackaanval waarbij malafide npm-packages hun systemen kunnen infecteren. De aanvallers stelen inloggegevens voor toegang tot gevoelige informatie. Ze misbruikten daarvoor het officiële account van Red Hat voor npm-packages.
Meerdere npm-packages in het officiële npm-kanaal @redhat-cloud-services zijn voorzien van kwaadaardige code die automatisch wordt uitgevoerd bij elke installatie van een npm-package. Dit ontdekten IT-beveiligingsbedrijven Step Security en Aikido gisteren. Npm is een beheertool voor functionele stukken JavaScript-code, de zogeheten packages. Deze pakketten kunnen een volledige applicatie of app zijn, maar kunnen ook slechts componenten voor andere software zijn.
Deze hackaanval misbruikt de toeleveringsketen (supplychain) die veel ontwikkelaars gebruiken om hun eigen producten en diensten te maken. Het officiële Red Hat-account in de npm-repository geniet de status van een vertrouwde bron voor de stukken code. De malafide code in de 32 besmette npm-packages zit onder drie verhullingslagen die securityscanners om de tuin leiden.
Na activering steelt de malware inloggegevens voor diverse ontwikkelaars- en clouddiensten. Dit omvat GitHub Actions, Amazon Web Services, Google Cloud, Microsoft Azure, Kubernetes, HashiCorp Vault, CircleCI en npm zelf. Inloggegevens voor die diensten geven de aanvallers toegang tot gevoelige informatie.
Wormfunctionaliteit
De via Red Hat verspreide malware is ook een zogeheten worm: code die zichzelf kan repliceren en verder verspreiden. Het gebruikt daarvoor gestolen npm-toegangstokens en de ingebouwde mogelijkheid van npm om tweefactorauthenticatie te omzeilen. Hierdoor kan deze malware zelfstandig een backdoor implanteren in andere npm-packages. Deze wormfunctionaliteit laat geïnfecteerde computers weer andere systemen besmetten, zonder dat de aanvallers dit zelf of direct doen.
Het is nog niet duidelijk hoe de aanvallers toegang kregen tot het officiële npm-kanaal van Red Hat. Volgens Ars Technica is het bijna zeker dat de inloggegevens voor het npm-account van Red Hat zijn gecompromitteerd. Mogelijk is dat te danken aan een eerdere supplychainaanval. Red Hat bevestigt de aanval, meldt dat het de geïnfecteerde packages heeft verwijderd en dat het de zaak onderzoekt.
Aanvalsroute met lange aanloop
Step Security meldt dat alle geïnfecteerde packages uit het @redhat-cloud-services-kanaal komen vanaf de GitHub-repository RedHatInsights/javascript-clients, via de authenticatiemogelijkheid OpenID Connect van automatiseringstool GitHub Actions. Deze aanvalsroute wijst er volgens Step Security op dat de ontwikkelomgeving van Red Hat voor continue integratie en ontwikkeling (ci/cd) is gecompromitteerd. Dit zou dan een lange aanloop betekenen voor deze hackaanval die een flink bereik blijkt te hebben.
Tweakers heeft eerder een achtergrondverhaal over supplychainaanvallen via npm-packages gepubliceerd. Vorig jaar waren er diverse aanvallen via het krachtige en dus ook risicovolle systeem voor distributie en gebruik van stukken softwarecode.