Teknoloji

Red Hat’in paketlerine gizlenen zararlı kod kendi kendine yayıldı

Susan Hill

Bir süre boyunca, Red Hat adıyla dağıtılan yazılım yapı taşlarının bir kısmı, onları kuran kişilere karşı sessizce çalıştı. Şirketin herkese açık @redhat-cloud-services koleksiyonundaki 30’dan fazla paketin içinde, bir geliştirici herhangi birini kurar kurmaz çalışmaya hazır küçük bir betik gizliydi. Betik, npm aracının kendi başına yürüttüğü otomatik görevlerden biri olan preinstall adımı olarak ayarlanmıştı; gerçek yazılımın tek bir satırı bile yüklenmeden önce devreye giriyordu. Görevi parolaları bulmak, ardından yayılmaktı.

Red Hat çoğu insanın adıyla açtığı uygulamalar yapmaz, ama kodu her gün kullandıkları şeyin büyük bir kısmının altında durur: bir bankanın giriş yaptığı bulut panelleri, hastanelerin ve kamu kurumlarının üzerinde çalıştığı sistemler, başka şirketlerin kendi ürünlerini inşa ettiği araçlar. O etiketi taşıyan bir kod düşmanlaştığında, etki yarıçapı tek bir uygulama değildir. Üzerine kurulmuş olan her şeydir.

Gizli betik, modern bilişimin kilidini açan anahtarların peşine düştü. Paketleri ilk fark eden güvenlik şirketi StepSecurity’ye göre, Amazon Web Services, Google Cloud, Microsoft Azure, Kubernetes, HashiCorp Vault, npm’in kendisi ve otomasyon hizmeti CircleCI için erişim jetonlarını, ayrıca GitHub’ın derleme hatları içinde saklanan sırları topladı. Bunlara ulaşmak için çalışan derleme sürecinin ham belleğini okudu; bu, sırları günlüklerden uzak tutması gereken korumaların yanından sıyrılan bir numaraydı.

Sıradan bir veri hırsızlığını bir salgına yaklaştıran şey, kodun ardından yaptığıydı. Çalınan npm yayınlama jetonlarıyla, ele geçirilen hesabın erişebildiği diğer tüm paketlerin yeni arka kapılı sürümlerini yüklemeye çalıştı; bunu yaparken, normalde önünde duracak iki adımlı doğrulamayı bir kenara iten bir ayardan yararlandı. Kendini kopyalayan bir hırsızlık ilk kurbanlarında kalmaz. Tüm sistemin üzerine oturduğu aynı güven boyunca yol alır.

Geliştiricilerin kendi makinelerinde yük daha da ileri gitti: kurulum bittikten çok sonra da çalışmaya devam etmek için Visual Studio Code’un görev ayarlarına ve yapay zekâ programlama asistanı Claude Code’un yapılandırmasına talimatlar bıraktı. Bu paketleri kurma olasılığı en yüksek olanlar, yani herkesin yazılımını ayakta tutan mühendisler, aynı zamanda dizüstü bilgisayarları bir giriş kapısına dönüşenlerdi.

En rahatsız edici ayrıntı, kötü sürümlerin nereden geldiğidir. Sorunu projenin herkese açık takip sayfasında kabul eden Red Hat geliştiricileri ile kodu söken araştırmacılar aynı fikirde: zehirli sürümler, Red Hat’in kendi otomatik yayınlama hattından, yani kodu depolardan alıp dünyaya gönderen mekanizmadan çıktı. Saldırganlar Red Hat kılığına girmedi. Bir süreliğine Red Hat olarak yayın yapabildiler. Güven mührü ile güvenilen şey birbirinden ayrıldı.

Özgür yazılımın tedarik zincirinin bir teslimat güzergâhına çevrilmesi ilk kez olmuyor. Zehirlenmiş tarayıcı eklentileri ve ele geçirilmiş geliştirici hesapları bahar boyunca tekrar tekrar ortaya çıktı; hepsi aynı alışkanlığı kullandı: modern yazılım, kimsenin sıfırdan yazmadığı binlerce ücretsiz bileşenden yapıştırılır. Bu olayı daha ağır kılan, kutunun üzerindeki isimdir. Anonim bir katkıcı yerine Red Hat gibi bir sağlayıcıdan kod almanın bütün mantığı, o ismin garanti olması gerektiğidir.

Bu olayın ne anlama gelmediğini açıkça söylemekte fayda var. Şimdiye dek sıradan kullanıcıların cihazlarının bulaştığına ya da Red Hat’in ücretli kurumsal ürünlerine ve müşterilerinin üretim sistemlerine girildiğine dair bir iz yok. Zararlı sürümler geliştirmenin dağınık orta katmanını, otomatik derleme sunucularını ve mühendislerin makinelerini hedef aldı; etkilenen paketlerin çoğu da çalışan bir hizmetin çekirdeği değil, arayüz ve geliştirici araçları. Tablo ayrıca hâlâ değişiyor ve Red Hat ile dış araştırmacılar listeyi incelerken bulaşmış paketlerin tam sayısı kaydı. En çok önem taşıyan zarar, çalınan kimlik bilgileri, biri onları kullanana kadar görünmez kalır.

Red Hat zararlı sürümleri tek tek kaldırdı ve ele geçirilen yayınlar npm’den çekiliyor. Etkilenen zaman aralığında bunları kuranlardan, derlemenin görebildiği her jetonu yanmış saymaları ve yenilemeleri isteniyor. Açıklama haziran başında geldi ve temizlik manşetlerden daha uzun sürecek. Yapısal sorun temizlikten daha uzun sürecek: internet, büyük bir hızla, hiç tanımayacağımız insanların ve giderek artan biçimde, o parçaları onların yerine imzalamak üzere ele geçirilebilen otomatik sistemlerin bakımını yaptığı milyonlarca küçük parçadan kuruluyor.

Etiketler: , ,

Tartışma

S kadar yorum var.