PyTorch altyapısına saldırı, depo ve sürümlerden ödün verilmesi

PyTorch makine öğrenimi çerçevesinin geliştirilmesinde kullanılan altyapıya yapılan saldırının ayrıntıları ortaya çıktı; bu, GitHub ve AWS'deki proje sürümleriyle depoya rastgele veri yerleştirmeye ve kod değiştirmeye yetecek erişim anahtarlarının çıkarılmasını mümkün kıldı. deponun ana şubesine gidin ve bağımlılıklar aracılığıyla bir arka kapı ekleyin. PyTorch sürüm sahteciliği, projelerinde PyTorch kullanan Google, Meta, Boeing ve Lockheed Martin gibi büyük şirketlere saldırmak için kullanılabilir. Bug Bounty programının bir parçası olarak Meta, sorunla ilgili bilgi almak için araştırmacılara 16250 dolar ödedi.

Saldırının özü, kodunuzu yeniden oluşturma gerçekleştiren ve depoya gönderilen yeni değişiklikleri test etmek için işleri çalıştıran sürekli entegrasyon sunucularında çalıştırma yeteneğidir. Sorun, GitHub Eylemleri ile kendi harici "Kendi Kendine Barındırılan Çalıştırıcı" işleyicilerini kullanan projeleri etkilemektedir. Geleneksel GitHub Eylemlerinden farklı olarak, Kendi Kendine Barındırılan işleyiciler GitHub altyapısında değil, kendi sunucularında veya geliştirici tarafından bakımı yapılan sanal makinelerde çalışır.

Sunucularınızda derleme görevlerini yürütmek, bir kuruluşun iç ağını tarayabilen, yerel FS'de şifreleme anahtarları ve erişim belirteçleri için arama yapabilen ve harici depolama veya bulut hizmetlerine erişim için parametrelerle çevresel değişkenleri analiz edebilen kodun başlatılmasını düzenlemenize olanak tanır. Montaj ortamının uygun şekilde yalıtılmaması durumunda, bulunan gizli veriler, örneğin harici API'lere erişim yoluyla harici olarak saldırganlara gönderilebilir. Kendi Kendine Barındırılan Runner'ın projelere göre kullanımını belirlemek için Gato araç seti, genel erişime açık iş akışı dosyalarını ve CI görevi başlatma günlüklerini analiz etmek için kullanılabilir.

PyTorch'ta ve Kendi Kendine Barındırılan Çalıştırıcıyı kullanan diğer birçok projede, yalnızca değişiklikleri daha önce hakemli olarak incelenen ve projenin kod tabanına dahil edilen geliştiricilerin derleme işlerini yürütmesine izin verilir. Depodaki varsayılan ayarları kullanırken "katkıda bulunan" durumuna sahip olmak, çekme istekleri gönderirken GitHub Actions işleyicilerini başlatmayı ve buna göre kodunuzu depoyla veya projeyi denetleyen kuruluşla ilişkili herhangi bir GitHub Actions Runner ortamında yürütmeyi mümkün kılar.

"Katkıda bulunan" durumuna olan bağlantının atlanmasının kolay olduğu ortaya çıktı - önce küçük bir değişiklik göndermek ve bunun kod tabanına kabul edilmesini beklemek yeterlidir, ardından geliştirici otomatik olarak aktif katılımcı durumunu alır, Çekme isteklerinin CI altyapısında ayrı bir doğrulama olmaksızın test edilmesine izin verilenler. Aktif geliştirici durumuna ulaşmak için deneme, belgelerdeki yazım hatalarını düzeltmek amacıyla küçük kozmetik değişiklikler içeriyordu. PyTorch sürümlerinin deposuna ve depolamasına erişim sağlamak için, "Kendi Kendine Barındırılan Çalıştırıcı"da kod çalıştırılırken yapılan saldırı, derleme süreçlerinden depoya erişmek için kullanılan GitHub belirtecinin yanı sıra derleme sonuçlarını kaydetmek için kullanılan AWS anahtarlarını da ele geçirdi. .

Sorun PyTorch'a özel değil ve GitHub Eylemlerinde "Kendi Kendine Barındırılan Çalıştırıcı" için varsayılan ayarları kullanan diğer birçok büyük projeyi etkiliyor. Örneğin, bazı büyük kripto para cüzdanlarına ve milyar dolarlık büyüklüğe sahip blockchain projelerine arka kapı kurmak, Microsoft Deepspeed ve TensorFlow sürümlerinde değişiklik yapmak, CloudFlare uygulamalarından birini tehlikeye atmak ve ayrıca çalıştırmak için benzer saldırıların uygulanmasından bahsedildi. Microsoft ağındaki bir bilgisayarda kod. Bu olayların ayrıntıları henüz açıklanmadı. Mevcut hata ödül programları kapsamında araştırmacılar, birkaç yüz bin dolar değerindeki ödüller için 20'den fazla başvuruda bulundu.

Kaynak: opennet.ru

Yorum ekle