GitGuardiani teadlased avaldasid analĂŒĂŒsi tulemused konfidentsiaalsetest andmetest, mis arendajate poolt unustati koodi sisse, mis on salvestatud Python-paketite hoidlast PyPI (Python Package Index). Uurides ĂŒle 9,5 miljoni faili ja 5 miljoni paketi vĂ€ljaande, mis on seotud 450 000 projektiga, tuvastati 56866 konfidentsiaalsete andmete lekkimise juhtumit. Kui arvestada vaid unikaalseid andmeid, ilma kordusteta erinevates vĂ€ljaannetes, oli tuvastatud leketest 3938 ning projektide arv, kus leidus vĂ€hemalt ĂŒks leke, oli 2922.
Kokku on vĂ€lja toodud ĂŒle 150 tĂŒĂŒbi konfidentsiaalse teabe leketest, sealhulgas tavalised paroolid, krĂŒptograafilised vĂ”tmed, juurdepÀÀsutĂŒkid pilveteenustele, pideva integreerimise sĂŒsteemidele ja API-dele. VĂ€hemalt 768 kasutajatunnust jĂ€id kehtima uurimise ajal. NĂ€idetena populaarsetest lekete tĂŒĂŒpides, mis on endiselt asjakohased, mainitakse Azure Active Directory juurdepÀÀsuvĂ”tmeid, SSH, MongoDB, MySQL ja PostgreSQL kasutajatunnuseid, GitHub OAuth App vĂ”tmeid, Dropboxi ja Auth0, samuti sissetulekuandmeid Coinbase ja Twilio.
Populaarseks muutuvate lekete tĂŒĂŒpide seas mainitakse Telegrami botide juurdepÀÀsuelemente, mille arv kahekordistus 2021. aasta alguses ja seejĂ€rel kahekordistus uuesti 2023. aasta kevadel. Alates 2020. aastast tĂ€heldatakse juurdepÀÀsuvĂ”tmete leke kasvu ka Google API-le, ning alates 2022. aastast on lekitud andmeid andmebaasidele. Lekete arvu osas esitlevad juhtivaid pakette chatllm ja safire, kus unustati 209 OpenAI vĂ”tme ja 320 Google Cloud vĂ”tme jagamist.
FailitĂŒĂŒpide seas, milles on tuvastatud suurim arv lekete, peale .py laiendiga failide, on mĂ€rgitud .json (610 leket), .md (270), PKG-INFO (240), METADATA (210), .txt (170), samuti README failid (209) ja failid kataloogides nimega test (675). Palju leke on seotud tĂ€helepanupuuduse ja vigadega failide vĂ€listamise seadistuses paketide genereerimisel. NĂ€iteks vĂ”ivad kohalike konfiguraatsioonifailidega (.cookiecutterrc, .env, .pypirc jne) vĂ€listada Git-reposiitide kaudu faili .gitignore, mis ei arvestata paketi loomisel. Eriti leiti repozitooriumist 43 .pypirc faili, mis sisaldasid andmeid juurdepÀÀsuks PyPI-le. 15 juhusest lekete osas ei kavatsenud arendajad avalikult platvormile panna algselt sisekasutuseks loodud pakette, kuid avaldasid need eksimuse tĂ”ttu PyPI-s.
Lisaks vĂ”ib mainida veel kahte sĂŒndmust, mis on seotud PyPI-ga:
- PyPI hoidlast leiti 8 pahatahtlikku paketti, mis esitati kui utiliidid kodeerimise peitmiseks, s.t. koodi muutmiseks loetamatuks, muudab algoritmi taastamise keeruliseks. Tuvastatud paketid sisaldasid nimedes lĂ”iku "pyobf" (Pyobftoexe, Pyobfusfile, Pyobfexecute, Pyobfpremium, Pyobflight, Pyobfadvance, Pyobfuse ja pyobfgood) ning neid on alla laaditud ĂŒle 2000 korra.
Pakettidesse integreeritud pahatahtlik kood oli spetsiifiline Windowsi platvormile ja vĂ”imaldas ĂŒhenduda vĂ€lise juhtimisseadmestikuga. serveri, kĂ€ivitama suvalisi kĂ€ske arendaja arvutis, leidma ja saatma vĂ€lisele serverile konfidentsiaalset teavet, nagu juurdepÀÀsuvĂ”tmed, samuti edastama suvalisi faile sĂŒsteemist. Lisaks vĂ”is pahatahtlik kood tĂ€ita klahvijĂ€lgija funktsioone, peatama Chrome'i paroolide sisestamise, teha ekraanipilte, salvestada heli ja isegi juhtida veebikaamerat.
- Avalikustatud on sĂ”ltumatu auditi tulemused tööriistade koodibaasi kohta, mida kasutatakse pypi.org hoidla haldamiseks ja raamistiku "cabotage" kohta, mida kasutatakse konteinerite orkestreerimise infrastruktuuris. Audit viidi lĂ€bi mittetulundusĂŒhingu OTF (Open Technology Fund) toetusel. Auditil ei leitud tĂ”sise ohu tasemega probleeme ning lĂ€htekoodid tunnistati vastavaks pĂ”hihĂ€idujate turvakoodide kirjutamise nĂ”uetele. Samas tĂ€heldati, et cabotage koodibaasi testimise katvus oli ebapiisav ning tuvastati 29 probleemi, millest kaheksale anti mÔÔdukas ohu tase, 6 - madal ja 14 mĂ€rgiti infosĂ”numiteks.
KÔige silmapaistvamad probleemid:
- Digitaalsete allkirjade ebapiisav kontroll, mida kasutatakse PyPI-lt AWS SNS-iga integreerimiseks, vĂ”imaldas saata teateid ĂŒksikute kasutajate e-postidele.
- Teabe leke ĂŒleslaadimise töötlejas, mis vĂ”imaldab mÀÀrata konto olemasolu ilma sisselogimisĂŒrituste tekitamiseta.
- UsaldusvÀÀrsete krĂŒptograafiliste hajutuste kasutamine, mis ei vĂ€listanud vahemĂ€lu mĂŒrgitamise rĂŒnnakute vĂ”imalust.
- Kui on Ă”igused kĂ€ivitada protsesside kogum cabotage kaudu, vĂ”iks rĂŒndaja potentsiaalselt saavutada oma kĂ€skude asendamise.
- Kui on Ă”igused hajutamiseks (deployment) cabotage, vĂ”iks rĂŒndaja potentsiaalselt juurutada Ă”igesti nĂ€iva pildi.
Allikas: opennet.ru
