Cybersecurity-onderzoekers hebben ontdekt dat toegangspunten kunnen worden misbruikt in meerdere programmeer-ecosystemen zoals PyPI, npm, Ruby Gems, NuGet, Dart Pub en Rust Crates om aanvallen op de software-toeleveringsketen te organiseren.
“Aanvallers kunnen deze toegangspunten gebruiken om kwaadaardige code uit te voeren wanneer specifieke commando’s worden uitgevoerd, wat een wijdverbreid risico vormt in het open-sourcelandschap”, zeggen Checkmarx-onderzoekers Yehuda Gelb en Elad Rapaport in een rapport gedeeld met The Hacker News.
Het softwareleverancier voor de beveiliging van de toeleveringsketen merkte op dat toegangspuntaanvallen bedreigingsactoren een meer sluwe en hardnekkige methode bieden om systemen te compromitteren op een manier die de traditionele beveiligingsmaatregelen kan omzeilen.
Ingangspunten in een programmeertaal als Python verwijzen naar een verpakkingsmechanisme waarmee ontwikkelaars bepaalde functionaliteit kunnen weergeven als opdrachtregelwrapper (ook wel console_scripts genoemd). Als alternatief kunnen ze ook dienen om plug-ins te laden die de functies van een pakket vergroten.
Checkmarx merkte op dat hoewel toegangspunten een krachtige manier zijn om de modulariteit te verbeteren, dezelfde functie kan worden misbruikt om kwaadaardige code te verspreiden onder nietsvermoedende gebruikers. Enkele manieren waarop dit kan gebeuren zijn onder meer het hacken van commando’s en het maken van frauduleuze plug-ins voor verschillende tools en frameworks.
Command-jacking vindt plaats wanneer nagemaakte pakketten toegangspunten gebruiken die populaire tools en commando’s van derden nabootsen (bijvoorbeeld aws en docker), waardoor gevoelige informatie wordt verzameld wanneer ontwikkelaars het pakket installeren, zelfs in gevallen waarin het als een wiel (.whl) wordt gedistribueerd. bestand.
Enkele van de veelgebruikte commando’s van derden die potentiële doelwitten zouden kunnen zijn voor command-jacking zijn npm, pip, git, kubectl, terraform, gcloud, heroku en dotnet.
Een tweede type commando-jacking kan zich ook manifesteren wanneer bedreigingsactoren legitieme systeemopdrachtnamen (bijvoorbeeld touch, curl, cd, ls en mkdir) gebruiken als toegangspunten om de uitvoeringsstroom te kapen.
“Het succes van deze aanpak hangt vooral af van de PATH-volgorde”, benadrukten de onderzoekers. “Als de map met de kwaadaardige toegangspunten eerder in het PATH verschijnt dan de systeemmappen, wordt de kwaadaardige opdracht uitgevoerd in plaats van de systeemopdracht. Dit komt vaker voor in ontwikkelomgevingen waar lokale pakketmappen voorrang krijgen.”
Dat is niet alles. Checkmarx ontdekte dat de effectiviteit van command-jacking kan worden verbeterd door een meer sluipende tactiek, genaamd command-wrapping, waarbij een toegangspunt wordt gecreëerd dat fungeert als een omhulsel rond het oorspronkelijke commando, in plaats van het helemaal te vervangen.

Wat de aanpak krachtig maakt, is dat deze in stilte de kwaadaardige code uitvoert en tegelijkertijd het originele, legitieme commando aanroept en de resultaten van de uitvoering retourneert, waardoor deze onder de radar kan blijven.
“Aangezien het legitieme commando nog steeds actief is en de uitvoer en het gedrag ervan behouden blijven, is er geen onmiddellijk teken van een compromis, waardoor de aanval uiterst moeilijk te detecteren is bij normaal gebruik”, aldus de onderzoekers. “Deze heimelijke aanpak stelt aanvallers in staat om langdurig toegang te behouden en mogelijk gevoelige informatie te exfiltreren zonder argwaan te wekken.”
Een andere aanvalstactiek op het toegangspunt omvat het maken van kwaadaardige plug-ins en extensies voor ontwikkelaarstools die de mogelijkheid hebben om brede toegang te krijgen tot de codebase zelf, waardoor slechte actoren de kans krijgen om het gedrag van het programma te veranderen of met het testproces te knoeien om het op de code te laten lijken. werkt zoals bedoeld.
“In de toekomst is het van cruciaal belang om alomvattende beveiligingsmaatregelen te ontwikkelen die rekening houden met de exploitatie van toegangspunten”, aldus de onderzoekers. “Door deze risico’s te begrijpen en aan te pakken, kunnen we werken aan een veiligere Python-verpakkingsomgeving, waarbij zowel individuele ontwikkelaars als bedrijfssystemen worden beschermd tegen geavanceerde supply chain-aanvallen.”
De ontwikkeling komt op het moment dat Sonatype in haar jaarlijkse State of the Software Supply Chain-rapport onthulde dat er sinds november 2023 meer dan 512.847 kwaadaardige pakketten zijn ontdekt in open-source-ecosystemen voor Java, JavaScript, Python en .NET, een sprongjaar van 156%. -meer dan een jaar.
“Traditionele beveiligingstools slagen er vaak niet in deze nieuwe aanvallen te detecteren, waardoor ontwikkelaars en geautomatiseerde bouwomgevingen zeer kwetsbaar zijn”, aldus het bedrijf. “Dit heeft geresulteerd in een nieuwe golf van supply chain-aanvallen van de volgende generatie, die zich rechtstreeks op ontwikkelaars richten en de bestaande verdediging omzeilen.”