TensorFlow CI/CD Kusuru Tedarik Zincirini Zehirlenme Saldırılarına Maruz Bıraktı


18 Ocak 2024Haber odasıTedarik Zinciri Saldırıları / Yapay Zeka Güvenliği

Zehirlenme Saldırıları

Açık kaynaklı TensorFlow makine öğrenimi çerçevesinde keşfedilen sürekli entegrasyon ve sürekli teslimat (CI/CD) yanlış yapılandırmaları, tedarik zinciri saldırılarını düzenlemek için istismar edilmiş olabilir.

Praetorian araştırmacıları Adnan Khan ve John Stawinski, bu hafta yayınlanan bir raporda, yanlış yapılandırmaların bir saldırgan tarafından “TensorFlow’un derleme aracılarını kötü niyetli bir çekme isteği yoluyla tehlikeye atarak GitHub ve PyPi’deki TensorFlow sürümlerinin tedarik zincirinde uzlaşma sağlamak” amacıyla kötüye kullanılabileceğini söyledi.

Bu sorunların başarıyla kullanılması, harici bir saldırganın kötü amaçlı yayınları GitHub deposuna yüklemesine, şirket içinde barındırılan GitHub çalıştırıcısında uzaktan kod yürütmesine ve hatta tensorflow-jenkins kullanıcısı için bir GitHub Kişisel Erişim Simgesini (PAT) almasına olanak tanıyabilir.

TensorFlow, yazılım oluşturma, test etme ve dağıtım hattını otomatikleştirmek için GitHub Eylemlerini kullanır. GitHub Eylemleri iş akışında işleri yürüten makineleri ifade eden koşucular, kendi kendine barındırılabilir veya GitHub tarafından barındırılabilir.

Siber güvenlik

GitHub belgelerinde “Yalnızca özel depolara sahip, kendi kendine barındırılan koşucuları kullanmanızı öneririz” diyor. “Bunun nedeni, genel deponuzun çatallarının, kodu bir iş akışında yürüten bir çekme isteği oluşturarak, kendi kendine barındırılan koşucu makinenizde potansiyel olarak tehlikeli kod çalıştırabilmesidir.”

Başka bir deyişle, bu, herhangi bir katkıda bulunanın, kötü niyetli bir çekme isteği göndererek, kendi kendine barındırılan koşucu üzerinde rastgele kod yürütmesine olanak tanır.

Ancak bu, GitHub tarafından barındırılan koşucular için herhangi bir güvenlik sorunu teşkil etmez; çünkü her bir koşucu geçicidir ve iş yürütmenin sonunda yok edilen temiz, yalıtılmış bir sanal makinedir.

Praetorian, kendi kendine barındırılan koşucularda yürütülen TensorFlow iş akışlarını tanımlayabildiğini ve daha sonra önceki katkıda bulunanlardan gelen ve uygun CI/CD iş akışlarını onay gerektirmeden otomatik olarak tetikleyen çatal çekme isteklerini bulabildiğini söyledi.

Hedef depoya truva atı uygulamak isteyen bir düşman, bu nedenle bir yazım hatasını düzeltebilir veya küçük ama meşru bir kod değişikliği yapabilir, bunun için bir çekme isteği oluşturabilir ve ardından katkıda bulunan olmak için çekme isteğinin birleştirilmesini bekleyebilir. Bu daha sonra hileli bir çekme isteği oluşturarak herhangi bir kırmızı bayrak kaldırmadan koşucu üzerinde kod yürütmelerine olanak tanıyacaktır.

İş akışı günlüklerinin daha ayrıntılı incelenmesi, kendi kendine barındırılan koşucunun yalnızca geçici olmadığını (böylece kalıcılığa kapıyı açtığını) aynı zamanda iş akışıyla ilişkili GITHUB_TOKEN izinlerinin kapsamlı yazma izinleriyle birlikte geldiğini ortaya çıkardı.

“GITHUB_TOKEN İçerik:yazma iznine sahip olduğundan, yayınları https://github’a yükleyebilir[.]com/tensorflow/tensorflow/releases/,” dedi araştırmacılar. “Bu `GITHUB_TOKEN’lerden birinin güvenliğini ihlal eden bir saldırgan, kendi dosyalarını Sürüm Varlıklarına ekleyebilir.”

Üstelik, içindekiler:yazma izinleri, kötü amaçlı kodun gizlice bir özellik dalına enjekte edilmesi ve ana dalla birleştirilmesi yoluyla kodu doğrudan TensorFlow deposuna göndermek için silah haline getirilebilir.

Hepsi bu değil. Bir tehdit aktörü, Python Paket Dizini (PyPI) kayıt defterinde kimlik doğrulaması yapmak için yayın iş akışında kullanılan AWS_PYPI_ACCOUNT_TOKEN’i çalabilir ve kötü amaçlı bir Python .whl dosyası yükleyerek paketi etkili bir şekilde zehirleyebilir.

Araştırmacılar, “Bir saldırgan, JENKINS_TOKEN deposu sırrını tehlikeye atmak için GITHUB_TOKEN’in izinlerini de kullanabilir; bu sır, kendi kendine barındırılan koşucularda çalışan iş akışlarında kullanılmamış olsa bile.” dedi.

Siber güvenlik

1 Ağustos 2023’teki sorumlu açıklamanın ardından eksiklikler, 20 Aralık 2023 itibarıyla proje sahipleri tarafından tüm çatal çekme isteklerinden gönderilen iş akışları için onay istenerek ve GITHUB_TOKEN izinleri üzerinde çalışan iş akışları için salt okunur olarak değiştirilerek giderildi. kendi kendine barındırılan koşucular.

Araştırmacılar, “Daha fazla kuruluş CI/CD süreçlerini otomatikleştirdikçe benzer CI/CD saldırıları da artıyor” dedi.

“AI/ML şirketleri, iş akışlarının çoğu GitHub tarafından barındırılan çalıştırıcılarda bulunmayan önemli miktarda bilgi işlem gücü gerektirdiğinden özellikle savunmasızdır, dolayısıyla kendi kendine barındırılan çalıştırıcıların yaygınlığı.”

Açıklama, her iki araştırmacının da Chia Networks, Microsoft DeepSpeed ​​ve PyTorch ile ilişkili olanlar da dahil olmak üzere birçok halka açık GitHub deposunun, kendi kendine barındırılan GitHub Actions çalıştırıcıları aracılığıyla kötü amaçlı kod enjeksiyonuna açık olduğunu ortaya çıkarmasıyla geldi.

Bu makaleyi ilginç buldunuz mu? Bizi takip edin heyecan ve yayınladığımız daha özel içerikleri okumak için LinkedIn.





Source link