Atac de typosquatting
Tal sembla que totes les mesures de seguretat a les que han estat treballant al repositori de paquets Python PyPI (Python Package Index), no han servit de gaire, ja que encara que obliguessin els usuaris a utilitzar l'autenticació de dos factors i la implementació de mesures de seguretat pararà evitar al mà xim possible la introducció de paquets maliciosos, encara continuen tenint una gran quantitat de problemes amb això.
I és que un dels grans problemes que castiga NPM és la cà rrega descarada de paquets malintencionats, els quals és una problemà tica que ha tingut durant els darrers anys i no ha aconseguit eradicar i la raó d'esmentar això és que aquesta situació és la mateixa que està vivint el PyPi, encara que en menor mesura, ja que s'han intentat implementar diversos filtres de seguretat, i esmento intentar perquè els paquets mal intencionats segueixen apareixent.
La raó d'esmentar això és que fa poc es va imposar una prohibició temporal al registre de nous usuaris i la creació de projectes nous al repositori de paquets Python PyPI a causa d'un atac automatitzat continu que ha portat a la descà rrega massiva de paquets maliciosos. Aquesta mesura es va prendre després que es carreguessin 566 paquets amb codi maliciós, els quals imitaven l'estil de 16 biblioteques populars de Python, al repositori durant els dies 26 i 27 de març.
Els noms daquests paquets maliciosos es formen utilitzant tècniques de typosquatting, que consisteixen a assignar noms similars però amb diferències mÃnimes en carà cters individuals. Per exemple, s'utilitzen noms com a «temsorflow» en lloc de «tensorflow», «requyests» en lloc de «requests», «assinci» en lloc de «asyncio», entre d'altres. Aquests atacs aprofiten la distracció dels usuaris, que poden cometre errors tipogrà fics en buscar o seguir enllaços en fòrums i xats on els atacants deixen instruccions enganyoses.
Els paquets maliciosos es basen en el codi de biblioteques legÃtimes i inclouen canvis que instal·len codi maliciós al sistema. Aquest codi maliciós busca i envia dades i arxius confidencials, com ara contrasenyes, claus d'accés, bitlleteres criptogrà fiques, tokens i cookies de sessió. El codi maliciós està incrustat al fitxer setup.py, que s'executa durant la instal·lació del paquet, i en activar-se, descarrega components maliciosos des d'un servidor extern.
Aquest atac automatitzat de typosquat es va dur a terme durant unes poques hores en unes quantes rà fegues rà pides, va ser testimoni de la publicació de més de 500 paquets i va apuntar a 16 paquets populars de PyPI. Si bé la resposta rà pida i contundent de PyPI sens dubte va ajudar a mitigar les conseqüències daquest atac, val la pena assenyalar que no tots els ecosistemes són tan rà pids i efectius per enfrontar un atac daquest tipus.
L'atac al repositori de PyPI ha estat força extens i ha afectat diverses biblioteques populars de Python. Els atacants van aconseguir descarregar variants malicioses de paquets com TensorFlow, BeautifulSoup, PyGame, SimpleJson, Matplotlib, PyTorch, CustomTKInter, Selenium, Dramaturg, Asincio i Request. A més, es van identificar casos aïllats de falsificació de biblioteques com py-cord, colorama, capmonstercloudclient, pillow i bip-utils.
Pel que fa a l'atac a la comunitat Top.gg, l'atacant va comprometre el compte de GitHub d'un dels desenvolupadors, cosa que li va permetre robar galetes del navegador i fer canvis maliciosos.
Es van afegir tres paquets maliciosos al dipòsit de PyPI i es van registrar dominis falsos per distribuir dependències de paquets maliciosos. A través d'un compte piratejat, es va fer un canvi al repositori de GitHub del projecte Top.gg, on es va afegir un fitxer requisits.txt que contenia un enllaç a un clon maliciós del paquet «colorama» allotjat en un domini fals. L'objectiu era enganyar els desenvolupadors perquè descarreguessin la versió maliciosa del paquet, ja que el domini fals s'assemblava al domini legÃtim utilitzat per descarregar paquets des de PyPI.
Aquests atacs ressalten la importà ncia de la seguretat als repositoris de paquets i la necessitat que els usuaris i desenvolupadors estiguin alerta davant de possibles intents de compromÃs de seguretat i descà rrega de programari maliciós.
Si ets iinteressant en poder conèixer més sobre això, pots consultar els detalls al següent enllaç.