image

Duizenden malafide packages geüpload naar Python Package Index

dinsdag 2 maart 2021, 16:12 door Redactie, 2 reacties

De afgelopen dagen heeft iemand duizenden malafide packages naar de Python Package Index geüpload, met daarin een boodschap die voor supply-chain-aanvallen waarschuwt. Daarnaast werden in de npm-registry meerdere malafide packages ontdekt die informatie van gebruikers probeerden te stelen.

Python is een populaire programmeertaal en PyPI bevat allerlei software die door de Python-gemeenschap is ontwikkeld. Bij de nu waargenomen aanval op PyPI maakte de aanvaller gebruik van nog niet geclaimde namen van allerlei populaire packages. Eén van die packages was CuPy. De ontwikkelaars van deze software waren van plan om een package met de naam "cupy-cuda112" uit te brengen, maar deze naam werd door de aanvaller geclaimd. Die uploadde vervolgens zijn "cupy-cuda112" naar PyPI.

In totaal werden er bijna 3600 van dergelijke packages waargenomen. Deze packages bieden geen enkele functionaliteit. Bij het uitvoeren wordt er een request naar een bepaald ip-adres doorgestuurd. Mogelijk gaat het hier om een beveiligingsonderzoeker die zo wil zien hoeveel mensen zijn packages hebben geïnstalleerd. Dat het mogelijk om onderzoek gaat blijkt uit een boodschap die de packages bevatten: "the purpose is to make everyone pay attention to software supply chain attacks, because the risks are too great."

Vorige maand maakte onderzoeker Alex Birsan bekend hoe hij Apple, Microsoft en tientallen andere techbedrijven via slimme package-namen had gecompromitteerd. Deze bedrijven maken voor hun projecten en softwareontwikkeling vaak gebruik van interne packages. Birsan wist de namen van deze interne packages te achterhalen en registreerde die vervolgens bij publieke respositories zoals PyPI en het npm-registry. Hierdoor kan het gebeuren dat een ontwikkelaar de verkeerde package installeert, waardoor een aanvaller toegang tot de ontwikkelmachine krijgt.

Naast PyPI had Birsan ook succes met de npm-registry. Npm is de standaard package manager voor de JavaScript-omgeving Node.js en naar eigen zeggen het grootste softwarearchief ter wereld. Via het npm registry biedt het een groot archief met openbare, besloten en commerciële packages. Kort na het onderzoek van Birsan verschenen er honderden soortgelijke packages in de npm-registry. Recentelijk werden er ook enkele packages ontdekt die de bash-geschiedenis en het bestand etc/schadow proberen te stelen en in sommige gevallen een reverse shell openen, meldt securitybedrijf Sonatype.

Reacties (2)
02-03-2021, 16:51 door Anoniem
Ik denk dat dit nog maar het begin is van een ware invasie van supply-chain attacks. Toevallig is deze ontdekt, maar er zullen er velen zijn/komen die niet zo snel ontdekt worden.
03-03-2021, 10:53 door Anoniem
Dat het mogelijk om onderzoek gaat blijkt uit een boodschap die de packages bevatten: "the purpose is to make everyone pay attention to software supply chain attacks, because the risks are too great."
Die boodschap zelf geeft aan dat het niet om een onderzoek gaat maar om een actie om het risico van supply chain attacks onder de aandacht te brengen. Soms zeggen mensen die iets doen zelf heel duidelijk waarom ze het doen, en moet je er niet iets anders van maken.

PyPI is, zoals de I in de naam zegt, een index, een plek waar iedereen die een Python-pakket maakt kan zeggen: "kijk, hier is wat ik heb gemaakt," en waar ieder ander het dan kan vinden. Er is geen team van kwaliteitscontroleurs dat alle geüploade pakketten doorlicht op dingen die je niet wilt, je gebruikt wat er staat op eigen risico. Ik zou heel blij zijn met een PyPI met alleen betrouwbare inhoud, maar ik snap ook dat dat een serieuze hoeveelheid werk zou vergen en dat die nou eenmaal niet wordt geleverd door degenen die PyPI bijhouden.

Als je er rond gaat neuzen kom je soms rare dingen tegen. Ik weet niet of het er nog staat, maar ik ben ooit een reeks pakketten van een Nederlander tegengekomen die een issue had met GGZ-instellingen en mailingpakketten had gemaakt die anti-GGZ-boodschappen aan allerlei partijen sturen. Dat soort shit staat erin, net als een groot assortiment aan belangrijke, nuttige pakketten. Je moet zelf kijken of iets voldoet en of je wel het pakket kiest dat je denkt te kiezen. Als je dat overslaat kunnen er dingen misgaan.

Ik weet niet eens of je dit wel een supply chain attack moet noemen, het is niet zo dat er hier pakketten die door een ander geplaatst zijn en onderhouden worden zijn gecompromitteerd door een aanvaller.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.