Red Hat'in resmi npm ad alanı @redhat-cloud-services, hızlı bir tedarik zinciri saldırısıyla ele geçirildi. Saldırgan, 1 Haziran'da sadece 72 saniye içinde 32 paketin kötü amaçlı sürümlerini yayınladı. ReversingLabs'ın analizine göre, bu paketler Red Hat'in Hibrit Bulut Konsolu ekosistemini oluşturan UI bileşenlerinden API istemcilerine ve derleme araçlarına kadar geniş bir yelpazeyi kapsıyor. Toplamda yaklaşık 9,8 milyon indirmeye sahip olan bu paketler, geliştiricilerin güvendiği bir isim alanı üzerinden yayıldı.
Bu saldırı, tipik bir yazım hatası veya benzer isim kullanma (typosquatting) değildi. Saldırgan, meşru ve güvenilir bir isim alanını ele geçirerek gerçek paketleri gizli kötü amaçlı yazılımla yeniden yayınladı. Geliştiricilerin tanınmış bir satıcıya duyduğu güven, kötü amaçlı yazılımın dağıtım yöntemi haline geldi. Her bir tehlikeye atılmış paket, kurulum sırasında otomatik olarak çalışan gizlenmiş bir ön yükleme betiği (preinstall script) içeriyordu. Bu betik, uygulama kodu çalıştırılmadan önce devreye giriyordu, yani maruz kalmak için sadece paketi yüklemek veya derlemek yeterliydi; üretimde kullanmak gerekmiyordu.
Kötü amaçlı yazılım, Aikido Security tarafından Miasma adıyla izlenen Mini Shai-Hulud solucanının bir varyantı olarak tanımlandı. ReversingLabs, yazılımın bulut sağlayıcı anahtarları, CI/CD tokenları, npm kimlik bilgileri ve geliştirici makinesindeki diğer hassas verileri hedef aldığını tespit etti. Ayrıca, solucan ele geçirdiği yayınlama tokenlarını kullanarak, tehlikeye atılmış hesabın erişebildiği diğer paketlerin de arka kapılı sürümlerini yayınlamaya çalışıyor. Bu, saldırının hızla yayılmasına ve daha geniş bir etki alanı oluşturmasına neden oluyor.
Saldırının en dikkat çekici yönü, paketlerin nasıl yayınlandığı oldu. Aikido, kötü amaçlı sürümlerin GitHub Actions OIDC tokenları kullanılarak yayınlandığını tespit etti. Bu, saldırganın bir geliştiricinin kişisel hesabını değil, doğrudan derleme hattını (build pipeline) ele geçirdiğini gösteriyor. OIDC tabanlı 'güvenilir yayınlama' (trusted publishing), uzun ömürlü npm tokenları yerine derleme sırasında verilen kısa ömürlü tokenlar kullanarak güvenliği artırmak için getirilmişti. Ancak bu olay, derleme hattı ihlal edildiğinde güven sinyalinin artık güvenilir olmadığını gösteriyor.
Olayın analiz edildiği sırada, meşru bakımcılar 32 paketin tamamı için temiz sürümler yayınlamış ve kötü amaçlı sürümler npm'den kaldırılmıştı. Ancak, etkilenen sürümleri sabitleyen (pinned) veya kaldırılmadan önce yükleme yapan herhangi bir proje risk altında. Araştırmacılar, etkilenen bir sürümü yükleyen kuruluşların sistemi potansiyel olarak tehlikeye girmiş olarak ele almasını ve açığa çıkan kimlik bilgilerini döndürmesini öneriyor. Ayrıca CI/CD hatlarının beklenmeyen yayınlama etkinlikleri açısından denetlenmesi tavsiye ediliyor.
Bu saldırı, tedarik zinciri güvenliğinin ne kadar kırılgan olduğunu bir kez daha gözler önüne seriyor. Geliştiricilerin, güvendikleri kaynaklardan gelen paketleri bile dikkatle incelemesi ve yalnızca gerekli paketleri yüklemesi önemli. Ayrıca, derleme hatlarının güvenliği, OIDC gibi modern kimlik doğrulama yöntemleri kullanılsa bile, sürekli olarak izlenmeli ve güçlendirilmelidir. Gelecekte benzer saldırılara karşı, paket imzalama, iki faktörlü kimlik doğrulama ve davranışsal analiz gibi ek güvenlik önlemleri alınması kritik önem taşıyor.
Kaynak: infosecurity-magazine.com