Güvenlik araştırmacıları, tehdit aktörlerinin geliştiricileri bunları kullanmak için kandırmak için kötü niyetli klonları halka açık bir şekilde serbest bırakabilmeleri için özel paketlerin adlarını ortaya çıkaran bir NPM zamanlama saldırısı keşfettiler.
Saldırı, depodaki var olmayan bir pakete kıyasla özel bir özel arama yaparken "404 bulunamadı" hatasının geri dönüşünde küçük bir zaman farkına dayanır.
Yanıt süresi farkı sadece birkaç yüz milisaniye olmakla birlikte, paket taklit etme saldırıları yapmak için özel bir paketin var olup olmadığını belirlemek yeterlidir.
Kuruluşlar, geliştirme ekiplerinin yazım hatalarına düşme riskini en aza indirmek ve kodlarını ve işlevlerini gizli tutmak için iç projeler ve bazı yazılım ürünleri için özel paketler oluşturur.
Özel paketleri özel tutmak, bunları kullanan kuruluşlar için çok önemlidir. Aksi takdirde, saldırganlar, bilgisayar korsanlarının kuruluşların çalışanlarını yazılım projelerini indirmeye ve kullanmaya kandırabilecekleri klonlar veya yazgıllı paketler oluşturabilir.
Geliştiriciler ve dahili yazılım testçileri uzlaşmayı keşfetmezse, ürünler son kullanıcılara ulaşabilir ve bir tedarik zinciri uzlaşması elde edebilir.
Aqua Security'nin bulgularını yayınlamadan önce BleepingComputer ile paylaşan tehdit araştırma ekibinin bir raporunda, saldırganlar giderek daha fazla tedarik zinciri saldırılarına odaklanıyor ve 2021'de ilişkili faaliyetlerde% 300 artış sağlıyor.
NPM, kullanıcıların mevcut paketleri indirmesine, paketlerin varlığını kontrol etmesine ve belirli bir kapsam altındaki tüm paketler hakkında bilgi almasına olanak tanıyan bir Kayıt Defteri API'sı içerir.
Var olmayan veya özel olarak ayarlanan bir paketi indirmek için NPM kayıt defterini kullanırken, web sitesi 404 HTTP hata kodu döndürür, bu da paketin bulunamayacağını gösterir.
Aqua Security, NPM'de oluşturdukları özel paketlerin varlığını kontrol etmek için bu API'yi kullanarak NPM zamanlama saldırısını keşfetti ve 404 HTTP hatalarının API kontrollerine karşı yanıt süresini karşılaştırdı.
Araştırmacılar, beş kez bir paket adının varlığını kontrol ederek testlerini gerçekleştirdiler. NPM'nin talebe yanıt vermesi için gereken ortalama sürede ölçülebilir bir fark olduğunu keşfettiler ve bir paketin özel mi yoksa var olup olmadığını fark etmelerini sağladılar.
Daha spesifik olarak, özel paketin varken ortalama tepki süresi 648 milisaniye, var olmadığı ortalama süre sadece 101 milisaniyeye düşer.
Araştırmacılar bunun önbellekleme mekanizması ve bu bilgi ifşa potansiyelini tanıtan NPM API mimarisinden kaynaklandığını varsayıyorlar.
Bir hacker, "kör" bir sözlük saldırısı deneyebilir veya olası özel paket adlarını elde etmek için hedeflenen kuruluşun genel paketlerindeki adlandırma kalıplarını ve kombinasyonlarını arayabilir.
Ayrıca, çevrimiçi bilgiler tarihi paket bilgileri içerir, böylece saldırganlar bunları daha sonra hangi genel paketlerin özel olarak değiştirilebileceğini belirlemek için kullanabilirler.
İkinci durumda, bir klon paketiyle potansiyel bir uzlaşma çok gizli olabilir, çünkü eskiden halka açık bir paketin eski bir kopyası, onu kullanan yazılım ürününde amaçlandığı gibi çalışacak kadar işlevselliği koruyabilir.
Aqua Security, 8 Mart 2022'de GitHub'a yapılan hatayı açıkladı, ancak 25 Mart'ta mimari sınırlamalar nedeniyle düzeltilmeyeceği söylendi.
GitHub Aqua Security'ye verdiği demeçte, "Bu mimari sınırlamalar nedeniyle, zamanlama saldırılarının NPM'de belirli bir özel paketin olup olmadığını belirlemesini engelleyemeyiz." Dedi.
Araştırmacılar, kuruluşların özel paketlerini yinelenen veya benzer isimlerle taklit eden şüpheli paketler için sık sık NPM arayarak önleyici eylemde bulunabileceğini söylüyor.
Ayrıca, kuruluşlar, NPM kamu depolarına aynı isim paketlerinin yüklenmesine izin vermediğinden, özel paketlerini yer tutucular olarak istihdam eden genel paketler oluşturabilir.
Lofygang Hackers, Discord, NPM hakkında kimlik bilgisi çalan bir işletme kurdu
Kripto borsaları tarafından kullanılan NPM paketleri tehlikeye atılmış
Tedarik zinciri saldırısında kötü amaçlı yazılım yaymak için hacklenen canlı destek hizmeti
Eşcinsel Bağlantı Sitesi Tehlikeli Krom Uzantıları İtme Yazımları, Dolandırıcılık
NSA ve CISA, yazılım tedarik zincirini güvence altına almak için ipuçlarını paylaşmak
Kaynak: Bleeping Computer