Popüler JavaScript paketi UAParser.js’ye kötü amaçlı kod yerleştirildi

Dünya çapında on milyonlarca bilgisayarda yüklü Npm paketi UAParser.js’ye parola çalan bir yazılım ve madencilik yazılımı yerleştirildi. İşte yapmanız gerekenler.

Kimliği belirsiz saldırganlar, popüler bir JavaScript kütüphanesi olan UAParser.js’nin bazı sürümlerine kötü amaçlı kod yerleştirerek güvenliğini ihlal ettiler. Geliştiriciler sayfasındaki istatistiklere göre birçok projede, her hafta 6 ila 8 milyon kez indirme yapılan bu kütüphane kullanılıyor.

Kütüphanenin 0.7.29, 0.8.0 ve 1.0.0 versiyonlarının güvenliği kötü niyetli kişiler tarafından ihlal edildi. Bu yüzden tüm kullanıcıların ve sistem yöneticilerinin mümkün olan en kısa sürede kullandıkları kütüphane sürümlerini 0.7.30, 0.8.1 ve 1.0.1 sürümlerine güncellemesi gerekiyor.

Peki nedir bu UAParser.js ve neden bu kadar popüler?

JavaScript kullanan geliştiriciler, tarayıcıların gönderdiği kullanıcı aracısı (User-Agent) verileri ayrıştırmak için UAParser.js kütüphanesini kullanıyor. Söz konusu kütüphanenin birçok internet sitesinde uygulanmasının yanı sıra Facebook, Apple, Amazon, Microsoft, Slack, IBM, HPE, Dell, Oracle, Mozilla ve daha bir çok şirket tarafından yazılım geliştirme sürecinde de kullanılıyor. Dahası, bazı yazılım geliştiriciler, kod testi için yine bu kütüphaneye bağlı olan Karma çerçevesi gibi üçüncü taraf araçlardan faydalanıyor ve tedarik zincirine bir bağlantı daha ekleyerek saldırının ölçeğini büyütüyor.

Kötü amaçlı kodun girişi

Saldırganlar, kötü amaçlı kodları hem Linux hem de Windows’ta kurbanların bilgisayarına indirmek ve yürütmek için kütüphaneye kötü amaçlı komut dosyaları yerleştirdi. Modüllerden birinin amacı kripto para madenciliği yapmaktı. İkincisi ise (yalnızca Windows için olan modül) tarayıcı çerezlerini, parolaları ve işletim sistemi kimlik bilgileri gibi gizli bilgileri çalabiliyordu.

Ayrıca yapabildikleri bunlarla da sınırlı değildi: ABD Siber Güvenlik ve Altyapı Koruma Ajansı’nın (CISA) yaptığı uyarıya göre güvenliği ihlal edilmiş kütüphanelerin yüklenmesi, saldırganlara, kötü amaçlı kodun bulaştığı sistemlerin kontrolünü ele geçirme imkanı da sunuyor.

GitHub kullanıcılarına göre kötü amaçlı yazılım, Linux’ta jsextension ve Windows’ta jsextension.exe adında ikili (binary) dosyalar oluşturuyor. Bu dosyaların varlığı, açık bir şekilde sistem güvenliğinin ihlal edildiğini gösteriyor.

Kötü amaçlı kod UAParser.js kütüphanesine nasıl sızdı?

UAParser.js projesinin geliştiricisi Faisal Salman’ın belirttiğine göre kimliği belirsiz bir saldırgan, kendisinin npm deposundaki hesabına erişim sağladı ve UAParser.js kütüphanesinin üç kötü amaçlı sürümünü yayınladı. Geliştirici, güvenliği ihlal edilmiş paketlere hemen bir uyarı ekledi ve npm destek ekibiyle iletişime geçerek tehlikeli sürümlerin bir an önce kaldırılmasını sağladı. Ancak yine de kaldırılmadan önce çok sayıda makinenin bu paketleri indirmiş olması muhtemel.

Görünüşe göre söz konusu sürümler dört saatten uzun bir süre boyunca, Avrupa saatiyle 22 Ekim 14:15 ila 18:23 arasında erişilebilir halde kaldı. Akşam üzeri geliştirici gelen kutusunda olağandışı bir spam etkinliği fark etti — kendisini şüpheli etkinlik konusunda uyaranın bu olduğunu söylüyor — ve sorunun temel nedenini keşfetti.

Kötü amaçlı kod bulaşan kütüphaneleri indirdiyseniz ne yapmalısınız?

İlk adım, bilgisayarlarda kötü amaçlı yazılım olup olmadığını kontrol etmektir. Saldırıda kullanılan kötü amaçlı yazılımın tüm bileşenleri ürünlerimiz tarafından başarılı bir şekilde tespit edilir.

Ardından kütüphanelerinizi yama yapılmış 0.7.30, 0.8.1 ve 1.0.1 sürümlerine güncelleyin. Ancak bu da yeterli değildir: Önerilen, kötü amaçlı kod bulunan bir kütüphane sürümünün yüklendiği veya yürütüldüğü herhangi bir bilgisayarın, güvenliği tamamen ihlal edilmiş olarak kabul edilmesidir. Bu nedenle, kullanıcıların ve yöneticilerin bu bilgisayarlarda kullanılan tüm kimlik bilgilerini değiştirmesi gerekir.

Genelde geliştirme veya derleme ortamları, tedarik zinciri saldırıları düzenlemeye çalışan saldırganlar için uygun hedeflerdir. Bu da, bu tür ortamlarda acilen kötü amaçlı yazılım koruması kullanılması gerektiği anlamına gelir.

İpuçları