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

Açık kaynakta keşfedilen sürekli entegrasyon ve sürekli teslim (CI/CD) yanlış yapılandırmaları TensorFlow makine öğrenimi çerçevesinden yararlanılmış olabilir tedarik zinciri saldırıları.

Praetorian araştırmacıları Adnan Khan ve John Stawinski, 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şmaya varmak” amacıyla kötüye kullanılabileceğini söylüyor. söz konusu bu hafta yayınlanan bir raporda.

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 GitHub Kişisel Erişim Simgesini (PAT) almasına olanak tanıyabilir. tensorflow-jenkins kullanıcısı.

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 şunlardan biri olabilir: kendi kendine barındırılan veya GitHub tarafından barındırılıyor.

GitHub, “Yalnızca özel depolara sahip, kendi kendine barındırılan koşucuları kullanmanızı öneririz.” notlar belgelerinde. “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 şunları bulduğunu söyledi: çatal çekme istekleri onay gerektirmeden uygun CI/CD iş akışlarını otomatik olarak tetikleyen önceki katkıda bulunanlardan.

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ığın kapısını açtığını) aynı zamanda GITHUB_TOKEN iş akışıyla ilgili izinler kapsamlı yazma izinleriyle birlikte geldi.

“Çünkü GITHUB_TOKEN’in içerikler:yazma iznisürümleri 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ı kodu gizlice bir TensorFlow deposuna enjekte ederek kodu doğrudan TensorFlow deposuna göndermek için silah haline getirilebilir. özellik dalı ve ana şubeyle birleştirilmesini sağlamak.

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.

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 birkaçının ortaya çıktığını ortaya koymasıyla geldi. halka açık GitHub depolarıile ilişkili olanlar dahil Chia Ağları, Microsoft DeepSpeedVe PyTorchşirket içinde barındırılan GitHub Actions çalıştırıcıları aracılığıyla kötü amaçlı kod enjeksiyonuna karşı hassastır.



siber-2