Windows, Linux ve Mac ortamları için yaygın olarak kullanılan bir açık kaynak modülünün koruyucusu, kısa süre önce Ukrayna’daki savaşı protesto etmek için işlevselliğini sabote etti ve bu süreçte, yazılımdaki kod bağımlılıklarına bağlı potansiyel olarak ciddi güvenlik sorunlarına bir kez daha dikkat çekti.

Milyonlarca geliştiricinin yazılım oluştururken kullandığı süreçler arası iletişim için bir JavaScript modülü olan node-ipc’nin yazarı Brandon Nozaki Miller, kısa süre önce yazılıma Rusya ve Beyaz Rusya’da coğrafi olarak konumlanmış geliştirici sistemlerindeki tüm dosyaları silmek için kod ekledi.

Daha sonra silici kodunu içeren modül sürümlerini, mevcut olduğu npm JavaScript kayıt defterinden hızla kaldırdı, ancak daha sonra “peacenotwar” adlı başka bir modül yayınladı ve onu düğüm-ipc’ye bağımlı hale getirdi. Böylece, node-ipc’yi indiren geliştiriciler, masaüstü dizinlerine Ukrayna savaşıyla ilgili mesajlar içeren bir dosya yerleştirdiler. node-ipc modülü, tüm sürümlerde haftada ortalama bir milyondan fazla indirme işlemi gerçekleştirir.

Bu hafta olayı araştıran uygulama güvenliği sağlayıcısı Snyk, olayı küresel açık kaynak topluluğunu baltalayan bir eylem örneği olarak nitelendirdi. Snyk’in geliştirici savunuculuğu direktörü Liran Tal, “Bu güvenlik olayı, tek bir bakıcı tarafından diskteki dosyaları bozmaya yönelik yıkıcı eylemleri ve bu kasıtlı sabotajı farklı biçimlerde saklama ve yeniden ifade etme girişimlerini içeriyor” dedi. Blog. “Bu, protesto güdümlü bir saldırı olsa da, yazılım tedarik zincirinin karşı karşıya olduğu daha büyük bir sorunu vurguluyor: Kodunuzdaki geçişli bağımlılıklar, güvenliğiniz üzerinde büyük bir etkiye sahip olabilir.”

Node-ipc olayı, işletmelerin yazılım oluşturmak için açık kaynak ve üçüncü taraf bileşenleri kullanmaktan kaynaklanan ciddi riskleri vurgulayan son aylardaki ikinci olaydır.

Ocak ayında, çok yaygın olarak kullanılan iki açık kaynak kitaplığının (renkler.js ve faker.js) koruyucusu Marak Squires, modüllere kasıtlı olarak kod ekledi, bu da onlara güvenen uygulamaların birden çok kez “özgürlük” kelimesini ve ardından anlamsız kelimeler yazdırmasına neden oldu. Maven Central Java paket deposunu koruyan Sonatype ve araştırılmış Squires olayı, ‘renklerin’ 3,3 milyardan fazla indirmeye sahip olduğunu ve 19.000’den fazla projede kullanıldığını ve ‘sahte’yi 272 milyondan fazla indirmeye ve yaklaşık 2.500 bağımlı projeye sahip olarak tanımladı. Bu nedenle, Sonatype’nin, Squires’ın çalışmalarından ücretsiz olarak yararlanan büyük şirketler ve ticari projeler olarak gördüğü şeylere karşı bir protesto biçimi olabileceğini tahmin ettiği Squires’ın eyleminden binlerce başvuru etkilendi.

Tehlikeli Karışma
Snyk’in en son node-ipc olayıyla ilgili analizi, RIAEvangelist tanıtıcısını kullanan Miller’ın 7 Mart 2021’de sadece birkaç saat arayla yıkıcı kodu (10.1.1 ve 10.1.2) içeren iki düğüm-ipc sürümünü yayınladığını gösterdi. Bozuk modüller kaldırılmadan önce 24 saatten daha kısa bir süre boyunca npm JavaScript kayıt defterinde indirilebilir durumdaydı. Yine de, node-ipc ile ilişkili yüksek sayıda indirme, modülü kodlarında kullanan en azından bazı geliştiricilerin etkilendiğini kesinleştiriyor, dedi Tal, Dark Reading’e yaptığı yorumlarda.

“Yıkıcı sürümler 10.1.1 ve 10.1.2, bizden önce npmjs kayıt defterinden kaldırıldı. [were] onlar için herhangi bir indirme istatistiği toplayabilir,” diyor. Ancak, node-ipc’nin 10.x sürüm dalı haftada yaklaşık 3.000 indirmeye sahiptir, bu nedenle neredeyse aynı miktarda indirmenin silecek kodunu içerdiğini varsaymak güvenlidir.

Miller, bir gün sonra, 8 Mart’ta NPM’de barışa değil savaş paketini yayınladı. . “[This] Miller, ekiplerin neden açık bağımlılık sürümlerini kullanması gerektiğine dair güvenli bir örnek olarak hizmet etmelidir” dedi. GitHub dizisi. “Yükseltmek veya yükseltmemek her zaman bizim seçimimizdir.”

Tal, Peacenotwar modülünün ilk başta ancak onlarca ve yüzlerce indirme aldığını, ancak ana akım düğüm-ipc şubesine bir bağımlılık olarak eklendiğinde 40.000’den fazla indirme aldığını söylüyor. “Yine de, son kullanıcılar için oldukça endişe verici olmasına rağmen, bu modülün daha az yıkıcı olan ‘protesto yazılımı’ olduğunu unutmayın.”

Sonatype CTO’su Brian Fox yaptığı açıklamada, son olayların, geliştiricilerin kullanım için açık kaynak modülleri seçerken neden bakımcıları incelemesi gerektiğini gösterdiğini söyledi. Geliştiricilerin, bireyler yerine vakıflar tarafından desteklenen projelerden neredeyse yalnızca kod seçmelerini tavsiye etti. Fox, tek bir geliştiriciye sahip bir proje seçmenin tek bir geliştiriciye güvenmek anlamına geldiğini söyledi. Bir vakıf tarafından desteklenen açık kaynaklı projeler, tek bir geliştiricinin kendi başına kodu tamamen değiştirmesini çok zorlaştıran kontrollere sahip olma eğiliminde olduğunu belirtti.

“Peacenotwar ve node-ipc ile ne olduğuna bakmamak ve bunu hemen başka bir protesto eylemi olan ‘renkler’ ve ‘sahte’ ile olanlarla ilişkilendirmemek imkansız” diyor ve ekliyor: “Bu protestonun geçerliliğini tartışabilirsiniz. , ancak bu tür davranışlar kesinlikle açık kaynak içinde görünen güven sorunlarına katkıda bulunur.”

Tal, önceki araştırmaların, inşa edilen yazılıma eklenen her modülle iç içe bağımlılıkların önemli ölçüde birleştiğini gösterdiğini söylüyor. 2019’da ortalama bir npm paketi kuran geliştiricilerin geçişli bağımlılıklar nedeniyle örtük olarak diğer 80 pakete güvendiğini gösteren bir araştırmaya işaret ediyor. “Bazı son derece popüler paketler 100.000’den fazla başka pakete ulaşıyor ve bu da onları saldırılar için ana hedef haline getiriyor” diyor.

Tal, tedarik zinciri güvenlik endişelerinin arttığını ve herhangi bir geliştirici, girişim veya kuruluş için akılda tutulması gerektiğini söylüyor. Güvenlikle ilgili endişeler, bakımcı itibarından lisanslamaya, güvenlik açıklarına ve projenin sürdürülebilirliğine kadar uzanır. “Geliştiriciler, açık kaynak bileşeninin yukarıda belirtilen tüm özellikleri ve daha fazlasını kapsayan genel sağlık puanını dikkatlice incelemelidir.”



siber-1

Bir yanıt yazın