JavaScript ekosisteminin en yaygın kullanılan derleme araçlarından birini taklit eden kötü niyetli bir npm paketi tespit edildi. JFrog araştırmacılarına göre, 'postcss-minify-selector-parser' adlı paket, haftada 150 milyondan fazla indirilen popüler 'postcss-selector-parser' kütüphanesinin kimliğine bürünerek geliştirici makinelerine çok aşamalı bir Windows uzaktan erişim truva atı (RAT) bulaştırıyor. Saldırı, yazılım tedarik zincirini hedef alan klasik bir paket kimlik avı örneği olarak öne çıkıyor.
Sahte paket, isim benzerliği sayesinde hızlı bağımlılık incelemelerinde göze çarpmıyor. Gerçek paketle aynı anahtar kelimeleri (postcss, selector, parser) kullanan ve hatta gerçek postcss-selector-parser'ı kendi bağımlılığı olarak listeleyen paket, yazım denetimlerini atlatmayı başarıyor. JFrog, aynı yayıncı (abdrizak) tarafından yüklenen 'postcss-minify-selector' ve 'aes-decode-runner-pro' adlı iki paketi daha tespit etti. Bu üç paket birbirine bağımlılık yoluyla bağlanıyor ve aynı Windows saldırı zincirini tetikliyor.
Saldırı, paketin projeye import edilmesiyle başlıyor. Beklenen ayrıştırıcı (parser) mantığı yerine, dosya büyük bir AES-256-GCM şifreli blob ve onu çözen bir kod içeriyor. Çözülen içerik, bir PowerShell betiğini diske yazıp çalıştıran bir dropper görevi görüyor. PowerShell betiği, 'nvidiadriver[.]net' adlı sahte bir sürücü sitesinden Windows yaması kılığında bir ZIP arşivi indiriyor ve geçici klasöre açıyor. Arşiv, paketlenmiş bir Python çalışma zamanı ve Nuitka ile derlenmiş modüller içeriyor. Bir VBScript başlatıcı, bu modülleri çalıştırarak RAT'ı devreye sokuyor.
RAT, çalışmaya başladığında şifrelenmiş HTTP üzerinden komut sunucusuyla iletişim kuruyor. Kayıt defterine run anahtarı ekleyerek kalıcılık sağlıyor. Ayrıca, ana makinenin sanal makine içinde çalışıp çalışmadığını kontrol ediyor. JFrog, RAT'ın uzaktan kabuk açma, dosya transferi ve kurbanın verilerini çalma yeteneklerine sahip olduğunu belirtiyor. Özellikle Google Chrome tarayıcısını hedef alan RAT, kaydedilmiş şifreleri çalabiliyor ve tarayıcının yeni uygulama bağlı şifrelemesini (app-bound encryption) aşabiliyor.
Uzmanların Görüşleri
Bu saldırı, yazılım geliştiricileri için önemli dersler içeriyor. JFrog, 'savunmacılar için önemli ders, benzer isimli derleme bağımlılıklarını potansiyel bir teslimat mekanizması olarak görmek, sadece zararsız bir isimlendirme gürültüsü olarak değil' uyarısında bulunuyor. Geliştiricilerin, projelerine ekledikleri her paketi dikkatlice incelemesi, özellikle popüler kütüphanelerin taklitlerine karşı tetikte olması gerekiyor. Ayrıca, güvenilir kaynaklardan güncelleme yapmak ve bağımlılık tarama araçları kullanmak da önemli.
Sistem Güvenliği
Korunmak için, bu paketleri yükleyenlerin hemen kaldırması, geçici klasör ve kayıt defteri izlerini kontrol etmesi ve tüm kayıtlı kimlik bilgilerini döndürmesi öneriliyor. JFrog'un analizi, tedarik zinciri saldırılarının giderek karmaşıklaştığını ve geliştiricilerin sadece yazım hatalarına değil, aynı zamanda gerçekçi görünen kimlik avı paketlerine karşı da dikkatli olması gerektiğini gösteriyor.
Kaynak: infosecurity-magazine.com