Araştırmacılar, PyPI’nin 2FA Gereksinimlerinin Yeterince Uzağa Gitmediğini Söyledi



Python programlama dili için resmi açık kaynak kod deposu olan Python Paket Dizini (PyPI), 2023’ün sonuna kadar tüm kullanıcı hesaplarının iki faktörlü kimlik doğrulamayı (2FA) etkinleştirmesini gerektirecektir.

Araştırmacılar, güvenlik hamlesinin siber saldırganların bakıcı hesaplarından ödün vermesini ve mevcut meşru projelere kötü amaçlı kod enjekte etmesini önlemeye yardımcı olabilir, ancak araştırmacılar, genel yazılım tedarik zinciri güvenliğini desteklemek söz konusu olduğunda bunun gümüş bir kurşun olmadığı konusunda uyarıyorlar.

PyPI yöneticisi ve bakımcısı Donald Stufft, yakın tarihli bir blog gönderisinde “Bugün ile yıl sonu arasında, PyPI, 2FA kullanımına dayalı olarak belirli site işlevlerine erişim sağlamaya başlayacak” dedi. “Ayrıca, erken uygulama için belirli kullanıcıları veya projeleri seçmeye başlayabiliriz.”

2FA’yı uygulamak için, paket sahipleri bir güvenlik belirteci veya başka bir donanım cihazı ya da bir kimlik doğrulama uygulaması kullanma seçeneğine sahiptir; ve Stufft, kullanıcıların PyPI’ye kod yüklemek için PyPI’nin Güvenilir Yayıncılar özelliğini veya API belirteçlerini kullanmaya teşvik edildiğini söyledi.

PyPI’nin Kötü Amaçlı Paket Etkinliğini Önleme

Duyuru, daha sonra geniş çapta yayılmaya devam edebilecek kötü amaçlı yazılım içeren çeşitli yazılım programlarına ve uygulamalara sızmak isteyen siber suçlular tarafından yapılan bir dizi saldırının ortasında geliyor. PyPI ve npm ve GitHub gibi diğer havuzlar, geliştiricilerin bu teklifleri oluşturmak için kullandıkları yapı taşlarını barındırdığından, içeriklerinden ödün vermek bunu yapmanın harika bir yoludur.

Araştırmacılar, özellikle 2FA’nın (GitHub’ın yakın zamanda uygulamaya koyduğu), geliştirici hesabının ele geçirilmesini önlemeye yardımcı olacağını söylüyor; bu, kötü aktörlerin uygulamalara girmesinin bir yolu.

ReversingLabs’de tehdit istihbaratı savunuculuğu direktörü Ashlee Benge, “Proje sahiplerine karşı, bu hesapları tehlikeye atmayı amaçlayan yaygın olarak kullanılan PyPI paketleri için başlatılan kimlik avı saldırıları gördük” diyor. “Bir kez ele geçirildiğinde, bu hesaplar söz konusu PyPI projesine kötü amaçlı kod göndermek için kolayca kullanılabilir.”

Kroll’da siber riskten sorumlu başkan yardımcısı Dave Truman, ilk bulaşmanın en olası senaryolarından birinin, bir geliştiricinin yanlışlıkla kötü amaçlı bir paket yüklemesi, örneğin yanlışlıkla bir Python yükleme komutu yazması olabilir, diyor.

“Kötü amaçlı paketlerin çoğu, kimlik bilgilerini veya tarayıcı oturumu tanımlama bilgilerini çalma işlevi içerir ve yüklenmekte olan kötü amaçlı paket üzerinde çalışacak şekilde kodlanmıştır” diye açıklıyor. “Bu noktada, kötü amaçlı yazılım, muhtemelen PyPI ile kullanılabilen oturumları içerebilecek kimlik bilgilerini ve oturumlarını çalacaktır. Diğer bir deyişle … bir geliştirici, geliştiricinin erişimine bağlı olarak aktörün büyük bir tedarik zinciri saldırısına dönmesine izin verebilir – 2FA PyPI üzerinde çalışmak, oyuncunun bundan faydalanmasını durdurmaya yardımcı olacaktır. [that].”

Yapılacak Daha Fazla Yazılım Tedarik Zinciri Güvenliği Çalışması

ReversingLabs’ten Benge, PyPI’nin 2FA gerekliliklerinin doğru yönde atılmış bir adım olmasına rağmen, yazılım tedarik zincirini gerçekten kilitlemek için daha fazla güvenlik katmanına ihtiyaç olduğunu belirtiyor. Bunun nedeni, siber suçluların yazılım depolarından yararlanmalarının en yaygın yollarından birinin, geliştiricileri kandırarak yazılımlarına çekmeleri umuduyla kendi kötü amaçlı paketlerini yüklemek olmasıdır.

Sonuçta, herhangi bir soru sorulmadan herkes bir PyPI hesabına kaydolabilir.

Bu çabalar genellikle sıradan sosyal mühendislik taktiklerini içeriyor, diyor: “Typosquatting yaygındır – örneğin, bir paketi ‘djanga’ (kötü amaçlı kod içeren) yerine ‘django’ (meşru ve yaygın olarak kullanılan kitaplık) olarak adlandırmak.”

Başka bir taktik de hayata döndürmek için terk edilmiş projeleri aramaktır. “Önceden zararsız olan bir proje terk edildi, kaldırıldı ve ardından kötü amaçlı yazılım barındırmak üzere yeniden tasarlandı, örneğin termcolour gibi,” diye açıklıyor. Bu geri dönüşüm yaklaşımı, kötü niyetli aktörlere, geliştiricileri cezbetmek için eski projenin meşru itibarını kullanma avantajı sunar.

Javed Hasan, “Düşmanlar sürekli olarak geliştiricilerin kötü amaçlı paketleri kullanmasını sağlamanın birden çok yolunu buluyorlar; bu nedenle, Python ve PyPi gibi yazılım havuzlarına sahip diğer programlama dillerinin güvenliğe yönelik kapsamlı bir yazılım tedarik zinciri yaklaşımına sahip olması kritik önem taşıyor” diyor. kurucu ortak, Lineaje.

Ayrıca, SIM değiştirme, OIDC istismarı ve oturum ele geçirme dahil olmak üzere 2FA, Benge notlarını yenmenin birden fazla yolu vardır. Bunlar emek yoğun olma eğiliminde olsa da, motive olmuş saldırganlar yine de MFA ve kesinlikle 2FA çevresinde çalışma zahmetine girecekler, diyor.

“Bu tür saldırılar, saldırganlar tarafından çok daha yüksek seviyede angajman ve daha az motive olmuş tehdit aktörlerini caydıracak birçok ek adım gerektirir, ancak bir kuruluşun tedarik zincirini tehlikeye atmak, tehdit aktörleri için potansiyel olarak büyük bir kazanç sağlar ve birçoğu ekstra çabaya değer olduğuna karar verebilir. ” diyor.

Depolar çevrelerini daha güvenli hale getirmek için adımlar atarken, kuruluşların ve geliştiricilerin kendi önlemlerini almaları gerektiğini söylüyor Hasan.

“Kuruluşların, şirketlerin yazılımlarındakileri parçalamasına ve bilinmeyen ve tehlikeli bileşenlerin konuşlandırılmasından kaçınmasına yardımcı olan modern tedarik zinciri kurcalama algılama araçlarına ihtiyacı var” diyor. Ayrıca, yazılım malzeme listeleri (SBOM’ler) ve saldırı yüzeyi yönetimi gibi çabalar da yardımcı olabilir.



Source link