Python Paket Dizini (PyPI) deposunun sağlayıcıları, yazım hatası kampanyasının bir parçası olarak yüklenen kötü amaçlı projelerin akınının ardından yeni kullanıcı kayıtlarını kısa süreliğine askıya aldı.
“Kötü amaçlı yazılım yükleme kampanyası” olduğunu söylediği durumu hafifletmek için “yeni proje oluşturma ve yeni kullanıcı kaydının” geçici olarak durdurulduğunu söyledi. Olay, 10 saat sonra, 28 Mart 2024, 12:56 UTC'de çözüldü.
Yazılım tedarik zinciri güvenlik firması Checkmarx, veri deposunu doldurmanın ardındaki kimliği belirsiz tehdit aktörlerinin, popüler paketlerin yazım hatası yapılmış versiyonlarıyla geliştiricileri hedef aldığını söyledi.
Araştırmacılar Yehuda Gelb, Jossef Harush Kadouri ve Tzachi Zornstain, “Bu, kripto cüzdanlarını, tarayıcılardan gelen hassas verileri (çerezler, uzantı verileri vb.) ve çeşitli kimlik bilgilerini çalmayı amaçlayan çok aşamalı bir saldırı ve kötü niyetli bir yüktür” dedi. “Ayrıca, kötü amaçlı yük, yeniden başlatmalardan kurtulmak için bir kalıcılık mekanizması kullandı.”
Bulgular ayrıca Pytorch, Matplotlib ve Selenium gibi makine öğrenimi (ML) kitaplıklarını hedef alan 100'den fazla kötü amaçlı paket tespit ettiğini belirten Mend.io tarafından bağımsız olarak da doğrulandı.
Bu gelişme, açık kaynak depolarının, tehdit aktörlerinin kurumsal ortamlara sızması için giderek daha fazla bir saldırı vektörü haline gelmesiyle ortaya çıkıyor.
Typosquatting, rakiplerin meşru emsallerine çok benzeyen adlara sahip paketler yüklediği, iyi belgelenmiş bir saldırı tekniğidir (örneğin, Matplotlib vs.). Yiyecek arsası veya tensor akışı vs. Tensour akışı) şüphelenmeyen kullanıcıları bunları indirmeleri için kandırmak amacıyla.
Kontrol Noktası başına toplam 500'den fazla paketten oluşan bu aldatıcı varyantların 26 Mart 2024'ten itibaren benzersiz bir hesaptan yüklendiği tespit edildi ve bu da tüm sürecin otomatikleştirildiğini gösteriyor.
İsrailli siber güvenlik şirketi, “Yüklemelerin merkezi olmayan yapısı ve her paketin farklı bir kullanıcıya atfedilmesi, bu kötü amaçlı girişlerin çapraz tanımlanması çabalarını zorlaştırıyor” dedi.
Aynı kampanyayı takip eden siber güvenlik firması Phylum, saldırganların şunları yayınladığını söyledi:
- 67 farklı gereksinim
- Matplotlib'in 38 çeşidi
- 36 farklı istek
- 35 colorama çeşidi
- Tensor akışının 29 varyasyonu
- Selenyumun 28 çeşidi
- BeautifulSoup'un 26 çeşidi
- PyTorch'un 26 çeşidi
- 20 çeşit yastık
- 15 asyncio varyasyonu
Paketler, yükleyicinin işletim sisteminin Windows olup olmadığını kontrol eder ve eğer öyleyse, aktör tarafından kontrol edilen bir alandan (“funcaptcha”) alınan karmaşık bir veriyi indirip çalıştırmaya devam eder.[.]ru”).
Kötü amaçlı yazılım, dosyaları, Discord belirteçlerini ve ayrıca web tarayıcılarından ve kripto para cüzdanlarından gelen verileri aynı sunucuya sızdıran bir hırsız olarak işlev görüyor. Ayrıca kalıcılık sağlamak için bir Python betiğini (“hvnc.py”) Windows Başlangıç klasörüne indirmeye çalışır.
Bu gelişme, yazılım tedarik zinciri saldırılarının oluşturduğu artan riski bir kez daha ortaya koyuyor; bu da geliştiricilerin potansiyel tehditlere karşı koruma sağladığından emin olmak için her üçüncü taraf bileşenini incelemesini hayati önem taşıyor.
Bu, PyPI'nin böyle bir tedbire ilk kez başvurması değil. Mayıs 2023'te, “geçen hafta endekste oluşturulan kötü niyetli kullanıcıların ve kötü niyetli projelerin hacminin, buna zamanında yanıt verme yeteneğimizi geride bıraktığını” tespit ettikten sonra kullanıcı kayıtlarını geçici olarak devre dışı bıraktı.
PyPI, benzer nedenlerle geçen yıl 27 Aralık'ta ikinci kez yeni kullanıcı kayıtlarını askıya almıştı. Daha sonra 2 Ocak 2024'te kaldırıldı.