NPM omboridagi har qanday paket uchun yangilanishni chiqarish imkonini beruvchi zaiflik

GitHub NPM paketi ombori infratuzilmasida ikkita hodisani oshkor qildi. 2-noyabr kuni uchinchi tomon xavfsizlik tadqiqotchilari (Kajetan Grzybowski va Maciej Piechota) Bug Bounty dasturining bir qismi sifatida NPM omborida sizning hisobingizdan foydalangan holda har qanday paketning yangi versiyasini nashr etish imkonini beruvchi zaiflik mavjudligi haqida xabar berishdi, bunday yangilanishlarni amalga oshirishga ruxsat berilmagan.

Zaiflik NPM ga so‘rovlarni qayta ishlovchi mikroservislar kodidagi ruxsatnomalarni noto‘g‘ri tekshirish natijasida yuzaga kelgan. Avtorizatsiya xizmati soʻrovda oʻtkazilgan maʼlumotlar asosida paket ruxsatini tekshirishni amalga oshirdi, biroq yangilanishni omborga yuklagan boshqa xizmat yuklangan paketning metamaʼlumotlari mazmuni asosida nashr qilinadigan paketni aniqladi. Shunday qilib, tajovuzkor o'zi kirish huquqiga ega bo'lgan paketi uchun yangilanishni nashr etishni so'rashi mumkin, ammo paketning o'zida oxir-oqibat yangilanadigan boshqa paket haqidagi ma'lumotlarni ko'rsatishi mumkin.

Muammo zaiflik haqida xabar berilganidan keyin 6 soat o'tgach tuzatildi, ammo zaiflik NPMda telemetriya jurnallari qamrab olganidan ko'ra uzoqroq edi. GitHub ta'kidlashicha, 2020 yil sentyabr oyidan beri ushbu zaiflikdan foydalangan holda hujumlar izlari yo'q, ammo muammodan oldin foydalanilmaganiga kafolat yo'q.

Ikkinchi voqea 26 oktyabr kuni sodir bo'lgan. replicate.npmjs.com xizmatining ma'lumotlar bazasi bilan texnik ish olib borilganda, ma'lumotlar bazasida tashqi so'rovlar uchun ochiq bo'lgan maxfiy ma'lumotlar mavjudligi, o'zgarishlar jurnalida qayd etilgan ichki paketlar nomlari haqidagi ma'lumotlar aniqlandi. Bunday nomlar haqidagi ma'lumotlar ichki loyihalarga qaramlik hujumlarini amalga oshirish uchun ishlatilishi mumkin (fevral oyida xuddi shunday hujum PayPal, Microsoft, Apple, Netflix, Uber va boshqa 30 ta kompaniya serverlarida kodni bajarishga ruxsat bergan).

Bundan tashqari, yirik loyihalar omborlarini o'g'irlash va zararli kodlarni ishlab chiquvchi akkauntlarini buzish orqali targ'ib qilish holatlari ko'payib borayotgani sababli, GitHub majburiy ikki faktorli autentifikatsiyani joriy etishga qaror qildi. O'zgartirish 2022 yilning birinchi choragida kuchga kiradi va eng ommabop ro'yxatga kiritilgan paketlarning xizmat ko'rsatuvchilari va ma'murlariga taalluqlidir. Bundan tashqari, infratuzilmani modernizatsiya qilish haqida xabar berilgan, unda zararli o'zgarishlarni erta aniqlash uchun paketlarning yangi versiyalarini avtomatlashtirilgan monitoring va tahlil qilish joriy etiladi.

Eslatib o'tamiz, 2020 yilda o'tkazilgan tadqiqotga ko'ra, paket ta'minotchilarining atigi 9.27 foizi kirishni himoya qilish uchun ikki faktorli autentifikatsiyadan foydalanadi va 13.37% hollarda yangi hisoblarni ro'yxatdan o'tkazishda ishlab chiquvchilar o'z ichiga olgan parollarni qayta ishlatishga harakat qilishgan. ma'lum parollar sizib chiqadi. Parol xavfsizligini tekshirish vaqtida “12” kabi bashorat qilinadigan va ahamiyatsiz parollardan foydalanish tufayli NPM hisoblarining 13 foiziga (paketlarning 123456 foizi) kirish mumkin edi. Muammolilar orasida eng ommabop 4 ta to‘plamdan 20 ta foydalanuvchi akkaunti, oyiga 13 million martadan ko‘proq yuklab olingan paketli 50 ta akkaunt, oyiga 40 milliondan ortiq yuklangan 10 ta va oyiga 282 milliondan ortiq yuklab olingan 1 ta akkaunt bor edi. Modullarning bog'liqlik zanjiri bo'ylab yuklanishini hisobga olsak, ishonchsiz hisoblarning buzilishi NPMdagi barcha modullarning 52% gacha ta'sir qilishi mumkin.

Manba: opennet.ru

a Izoh qo'shish