Açık kaynak ekosisteminde yeni bir güvenlik tehdidi ortaya çıktı. Geleneksel yazım hatası (typosquatting) saldırıları yerini daha sofistike bir yönteme bıraktı: gerçekçi paket taklidi. Sonatype'ın kapsamlı analizine göre, incelenen 4.309 kötü amaçlı paketin %91'i, meşru projelerin adlarını yanlış yazmak yerine, geliştiricilerin doğal olarak kullanacağı eklenti, yapılandırma ve yardımcı program adlarını taklit ediyor. Bu değişim, geleneksel güvenlik önlemlerinin artık yetersiz kaldığını gösteriyor.
Sonatype'ın araştırması, kötü amaçlı paketlerin sadece %9'unun klasik yazım hatası taktiklerine dayandığını ortaya koydu. Bu oran, mevcut güvenlik sistemlerinin büyük ölçüde yazım hatalarını yakalamaya odaklandığı düşünüldüğünde endişe verici. Saldırganlar artık 'loadsh' yerine 'lodash' gibi basit hatalar yerine, 'jquery-plugin' veya 'express-config' gibi meşru görünen isimler kullanıyor. Bu taktik, geliştiricilerin paketleri yüklerken daha dikkatli olmasını gerektiriyor.
Bu paketlerin davranışları da oldukça tehlikeli. Analiz edilen kötü amaçlı paketlerin en yaygın eylemi, ana bilgisayar ve gizli bilgilerin (secrets) dışarı sızdırılması (exfiltration) oldu. Bunu damlacıklar (droppers) ve arka kapılar (backdoors) takip etti. Bu, rutin bir kurulum işlemini, kimlik bilgilerinin çalınması ve sistemin ele geçirilmesi için bir yola dönüştürüyor. Özellikle bulut ortamlarında kullanılan API anahtarları ve veritabanı şifreleri gibi hassas bilgiler hedef alınıyor.
Saldırganların kullandığı taktikler arasında en yaygın olanı sonek ekleme (suffix addition) oldu ve vakaların %43,6'sını oluşturdu. Bunu önek ekleme (prefix), hedef terim gömme (embedded target terms), bağımlılık karışıklığı (dependency confusion) ve sürüm taklidi (version mimicry) takip etti. Örneğin, bir saldırgan 'react' adlı popüler bir kütüphanenin adına '-helper' ekleyerek 'react-helper' adlı bir paket oluşturabilir. Geliştirici, 'react' ile ilgili bir yardımcı ararken bu paketi fark etmeden yükleyebilir.
Bağımlılık karışıklığı saldırısı, özellikle özel (private) paketler ile genel (public) paketler arasındaki ad çakışmalarını kullanır. Saldırgan, genel depoda aynı adı taşıyan bir paket yayınlar ve geliştiricinin paket yöneticisi (npm, pip vs.) özel paket yerine genel paketi indirir. Sürüm taklidi ise, saldırganın meşru bir paketin eski bir sürümünü taklit ederek güvenlik açıklarından yararlanmasını sağlar. Bu yöntem, özellikle otomatik güncelleme sistemlerini hedef alır.
Sistem Güvenliği
Geliştiricilerin bu tehdide karşı alabileceği önlemler var. İlk olarak, paketleri yüklerken isimlerini dikkatlice kontrol etmeli ve resmi kaynaklardan geldiğinden emin olmalıdırlar. İkinci olarak, paket imzalarını doğrulamak ve güvenilir kaynaklardan gelen paketleri tercih etmek önemli. Üçüncü olarak, bağımlılık yönetim araçları kullanılarak paketlerin bütünlüğü kontrol edilebilir. Ayrıca, düzenli güvenlik taramaları ve güncellemeler, bu tür saldırılara karşı koruma sağlar. Son olarak, kuruluşların yazılım tedarik zinciri güvenliğine yatırım yapması ve çalışanlarını bu konuda eğitmesi kritik öneme sahip.
Sonuç olarak, açık kaynak paketlerindeki bu yeni tehdit, geliştiricilerin ve güvenlik ekiplerinin daha dikkatli olmasını gerektiriyor. Saldırganlar, yazım hatası gibi basit yöntemlerden daha karmaşık ve inandırıcı taklitlere yöneliyor. Bu değişime ayak uydurmak için güvenlik stratejilerinin de evrilmesi şart. Otomatik taramaların yanı sıra, insan faktörü de bu saldırılara karşı en önemli savunma hatlarından biri olmaya devam ediyor.
Kaynak: infosecurity-magazine.com