Tedarik Zinciri Tehditlerini Ortadan Kaldırmak İçin 2 Haftalık Reçete



Kötü amaçlı kod eklemek için açık kaynaklı yazılım paketlerinin ele geçirilmesi, saldırganların kötü amaçlı yazılımı yazılım tedarik zincirine hızla yaymasının popüler bir yolu haline geldi. Ancak şimdi yeni araştırmalar, kullanıcıların bu yazılım paketlerini yeni sürümlere güncellemeden önce yaklaşık 14 gün beklemeleri halinde, paket ele geçirme saldırılarının aşağı yöndeki etkilerinden kaçınabileceklerini buldu.

JFrog’daki araştırmacılar, bazıları yüz milyonlarca indirmeye sahip çeşitli açık kaynaklı yazılım paketlerinin ele geçirilmesini araştırdı. Saldırının keşfedilmesi için geçen süreyi ve kötü amaçlı etkinliğin azaltılabilmesi için paketin kaç kez indirildiğini analiz ettiler.

Sonuçta, Dark Reading ile paylaşılan bir rapora göre, proje geliştiricilerinin veya bu paketlerin bakımını yapanların kötü amaçlı kodu keşfetmesi ve sorunu çözen bir güncelleme üretmesinin birkaç saatten bir haftaya kadar sürebileceğini buldular.

Bu, açık kaynaklı bir yazılım paketinin herhangi bir yeni sürümüne güncelleme yapmadan önce yaklaşık iki hafta beklemenin genellikle güvenli bir bahis olduğu anlamına gelir.

“Bir paketin en son sürümüne güncelleme yapmadan önce yaklaşık 14 gün bekleyecek olan kullanıcılar (en son sürümün yayınlandığı günden itibaren sayılır), paket ele geçirme saldırılarına karşı bağışık olmalıdır, çünkü bu zaman çerçevesinde saldırının keşfedilmesi ve JFrog’un güvenlik araştırması kıdemli direktörü Shachar Menashe, Dark Reading’e, paketin kötü amaçlı sürümlerinin kaldırılacağını söylüyor.

Paket Ele Geçirmenin Yükselişi

Paket ele geçirme, harici bir tehdit aktörünün ya da proje geliştiricisinin ya da bakımcısının kendisinin paketin bir güncellemesine kötü amaçlı kod eklemesiyle meydana gelir. Menashe, bu durum meydana geldiğinde, paket kullanıcılarının “ya kaçırmanın yükü nedeniyle ya da sadece paketin kodundaki değişikliği denetleyerek” bir şeylerin yanlış olduğunu anlaması an meselesidir, diye açıklıyor.

Npm ve PyPI gibi paket depolarının popülaritesindeki artış, saldırganlara, geliştiricilerin bir yazılım parçası oluşturmak için kullandıkları açık kaynak kodunu tehlikeye atarak, paket ele geçirme saldırısıyla birkaç gün içinde on binlerce kullanıcıya bulaşmaları için doğrudan bir yol sağladı. , diyor.

Menahse, bir veri havuzu sitesindeki bir geliştiricinin hesabının tehlikeye atılmasının, kritik bir sıfır gün güvenlik açığını bulup bu güvenlik açığından yararlanmaktan daha kolay olduğunu, böylece paket ele geçirmeyi hem daha kolay hem de klasik bir güvenlik açığı saldırısından daha yaygın bir etki yaratmanın bir yolu haline getirdiğini söylüyor. .

Tespit Süresi Önemlidir

JFrog araştırmacıları, paketin ele geçirilmesinin aktif olduğu andan paket kullanıcılarının bir sorun olduğunu anlamasına ve bir güncelleme yayınlamak için proje geliştiricileriyle birlikte çalışmasına kadar geçen sürenin ne kadar süreceğini öğrenmek için yola çıktı.

Menashe, “Bu zaman dilimi çok önemli, çünkü bu, paket kullanıcılarının saldırıya karşı gerçekten duyarlı olduğu zaman dilimidir” diyor.

Tespit için genel bir zaman çerçevesi belirlemek amacıyla, çeşitli paket ele geçirme örneklerini iki açıdan değerlendirdiler: harici paket ele geçirme ve kendi kendine paket ele geçirme.

İlki, üçüncü bir tarafın pakete kötü amaçlı kod enjekte etmesiyle meydana gelir; bu, kod koruyucunun projeye meşru bir katkı olarak kötü amaçlı kodu gizlemeye yönelik hesabını ele geçirerek gerçekleşir. İkincisi, meşru geliştiricilerin veya bakımcıların bir protesto biçimi olarak bir pakete kötü amaçlı kod yerleştirmesiyle ortaya çıkar.

Harici Paket Kaçakçılıkları

JFrog araştırmacılarının incelediği harici paket ele geçirme vakaları arasında, geçen Aralık ayında makine öğrenimi (ML) geliştiricilerini hedef alan kötü amaçlı bir kod bağımlılığı kullanılarak PyTorch Python kütüphanesinin ele geçirilmesi; ve sırasıyla Ekim 2021 ve Kasım 2021’de “ua-parser-js” ve “coa” yazılım paketlerinin bir kripto madenciyle ayrı ayrı uzlaşması.

PyTorch’un 180 milyonun üzerinde indirme ve ua-parser-js’nin yaklaşık bir milyar indirme sayısına sahip olması, coa’nın GitHub’daki 5 milyondan fazla açık kaynak deposu için temel taşı olması ve yaklaşık olarak indirilmesi nedeniyle, korsanlıkların geliştirici topluluğu için önemli sonuçlar doğurma potansiyeli vardı. Haftada 9 milyon kez.

PyTorch’un ele geçirilmesi durumunda, kullanıcıların bir şeylerin ters gittiğini keşfetmesi beş gün sürdü ve bu süre zarfında paket 3.000’den fazla kez indirildi; Araştırmacılar, ayrıştırıcı ve coa kullanıcılarının paketlerdeki kötü amaçlı yazılımı tespit etmesinin yalnızca saatler sürdüğünü buldu.

Kendi Kendine Paket Kaçırmaları

JFrog ekibi ayrıca kendi kendine paket ele geçirmenin üç örneğini de araştırdı; bunlardan ikisi (Node.js geliştiricileri arasında popüler olan “renkler” ve “sahte” npm paketleri) yazarın paketleri sonsuz bir şekilde sabote ettiği Ocak 2022’de eş zamanlı olarak gerçekleşti. Açık kaynak topluluğuna katkıda bulunmayan büyük şirketleri protesto etmek için döngü.

Araştırmacılar, ele geçirme olayının paketlere bağlı olan yazılım projelerini etkili bir şekilde bloke ettiğini ve kötü amaçlı sürümlerin yayınlanmasından iki gün sonra tespit edildiğini buldu.

Mart 2022’de bir geliştirici, Rusya’nın 2022’de Ukrayna’yı işgalini protesto etmek için node-ipc paketine Rus ve Belarus makinelerinin dosya sistemini bozan bir kod ekledi. Bu durumda, JFrog’a göre, paketin kötü amaçlı sürümünün yayınlanmasının ardından geliştiricinin sorunu keşfetmesi oldukça uzun bir süre (yaklaşık sekiz gün) aldı.

Daha Fazla Azaltma

JFrog’a göre, bir yazılım paketini en son sürüme güncellemek için yaklaşık iki hafta beklemeye ilişkin genel kuralın yanı sıra geliştiriciler ve kuruluşlar, paketleri yazılımlarına eklemeden önce dikkatlice inceleyerek yazılım tedarik zinciri saldırıları tehdidini de ortadan kaldırabilirler.

Kuruluşların, geliştiricilerin hangi paketlere erişebileceğini belirlemek veya 14 günden daha kısa bir süre önce piyasaya sürülen üçüncü taraf paketlerin indirilmesini engellemek için bir dizi kural tanımlamasına yardımcı olabilecek iyileştirme araçları mevcuttur. Bu, paketlerin ele geçirilmesi gibi durumlarda potansiyel güvenlik riskleri taşıyan paketlerin halka açık depolardan indirilmesinin engellenmesine yardımcı olabilir.
JFrog ayrıca geliştiricilerin ve kuruluşların, kötü amaçlı kodların yazılım paketlerinde nasıl gizlendiğini tespit etmelerine ve böylece bunları projelerinde kullanmaktan kaçınmalarına yardımcı olacak bir blog yazısı yayınladı.



Source link