JFrog’daki siber güvenlik araştırmacıları, Python Paket Endeksi (PyPI) depolarına saldırmak için yeni bir tedarik zinciri saldırı tekniği ortaya çıkardı. Bu teknik, potansiyel olarak 22.000’den fazla yazılım paketini etkileyebilir ve sayısız kullanıcıyı tehdit edebilir.
“Revival Hijack” adı verilen teknik, saldırganların orijinal geliştiriciler tarafından PyPI’den kaldırılan paket adlarını yeniden kaydetmelerine ve ele geçirmelerine olanak tanıyan bir politika açığından yararlanıyor.
Revival Hijack – Nasıl çalışır
Kullanıcıların paket adlarını yanlış yazmasına dayanan geleneksel yazım yanlışı saldırılarının aksine, Revival Hijack popüler paketlerin kaldırılması ve yeniden kaydedilmesinden yararlanır. Geliştiriciler projelerini PyPI’den sildiklerinde, paket adları herkesin kaydetmesi için kullanılabilir hale gelir. Saldırganlar daha sonra bu paketlerin kötü amaçlı sürümlerini yükleyebilir ve şüphelenmeyen kullanıcılar bunları meşru olduklarına inanarak indirip kurabilir.
JFrog’un teknik analizi, 22.000’den fazla PyPI paketinin Revival Hijack saldırısına maruz kaldığını ortaya koydu. Bu, yüz binlerce kullanıcının farkında olmadan zararlı yazılım indirebileceği anlamına geliyor.
Revival Hijack’i teste tabi tutuyoruz
Revival Hijack’in uygulanabilirliğini göstermek için JFrog güvenli bir deney yürüttü. Bir paket oluşturup yayınladılar, sonra onu kaldırıp farklı bir kullanıcı altında yeniden kaydettiler. Deney, yeni, sahte paketin, paket yöneticisinden hiçbir uyarı almadan meşru bir güncelleme gibi göründüğünü gösterdi.
Bu tür bir örnekte, 12 Nisan 2024’te JFrog’un sistemleri ‘pingdomv3’ paketini içeren olağandışı bir etkinlik tespit etti. Paketin, görünüşte zararsız bir güncellemeyi ve ardından şüpheli, Base64 ile gizlenmiş bir yük içeren bir sürümü yayınlayan yeni bir sahibi vardı. Bu olay derhal bir soruşturma başlattı ve kötü amaçlı paketin PyPI bakımcıları tarafından kaldırılmasına yol açtı.
İyi ve kötü haberler
İyi haber şu ki, JFrog’un proaktif önlemleri, kötü niyetli aktörlerin herhangi bir önemli hasar meydana gelmeden önce girişimlerini engelledi. JFrog’un araştırma ekibi, “Bu paketleri ayırma (“güvenlik tutma”) ve güvenli kopyalar ekleme yönündeki proaktif önlemimiz, PyPI topluluğunu saldırganların en çok indirilen paketleri ele geçirmesinden koruyacak” diye yazdı.
Kötü haber ise, tüm bu koruyucu önlemlere rağmen JFrog ekibinin, rezerve edilen paketlerin birkaç gün içinde binlerce kez indirildiğini gözlemlemesi, tedarik zincirinde saldırı riskinin yüksek olduğunu gösteriyor.
Uzman Yorumu
Endor Labs’ta bir güvenlik araştırmacısı olan Henrik Plate, bulgular hakkında şu değerlendirmeyi yaptı: “Bu risk gerçektir ve paketin popülerliğine bağlıdır. Paketler uzun zaman önce silinmişse risk muhtemelen azalır.”
Plate, verilen örnekte paketin hızla yeniden canlanmasının, saldırganların PyPI’yi aktif olarak silme işlemleri açısından izlediğini gösterdiğini belirtti.
“Silinen paketlerin yeniden canlandırılması sorunu iyi bilinir ve Endor Labs Risk Explorer tarafından belgelendiği üzere ‘Dangling Reference’ saldırıları kategorisine girer. Bu kategoriye, yeniden canlandırılan GitHub depoları ve npm paketleri gibi senaryolar dahildir,” diye açıkladı Plate.
Paket kayıtları için sıkı güvenlik yönergelerinin önemini vurguladı ve OpenSSF tarafından önerilen ilkelere atıfta bulundu.
“Dahili paket kayıtlarını kullanmak, açık kaynaklı paketleri yansıtarak geliştiricileri korumaya yardımcı olabilir ve genel kayıtlardan silinseler bile kullanılabilirliğini garanti edebilir. Ancak, bu kayıtlar, potansiyel olarak kötü amaçlı kodun dahil edilmesini önlemek için yeniden canlandırılan paketlerin yeni sürümleri için bir inceleme süreci gerektirecek şekilde yapılandırılmalıdır,” diye tavsiyede bulundu.
Dikkatli Olun!
JFrog bu sorunu PyPI’nin güvenlik ekibine bildirdi ve paket adlarının yeniden kullanılmasını önlemek için daha katı politikalar talep ediyor. Ayrıca kullanıcıları uyanık olmaya ve CI/CD sistemlerinin PyPI’den kaldırılmış paketleri yüklemeye çalışmadığından emin olmaya çağırıyorlar.
İLGİLİ KONULAR
- OpenSSF Kötü Amaçlı Paketler Deposunu Başlattı
- Kripto Çalma PyPI Kötü Amaçlı Yazılımı Hem Windows Hem de Linux Kullanıcılarını Etkiliyor
- PyPI Kötü Amaçlı Paketler Nedeniyle Yeni Projeleri ve Kullanıcıları Askıya Aldı
- Bilgisayar Korsanları Python Paketleriyle Sistemlere Sızmak İçin PyPI’yi Kullanıyor
- Luna Grabber Kötü Amaçlı Yazılımı, npm Paketleri Aracılığıyla Roblox Geliştiricilerine Bulaşıyor