NPM Ekosisteminde Yeni Tehdit: Zararlı Paketler Çalışma Anında Savunmaları Nasıl Atlatıyor?

- Açık kaynak yazılım dünyasını sarsan yeni bir npm zararlı yazılım kampanyası, saldırganların kurulum betiği savunmalarını çalışma anında nasıl atlattığını gözler önüne seriyor.
- Checkmarx araştırmacılarının tespit ettiği kampanya, milyonlarca indirme sayısına ulaşan sahte paketlerle tedarik zincirini hedef alıyor.
Açık kaynak ekosistemlerinin modern yazılım geliştirme süreçlerindeki hayati rolü, maalesef siber suçluların da ana hedefi haline gelmesine neden oldu. Son yıllarda tedarik zinciri saldırılarının artış göstermesiyle birlikte platform sağlayıcıları da güvenlik önlemlerini sürekli olarak güncelliyor. Ancak tehdit aktörleri, bu savunma mekanizmalarını baypas etmek için her geçen gün daha karmaşık ve sinsi yöntemler geliştiriyor. Son olarak ortaya çıkan ve geniş çaplı bir tehlike arz eden npm zararlı yazılım kampanyası, geleneksel kurulum anı taramalarının ve yaşam döngüsü betik engellerinin nasıl devre dışı bırakılabileceğini gözler önüne serdi. Checkmarx güvenlik araştırmacılarının detaylı raporuna göre, popüler kütüphaneleri taklit eden zararlı paketler, tespit edilmeden milyonlarca indirme rakamına ulaşmayı başardı.
indexed-btree Paketi ve Tedarik Zinciri Güvenliğinin Delinmesi
Siber güvenlik dünyasında büyük yankı uyandıran olay, özellikle indexed-btree adlı paketin etrafında şekilleniyor. Meşru ve yaygın olarak kullanılan sorted-btree kütüphanesini birebir taklit etmek üzere tasarlanan bu zararlı paket, haftalık 2 milyon indirme barajını aşarak inanılmaz bir yayılma hızı gösterdi. Saldırganların bu süreçte son derece profesyonel bir yaklaşım sergilediği, hatta projeye ait meşru görünümlü bir GitHub deposu inşa ettiği, geçmiş commit kayıtlarını titizlikle doldurduğu ve geliştirici hesaplarını özenle küratörlükten geçirdiği tespit edildi. Bu durum, yazılım geliştiricilerinin güvenini kazanmak için ne kadar büyük bir mühendislik ve sosyal mühendislik çabası harcandığını net bir şekilde ortaya koyuyor.
Kurulum Betiklerini Baypas Eden Çalışma Anı Stratejisi
Haziran ayında GitHub, açık kaynak ekosistemlerini sarsan tedarik zinciri saldırılarının önüne geçebilmek adına bir dizi sıkı npm güvenlik önlemi duyurmuştu. Bu önlemlerin en kritik ayağını ise açıkça onaylanmadığı sürece preinstall, install ve postinstall gibi bağımlılık yaşam döngüsü betiklerinin engellenmesi oluşturuyordu. Aynı zamanda npm'in izin almadan uzak URL'lerden veya Git depolarından otomatik olarak bağımlılık çekmesi de kısıtlandı.
Ancak zararlı indexed-btree paketi, kurulum betiklerini tamamen devre dışı bırakarak bu korumaları ustalıkla atlattı. Kötü amaçlı yükleyiciyi geleneksel kurulum aşamasına yerleştirmek yerine, paketin kendi BTree.prototype.set() metodunun içine gizleyen saldırganlar, uygulamanın belirli bir anahtar değeriyle bu fonksiyonu çağırdığı çalışma anında (runtime) zararlı kodu tetiklemeyi başardı. Sonuç olarak, paket kurulumu son derece temiz görünüyor ve npm v12'nin onay mekanizmalarını hiçbir şekilde tetiklemiyor.
Checkmarx analistlerinin belirttiğine göre, zararlı yük kütüphanenin temel fonksiyonunun içinde saklanıyor. Geliştirici uygulamayı çalıştırıp ilgili fonksiyonu tetiklediğinde, obfüske edilmiş (şifrelenip karmaşıklaştırılmış) ilk aşama zararlı yazılımı içeren sharedLoad.min.js dosyası devreye giriyor. Bu yöntem, standart leke analizi (taint-analysis) araçlarını ve çoğu statik tarayıcıyı başarıyla atlatmak için son derece akıllıca kurgulanmış bir mimari sunuyor.
Gelişmiş Komuta Kontrol (C2) ve Veri Sızıntısı Mekanizmaları
Zararlı kod sistem üzerinde çalıştırıldıktan sonra derinlemesine bir bilgi toplama faaliyeti yürütüyor. Sistem mimarisi, ana makine adı (hostname), CPU detayları, bellek durumu ve sistemin çalışma süresi (uptime) gibi kritik verileri toplayan zararlı yazılım, bu bilgileri hardcoded (kod içine gömülü) olarak belirlenmiş Slack ve Telegram kanalları üzerinden sızdırıyor.
İletişim altyapısının güvenliği ve gizliliği için ise Sepolia test ağı üzerindeki bir Ethereum akıllı sözleşmesi Komuta Kontrol (C2) bilgileri için sorgulanıyor. Zararlı yazılım, X25519 anahtar değişimi yöntemini kullanarak bir AES anahtarı türetiyor ve bu anahtarla akıllı sözleşmede saklanan ikinci aşama yükün şifresini çözüyor. Operatörler saldırıyı sonlandırmak istediklerinde ise zararlı yazılım kendi dosyalarını ve paket kodundaki kötü amaçlı tetikleyicileri tamamen silerek tüm izleri ortadan kaldırabiliyor.
Operasyonun Boyutu ve Diğer Tehlikeli Paketler
Araştırmacılar, yapılan derinlemesine incelemeler sonucunda aynı operasyona bağlı olan ve npm veritabanından hızla kaldırılan dokuz farklı zararlı paketi daha gün ışığına çıkardı. Bu paketlerin de oldukça yüksek indirme sayılarına ulaştığı şu rakamlarla belgelendi:
btree-core: 1.951.274 indirmebtree-leaderboard: 493.685 indirmebtree-range-store: 468.092 indirmeordered-kv-index: 448.184 indirmesliding-score-window: 448.024 indirmebtree-time-index: 425.312 indirmebtree-lru-cache: 372.185 indirmeneighbor-key-map: 366.019 indirmepriority-slot-queue: 402.860 indirme
Bu devasa rakamlar, açık kaynak ekosistemlerindeki paket yönetim sistemlerinin ne denli büyük bir gizli tehdit altında olduğunu gözler önüne seriyor. Uzmanlar, saldırganların cüzdanında halihazırda önemli miktarda ETH bulunduğunu belirtse de, bu fonların doğrudan kripto para hırsızlığından gelip gelmediği henüz netlik kazanmış değil.
Yazılım Geliştiricileri İçin Kritik Güvenlik Tavsiyeleri
Yaşanan bu son olay, yazılım güvenliğinde paradigma değişiminin kaçınılmaz olduğunu bir kez daha kanıtladı. Sadece kurulum anında yapılan taramalara güvenmek, modern tedarik zinciri saldırılarına karşı yetersiz kalıyor. Geliştiricilerin ve kurumsal güvenlik ekiplerinin mutlaka çalışma anı davranışsal analiz araçlarını (runtime behavioral analysis) sistemlerine entegre etmeleri gerekiyor.
Eğer projelerinde indexed-btree veya yukarıda listelenen zararlı paketlerden herhangi birini kullanmış olan geliştiriciler varsa, acil olarak tüm kimlik bilgilerini, API anahtarlarını ve sistem sırlarını (secrets) yenilemeleri (rotate etmeleri) tavsiye ediliyor. Ayrıca geliştirme ortamlarının güvenli bir yedekten tamamen sıfırdan kurulması, olası kalıcı arka kapıların engellenmesi adına hayati önem taşıyor.
Bu habere tepki ver

Ozan Tankuş
Doğrulanmış EditörMercek360 kurucu editörü ve kıdemli teknoloji analisti. Kurumsal bilişim altyapıları, bulut teknolojileri, yapay zeka sistemleri ve tüketici elektroniği alanlarında uzmanlaşmış olup küresel teknoloji gündemini tarafsız ve derinlemesine incelemektedir.
