Cybercriminelen gebruiken een nieuwe aanvalsvorm om grote techbedrijven aan te vallen. ‘Dependency confusionkraakte de netwerken van Apple, Microsoft, Amazon en tientallen anderen.

Volgens een rapport van Ars Technica heeft een pentester van vier Duitse bedrijven een backdoor achtergelaten in de omgevingen van zijn klanten. De pentester controleerde de weerbaarheid van klanten tegen ‘dependency confusion’, een nieuwe aanvalstactiek die openbare code repositories misbruikt. “Het had slecht kunnen aflopen. Heel slecht”, schreef Dan Goodin van Ars Technica.

De backdoor werd gevonden en de schade is beperkt. Toch wijst het incident op een groter probleem. Dependency confusion, een nieuwe supply chain-aanvalsmethode, kwam in maart 2021 aan het licht. Een onafhankelijke onderzoeker voerde ongeautoriseerde code uit op netwerken van Apple, Microsoft en 33 andere bedrijven. De onderzoeker, Alex Birsan, werd beloond met 130.000 dollar aan bug bounty’s en krediet.

De aanvalsmethode van Birsan sprak cybercriminelen aan. Een paar weken later kwam een andere onderzoeker met bewijs dat Amazon, Slack, Lyft en Zillow het doelwit waren geweest van aanvallers die de methode gebruikten. Er bleken meer dan 200 schadelijke packages te circuleren.

Dependencies creëren zwakke plekken

Dependency confusion maakt misbruik van het vertrouwen dat bedrijven hebben in open source repositories als NMP, PyPI en RubyGems. Sommige bedrijfssoftware maakt automatisch verbinding met openbare repositories om libraries op te halen die nodig zijn voor het draaien van een applicatie. Sommige organisaties zorgen dat de repository op een interne locatie wordt gehost, zodat applicaties niet met openbare bronnen verbinden. Zoals de naam verklapt draait dependency confusion om het verwarren van een doelwit. Slachtoffers worden verleid om libraries van een verkeerde locatie te downloaden; een openbare repository in plaats van een interne.

De aanvalsmethode werkt als volgt. Eerst zoeken hackers naar gelekte JavaScript-code, packages en andere bronnen om de namen te achterhalen van de dependencies die door een beoogde organisatie worden gebruikt. Vervolgens ontwikkelen de hackers een kwaadaardige dependency. De dependency wordt gehost op een bekende, openbare repository. De dependency krijgt dezelfde naam als de dependency die momenteel door een doelwit wordt gebruikt. Het verschil is dat de kwaadaardige dependency een hoger versienummer heeft. Het gevolg is dat de dependency door sommige organisaties wordt gedownload bij het updaten van hun software. Bijvoorbeeld wanneer het doelwit een automatisch updatesysteem gebruikt. Het systeem beschouwt de foute dependency als nieuwe, betrouwbare versie.

“Op deze manier zijn hackers erin geslaagd om vertrouwde software supply chains te infecteren en kwaadaardige code bij doelwitten en hun gebruikers uit te voeren”, schrijft Goodin.

Tip: Conti lekt data van woningcorporaties na aanval op Sourcing Company