NPM deposundaki herhangi bir paket için güncelleme yayınlanmasına izin veren bir güvenlik açığı

GitHub, NPM paket deposu altyapısında iki olayı açıkladı. 2 Kasım'da, Bug Bounty programının bir parçası olarak üçüncü taraf güvenlik araştırmacıları (Kajetan Grzybowski ve Maciej Piechota), NPM deposunda, hesabınızı kullanarak herhangi bir paketin yeni bir sürümünü yayınlamanıza izin veren bir güvenlik açığının varlığını bildirdi. bu tür güncellemeleri gerçekleştirme yetkisine sahip değildir.

Güvenlik açığı, NPM'ye gönderilen istekleri işleyen mikro hizmetlerin kodundaki hatalı izin kontrollerinden kaynaklandı. Yetkilendirme hizmeti, istekte iletilen verilere göre paket izin kontrolleri gerçekleştirdi ancak güncellemeyi depoya yükleyen başka bir hizmet, yüklenen paketin meta veri içeriğine göre yayınlanacak paketi belirledi. Böylece, bir saldırgan, erişim sahibi olduğu paketi için bir güncellemenin yayınlanmasını talep edebilir, ancak paketin kendisinde, sonunda güncellenecek olan başka bir paket hakkındaki bilgileri belirtebilir.

Sorun, güvenlik açığının bildirilmesinden 6 saat sonra düzeltildi ancak güvenlik açığı, NPM'de telemetri günlüklerinin kapsadığı süreden daha uzun süre mevcuttu. GitHub, Eylül 2020'den bu yana bu güvenlik açığını kullanan herhangi bir saldırı izine rastlanmadığını iddia ediyor ancak sorunun daha önce istismar edilmediğine dair bir garanti de yok.

İkinci olay ise 26 Ekim'de yaşandı. replikate.npmjs.com hizmetinin veritabanıyla yapılan teknik çalışma sırasında, veritabanında harici isteklere erişilebilen gizli verilerin varlığı ortaya çıktı ve değişiklik günlüğünde belirtilen dahili paketlerin adları hakkında bilgi ortaya çıktı. Bu tür isimlere ilişkin bilgiler, dahili projelere bağımlılık saldırıları gerçekleştirmek için kullanılabilir (Şubat ayında benzer bir saldırı, PayPal, Microsoft, Apple, Netflix, Uber ve diğer 30 şirketin sunucularında kodun çalıştırılmasına izin verdi).

Buna ek olarak, büyük projelerin depolarının ele geçirildiği ve geliştirici hesaplarının tehlikeye atılması yoluyla kötü amaçlı kodların teşvik edildiği vakaların sayısının artması nedeniyle GitHub, zorunlu iki faktörlü kimlik doğrulamayı uygulamaya karar verdi. Değişiklik 2022'nin ilk çeyreğinde yürürlüğe girecek ve en popüler listede yer alan paketlerin bakımcıları ve yöneticileri için geçerli olacak. Ayrıca, kötü niyetli değişikliklerin erken tespiti için paketlerin yeni sürümlerinin otomatik olarak izlenmesi ve analiz edilmesinin sağlanacağı altyapının modernizasyonu hakkında da bilgi verildi.

2020'de yapılan bir araştırmaya göre, paket bakımcılarının yalnızca %9.27'sinin erişimi korumak için iki faktörlü kimlik doğrulama kullandığını ve vakaların %13.37'sinde geliştiricilerin yeni hesapları kaydederken, ortaya çıkan güvenliği ihlal edilmiş şifreleri yeniden kullanmaya çalıştığını hatırlayalım. bilinen şifre sızıntıları. Parola güvenliği incelemesi sırasında NPM hesaplarının %12'sine (paketlerin %13'ü) "123456" gibi öngörülebilir ve önemsiz parolaların kullanılması nedeniyle erişildi. Sorunlu olanlar arasında en popüler 4 paketteki 20 kullanıcı hesabı, ayda 13 milyondan fazla paket indirilen 50 hesap, ayda 40 milyondan fazla indirilen 10 hesap ve ayda 282 milyondan fazla indirilen 1 hesap vardı. Modüllerin bir bağımlılık zinciri boyunca yüklenmesi dikkate alındığında, güvenilmeyen hesapların ele geçirilmesi, NPM'deki tüm modüllerin %52'ye kadarını etkileyebilir.

Kaynak: opennet.ru

Yorum ekle