AsyncAPI npm Tedarik Zinciri Saldırısı: Haftada 2 Milyon İndirilen Paketlere Kötü Amaçlı Yazılım Bulaştı Yazılım

AsyncAPI npm Tedarik Zinciri Saldırısı: Haftada 2 Milyon İndirilen Paketlere Kötü Amaçlı Yazılım Bulaştı

AsyncAPI npm organizasyonu, haftada 2 milyon indirilen 4 paketine sızdı. İçlerine bilgi, kripto hırsızı ve RAT özellikli 92 bin satırlık bir kötü amaç

OX Security araştırmacıları, 14 Temmuz’da AsyncAPI npm organizasyonunun hacklendiğini ve dört farklı pakete kötü amaçlı kod enjekte edildiğini duyurdu. @asyncapi/generator 3.3.1, @asyncapi/generator-components 0.7.1, @asyncapi/generator-helpers 1.1.1 ve @asyncapi/specs 6.11.2 ile 6.11.2-alpha.1 sürümleri tehlikeye atıldı. Bu paketlerin haftalık toplam indirilme sayısı 2 milyonu aşıyor. AsyncAPI, olay odaklı API’ler geliştiren geniş bir kitle tarafından kullanıldığı için saldırının etki alanı oldukça geniş.

OX Security, saldırıyı 'çok aşamalı, son derece sofistike bir tedarik zinciri saldırısı' olarak nitelendirdi. Enjekte edilen kötü amaçlı yazılım, hibrit bir yapıya sahip: bilgi hırsızı, kripto hırsızı ve Uzaktan Erişim Truva Atı (RAT) işlevlerini bir arada barındırıyor. Araştırmacılar, kötü amaçlı yazılımın, bilinen Miasma kampanyası gibi saldırıları taklit ederek analistlerin kafasını karıştırmaya çalıştığını belirtti. Kod, tam 91,973 satırdan oluşuyor; bu da saldırganların işi aceleye getirmediğini gösteriyor.

Altyapı seçimleri dikkat çekici: Kötü amaçlı yazılım, yükünü barındırmak ve birincil C2 sunucusu (85.137.53.71) devre dışı kalırsa yedek komuta kontrol sunucusu olarak IPFS (InterPlanetary File System) kullanıyor. IPFS, meşru bir eşler arası dosya depolama ağı. Ayrıca BitTorrent bootstrap düğümleri (router.bittorrent.com, router.utorrent.com, dht.transmissionbt.com) üzerinden iletişimi sürdürerek ağ katmanında engellenmeyi aşmaya çalışıyor. Bu sayede tek bir kanal bloke edilse bile birden fazla yedek yol devreye giriyor.

Kötü amaçlı yazılımın en tehlikeli özelliği, kendi kendini yayma kabiliyeti. Eğer bulaştığı cihazda npm, PyPI veya Cargo için geçerli kimlik doğrulama tokenları bulursa, bu tokenları kullanarak kendisini mağdurun bakımını yaptığı paketlere yayınlamaya çalışıyor. Yani tek bir geliştirici hesabının ele geçirilmesi, yeni bir dağıtım vektörü haline geliyor. Kod içinde 0x12c37A86a0Ed0beBe5d1d6a43E42f07860eAc710 adresli bir Ethereum sözleşmesi de tespit edildi, ancak işlevi tam olarak çözülemedi.

Sistem Güvenliği

Güvenlik önlemleri de yazılıma eklenmiş: Sanal makinede çalışıp çalışmadığını, uç nokta tespit aracı olup olmadığını ve sistem dilinin Rusça olup olmadığını kontrol ediyor. Bu koşullardan biri doğruysa kendini sonlandırıyor. Bu, saldırganların kendi makinelerine bulaşmasını veya güvenlik araştırmacılarının kum havuzlarında incelenmesini engellemek için yaygın bir taktik. OX Security, kodda Miasma kampanyasına benzerlikler olsa da bu kötü amaçlı yazılımın farklı olduğunu ve Miasma/Shai-Hulud/TeamPCP ile ilişkilendirilmemesi gerektiğini vurguluyor.

Sonuç ve Değerlendirme

npm’in 12. sürümü, kurulum sonrası scriptleri engelleyerek bir güvenlik önlemi getirmişti. Ancak saldırganlar bu önlemi aşmak için kötü amaçlı kodu doğrudan ana JavaScript dosyasına enjekte etti. Bu sayede kod, projeye import edildiği anda çalışıyor. OX Security, bu durumun 'npm doğru savaşı yanlış silahlarla savaşıyor' tezini güçlendirdiğini belirtiyor. Geliştiricilerin, etkilenen sürümleri kullandıkları makinelerdeki tüm npm, PyPI ve Cargo tokenlarını iptal etmeleri, sırları döndürmeleri ve son taahhütleri incelemeleri öneriliyor.

Kaynak: securityaffairs.com

Paylaş: