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

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 "kötü niyetli bir çekme isteği yoluyla TensorFlow'un derleme aracılarını tehlikeye atarak GitHub ve PyPi'deki TensorFlow sürümlerinin tedarik zinciri uzlaşmasını gerçekleştirmek" için kötüye kullanılabileceğini söyledi.

Bu sorunlardan başarılı bir şekilde yararlanılması, harici bir saldırganın GitHub deposuna kötü amaçlı sürümler 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 Belirteci (PAT) almasına izin verebilir.

TensorFlow, yazılım oluşturma, test etme ve dağıtım işlem hattını otomatikleştirmek için GitHub Actions'ı kullanır. GitHub Actions iş akışında iş yürüten makinelere başvuran çalıştırıcılar, şirket içinde barındırılabilir veya GitHub tarafından barındırılabilir.

GitHub belgelerinde "Yalnızca özel depolara sahip kendi kendine barındırılan çalıştırıcıları 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 çalıştırıcı makinenizde potansiyel olarak tehlikeli kod çalıştırabilmesidir."

Başka bir deyişle, bu, herhangi bir katılımcının kötü amaçlı bir çekme isteği göndererek kendi kendine barındırılan çalıştırıcıda 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 endişesi oluşturmaz, çünkü her 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ı belirleyebildiğini ve daha sonra onay gerektirmeden uygun CI/CD iş akışlarını otomatik olarak tetikleyen önceki katkıda bulunanlardan çatal çekme isteklerini bulabildiğini söyledi.

Bu nedenle, bir hedef depoyu trojanize etmek isteyen bir saldırgan, 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 bulunmak için çekme isteğinin birleştirilmesini bekleyebilir. Bu, daha sonra sahte bir çekme isteği oluşturarak herhangi bir kırmızı bayrak yükselten koşucu sans üzerinde kod yürütmelerini sağlar.

İş akışı günlüklerinin daha fazla incelenmesi, şirket içinde barındırılan çalıştırıcının yalnızca geçici olmadığını (böylece kalıcılık için kapıyı açtığını), aynı zamanda iş akışıyla ilişkili GITHUB_TOKEN izinlerinin kapsamlı yazma izinleriyle geldiğini ortaya çıkardı.

"GITHUB_TOKEN contents:write iznine sahip olduğundan, yayınları https://github'a yükleyebilir[.] com/tensorflow/tensorflow/releases/," diye belirtti araştırmacılar. "Bu GITHUB_TOKEN birini tehlikeye atan bir saldırgan, Yayın Varlıkları'na kendi dosyalarını ekleyebilir."

Bunun da ötesinde, contents:write izinleri, kötü amaçlı kodu bir özellik dalına gizlice enjekte ederek ve ana dalla birleştirilmesini sağlayarak 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 çalabilir ve kötü amaçlı bir Python .whl dosyası yükleyerek paketi etkili bir şekilde zehirleyebilir.

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

1 Ağustos 2023'teki sorumlu açıklamanın ardından, 20 Aralık 2023 itibarıyla proje sorumluları tarafından tüm çatal çekme isteklerinden gönderilen iş akışları için onay istenerek, önceki katkıda bulunanlardan gelenler sayılarak ve kendi kendine barındırılan çalıştırıcılarda çalışan iş akışları için GITHUB_TOKEN izinleri salt okunur olarak değiştirilerek eksiklikler giderildi.

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

"Yapay zeka/makine öğrenimi şirketleri, iş akışlarının çoğu GitHub tarafından barındırılan koşucularda bulunmayan önemli bilgi işlem gücü gerektirdiğinden, bu nedenle kendi kendine barındırılan koşucuların yaygınlığı nedeniyle özellikle savunmasızdır."

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

Diğer haberlerimiz hakkında daha fazla bilgi için Twitter sayfamızı, Instagram sayfamızı ve LinkedIn sayfamızı takip etmeyi unutmayın.

0 Yorum

Henüz Yorum Yapılmamıştır.! İlk Yorum Yapan Siz Olun

Yorum Gönder

Lütfen tüm alanları doldurunuz!

GamerMekanı

E-Bülten Aboneliği