Rust Paketleri Tehdit Altında: Derleme Anında Kötücül Kod Tetiklendi

Popüler Rust paketleri güvenlik açığı ile sarsıldı. Geliştiricilerin geniş çapta kullandığı üç Rust paketi, crates.io kayıt defterine kötü niyetli sürümlerle yüklendi ve bu durum, etkilenen projelerin derlenmesi sırasında otomatik olarak çalışan bir arka kapı içeriyordu. Güvenlik araştırmacıları, bu saldırının altyapısının son dönemde Kuzey Kore bağlantılı tedarik zinciri operasyonlarıyla önemli ölçüde örtüştüğünü ortaya koydu. Bu olay, modern yazılım geliştirme süreçlerindeki güvenlik zafiyetlerini ve açık kaynak ekosisteminin karşı karşıya olduğu ciddi riskleri bir kez daha gözler önüne serdi.
Tedarik Zinciri Saldırısının Anatomisi
20 Ağustos tarihinde crates.io platformunda yayınlanan bu kötü niyetli paketler arasında, milyonlarca kez indirilen arrayref@0.3.10 sürümü de bulunuyordu. Diğer etkilenen paketler ise internment@0.8.7 ve append-only-vec@0.1.9 olarak belirlendi. Saldırının temel mekanizması, meşru ve yaygın kullanılan proc-macro2 kütüphanesinin yazım hatasıyla (typosquatting) taklit edilmiş hali olan proc-macro1 bağımlılığını kullanmak üzerine kuruluydu. Kötü amaçlı bu bağımlılık, derleme sürecinde ikinci aşama bir yükü indirip çalıştıran özel bir derleme betiği içeriyordu. Bu karmaşık yapı, geliştiricilerin fark etmesi zor, sinsi bir tehdit oluşturdu.
Siber güvenlik uzmanlarının analizlerine göre, bu kötü niyetli sürümlerin platformda kalma süreleri 86 ila 107 dakika arasında değişiyordu. Bu kısa süre zarfında bile, özellikle arrayref paketinin son 90 günde 53.7 milyon indirmeye sahip olduğu düşünüldüğünde, potansiyel etki alanı oldukça genişti. Saldırı ilk olarak RustSec ve Rust ekibine bildirildiğinde yalnızca arrayref paketinin etkilendiği biliniyordu. Ancak yapılan detaylı incelemeler, tehdidin çok daha kapsamlı olduğunu ve birden fazla kritik paketi hedef aldığını ortaya koydu. Bu durum, açık kaynak ekosisteminin kendi iç dinamikleri üzerinden nasıl suistimal edilebileceğine dair kaygı verici bir örnek teşkil etti.
Derleme Anında Gizlenen Tehdit
Bu saldırının en çarpıcı özelliği, kötü amaçlı kodun derleme zamanında çalışmasıydı. Geliştiricilerin şüpheli bir kodu doğrudan çalıştırmasına veya arrayref’ten bir işlev çağırmasına bile gerek kalmadı. Sadece, Cargo.lock dosyasında arrayref 0.3.10 sürümünü çözümleyen herhangi bir projenin derlenmesi, yükün tetiklenmesi için yeterli oldu. Etkilenen paket derlendiğinde, Cargo.toml yapılandırma dosyası otomatik olarak proc-macro1’i bir bağımlılık olarak ekliyordu. Bu bağımlılık daha sonra Base64 parçacıklarından bir komuta ve kontrol (C2) URL’si oluşturuyor, TLS sertifika doğrulamasını devre dışı bırakıyor, platforma özgü bir yükü indiriyor ve normal derleme sürecinin bir parçası olarak çalıştırıyordu.
Yükün işlevselliği oldukça kapsamlıydı. Cihazın ana bilgisayar, kullanıcı adı ve işletim sistemi bilgilerini toplamanın yanı sıra, yüklü uygulamaları listelediği ve Chrome, Brave ve Edge profillerini kaydedilmiş giriş bilgileri ile uzantı verileri açısından incelediği tespit edildi. Ayrıca, Windows Kayıt Defteri Run anahtarları, macOS LaunchAgents veya Linux systemd kullanıcı hizmetleri aracılığıyla sistemde kalıcılık sağlayabiliyor, kendini yeniden yapılandırmak, sonlandırmak veya betikleri indirip yürütmek için komutlar kabul edebiliyordu. Bu yük, x86_64 tabanlı Linux, Windows ve macOS sistemlerinin yanı sıra Apple Silicon tabanlı macOS cihazlarını da destekliyordu. Ana C2 sunucusunun erişilemez hale gelmesi durumunda her beş günde bir on yeni .com alanı oluşturabilen bir yedek alan adı oluşturma mekanizmasına da sahipti.
Geniş Bir Ekosistemin Etkilenme Potansiyeli
Saldırıya uğrayan Rust paketleri, özellikle arrayref gibi yüksek indirme sayılarına sahip kütüphaneler aracılığıyla milyonlarca geliştiricinin projesine sızma potansiyeli taşıyordu. Bir paketin 245 milyon toplam indirme sayısına sahip olması, bu tür bir tedarik zinciri saldırısının olası yayılımının boyutunu gözler önüne sermektedir. Kötü niyetli kodun derleme anında, yani geliştirme sürecinin kritik bir aşamasında devreye girmesi, tehdidi daha da tehlikeli hale getiriyor. Geliştiriciler, farkında olmadan kötü amaçlı bir yazılımı kendi sistemlerine veya CI/CD boru hatlarına entegre edebilir, bu da hassas verilerin sızdırılmasına veya sistemlerin tamamen ele geçirilmesine yol açabilir.
Bu tür saldırılar, modern yazılım geliştirme pratiklerinin temel taşlarından biri olan açık kaynak bağımlılıklarına duyulan güveni sarsıyor. Birçok proje, yüzlerce hatta binlerce üçüncü taraf kütüphaneye dayanıyor ve her bir bağımlılığın güvenliğini sürekli olarak doğrulamak neredeyse imkansız. Derleme zamanı kod yürütme yeteneği, güvenlik duvarlarını ve geleneksel antivirüs çözümlerini aşarak, sistemlere derinlemesine nüfuz etme imkanı tanıyor. Bu durum, yazılım tedarik zinciri güvenliğinin sadece son ürünün değil, tüm geliştirme ve derleme sürecinin bir parçası olarak ele alınması gerektiğini bir kez daha kanıtlıyor.
Kuzey Kore Bağlantısı ve Küresel Tehditler
Siber güvenlik uzmanları, keşfedilen kötü amaçlı yükün altyapısının, Kuzey Kore bağlantılı olduğu iddia edilen son operasyonlarla önemli ölçüde örtüştüğünü belirtiyor. En güçlü bağlantı, yükün iletişim kurduğu C2 istek yoluyla ortaya çıktı. Bu uç noktanın, daha önce Microsoft tarafından Kuzey Kore bağlantılı Sapphire Sleet grubuna atfedilen Mastra kampanyasında da kullanıldığı tespit edildi. Ayrıca, arrayref kampanyasında kullanılan IP altyapısının, Sapphire Sleet operasyonuyla ilişkilendirilen altyapı ile aynı SSL sertifika sağlayıcısını paylaştığı belirlendi.
Başka bir bağlantı ise Axios npm tedarik zinciri saldırısıyla kuruldu. Bir mağdurun bildirdiği C2 trafiğinde yer alan bir IP adresinin, Google Cloud Tehdit İstihbaratı’nın Axios saldırısıyla ilgili analizinde de geçtiği ve bu saldırının Mandiant tarafından Kuzey Kore’ye bağlandığı ifade edildi. Bu bulgular, devlet destekli aktörlerin açık kaynak ekosistemini hedef alarak geniş çaplı siber casusluk veya sabotaj faaliyetleri yürüttüğüne dair endişeleri artırıyor. Açık kaynak, küresel teknoloji altyapısının temelini oluşturduğundan, bu tür hedefli saldırılar ciddi jeopolitik ve ekonomik sonuçlar doğurabilir.
Geliştiriciler İçin Acil Adımlar ve Korunma Yolları
Bu tür tedarik zinciri saldırılarına karşı korunmak için geliştiricilerin ve kuruluşların proaktif adımlar atması büyük önem taşıyor. İlk olarak, tüm Cargo.lock dosyaları ve yerel Cargo önbellekleri, saldırıya uğrayan arrayref@0.3.10, internment@0.8.7 ve append-only-vec@0.1.9 sürümleri ile saldırgan kontrolündeki diğer paketler açısından derhal taranmalıdır. Bu tarama, olası bir bulaşmayı tespit etmek için kritik bir adımdır.
Eğer herhangi bir geliştirici iş istasyonu veya sürekli entegrasyon (CI) koşucusu, etkilenen bir projeyi derlemişse, bu sistemler derhal tehlikeye atılmış kabul edilmeli ve kapsamlı bir güvenlik protokolü uygulanmalıdır. Bu, sistemlerin ağdan izole edilmesini, yeniden kurulumunu ve tüm hassas kimlik bilgilerinin değiştirilmesini içerebilir. Ayrıca, bağımlılıkları yönetirken dikkatli olmak, yalnızca güvenilir kaynaklardan gelen paketleri kullanmak ve bağımlılık güncellemelerini dikkatlice incelemek, gelecekteki riskleri minimize etmek için vazgeçilmezdir. Otomatik güvenlik tarayıcıları ve kod analizi araçlarının kullanımı, olası zafiyetleri erken aşamada tespit etmeye yardımcı olabilir.
Sık Sorulan Sorular
İlgili Makaleler
- ›Kurumsal Yapay Zeka Ajanları İçin Güvenli Veri Altyapısı
- ›Yeni Ajan Kimliği Standartları: Güvenlik Paradoksu Ortaya Çıkıyor
- ›AWS AgentCore: Bulut Geçişinde Yapay Zeka Ajanları Dönüşümü
- ›Yapay Zeka Bulut Bilişim: Neocloudlar ve Hiperskalacıların Rekabeti
- ›Yapay Zeka Çağında Teknoloji İletişimi: İnsan Yargısının Yükselişi
