TensorFlow'un CI/CD (Sürekli Entegrasyon/Sürekli Dağıtım) açığı, tedarik zincirini zehirleme saldırılarına karşı savunmasız hale getirdi.

Açık kaynaklı TensorFlow makine öğrenimi çerçevesinde bulunan sürekli entegrasyon ve sürekli dağıtım (CI/CD) hataları, tedarik zinciri saldırılarını yönlendirmek için kötüye kullanılabilirdi.

Praetorian araştırmacıları Adnan Khan ve John Stawinski tarafından bu hafta yayımlanan bir rapora göre, bu hatalar bir saldırgan tarafından "malicious pull request" (kötü amaçlı çekme isteği) aracılığıyla TensorFlow'un derleme araçlarını ele geçirerek GitHub ve PyPi'deki TensorFlow sürümlerinin tedarik zincirine kompromis yapma amacıyla kullanılabilirdi.

Bu sorunların başarılı bir şekilde kötüye kullanılması, harici bir saldırganın kötü amaçlı sürümleri GitHub deposuna yüklemesine, kendi barındırdığı GitHub çalıştırıcısında uzaktan kod yürütmesine ve hatta tensorflow-jenkins kullanıcısı için GitHub Kişisel Erişim Jetonu (PAT) almasına olanak tanıyabilirdi.

TensorFlow, yazılımın derleme, test ve dağıtım sürecini otomatikleştirmek için GitHub Actions'ı kullanır. Runner'lar, bir GitHub Actions iş akışındaki görevleri yürüten makineleri ifade eder ve bu runner'lar ya GitHub tarafından barındırılır ya da kendine ait olabilir.

 

"Yalnızca özel depolarla kendi barındıran çalıştırıcıları kullanmanızı öneririz," diyor GitHub belgelerinde. "Çünkü genel depolarınızın çatalı, potansiyel olarak tehlikeli kodu kendi barındırdığınız çalıştırıcı makinenizde bir çekme isteği oluşturarak çalıştırabilir."

Başka bir deyişle, bu, herhangi bir katılımcının kötü amaçlı bir çekme isteği göndererek kendi barındırdığı çalıştırıcıda keyfi kodu yürütmesine olanak tanır.

Ancak, bu GitHub tarafından barındırılan çalıştırıcılarda her birinin geçici olduğu ve işlemin sonunda yok edilen temiz, izole bir sanal makine olduğu için herhangi bir güvenlik endişesi doğurmaz.

Praetorian, TensorFlow iş akışlarını tanımlayabildi ve ardından önceki katkıda bulunanlardan gelen çatal çekme isteklerini buldu; bu istekler, onay gerektirmeksizin ilgili CI/CD iş akışlarını otomatik olarak tetikledi.

Dolayısıyla, bir hedef deposunu trojanlamayı amaçlayan bir saldırgan, bir yazım hatasını düzeltebilir veya küçük ama meşru bir kod değişikliği yapabilir, buna bir çekme isteği oluşturabilir ve ardından çekme isteğinin bir katkıda bulunana dönüşmesini bekleyebilir. Bu, ardışık bir çekme isteği oluşturarak herhangi bir kırmızı bayrak kaldırmadan çalıştırıcıda kodu yürütmesine olanak tanıyacaktır.

İş akışı günlüklerinin daha fazla incelenmesi, kendi barındırdığı çalıştırıcının sadece geçici olmadığını (bu nedenle süreklilik kapısını açan) değil, aynı zamanda iş akışıyla ilişkilendirilmiş GITHUB_TOKEN izinlerinin kapsamlı yazma izinlerine sahip olduğunu ortaya koydu.

"PAT'in contents:write izni olduğundan, https://github[.]com/tensorflow/tensorflow/releases/'e sürümler yükleyebilirdi," araştırmacılar belirtti. "Bu GITHUB_TOKEN'lardan birini ele geçiren bir saldırgan, kendi dosyalarını Release Assets'e ekleyebilirdi."

Buna ek olarak, contents:write izinleri, kötü amaçlı kodu özellik dalına gizlice enjekte ederek ve bunu ana dala birleştirerek TensorFlow deposuna doğrudan kod göndermek için kullanılabilirdi.

Bu da yetmezmiş gibi, bir tehdit aktörü, Python Package Index (PyPI) kaydına kimlik doğrulamak için sızdığı AWS_PYPI_ACCOUNT_TOKEN'ı çalabilir ve kötü amaçlı bir Python .whl dosyasını yükleyerek paketi zehirleyebilirdi.

"Ayrıca, bu GITHUB_TOKEN'un izinlerini kullanarak JENKINS_TOKEN deposu gizli bilgisini ele geçirebilirdi, hatta bu gizli, kendi barındırdığı çalıştırıcılarda çalışan iş akışlarında kullanılmıyordu" dedi araştırmacılar.

Sorumlu açıklamaların 1 Ağustos 2023 tarihinde yapılmasının ardından, projenin bakımını üstlenenler 20 Aralık 2023 tarihine kadar bu eksiklikleri gidermiş ve tüm çatal çekme isteklerinden gönderilen iş akışları için onay gerektirmek üzere değişiklik yapmışlardır. Ayrıca, kendi barındırdığı çalıştırıcılarda çalışan iş akışları için GITHUB_TOKEN izinlerini yalnızca okuma izinleriyle sınırlamışlardır.

"Aynı türden CI/CD saldırıları, daha fazla organizasyon sürekli entegrasyon/sürekli dağıtım süreçlerini otomatikleştirdikçe artıyor," dedi araştırmacılar.

"AI/ML şirketleri özellikle savunmasızdır çünkü birçok iş akışları GitHub tarafından barındırılan çalıştırıcılarda mevcut olmayan önemli hesaplama gücünü gerektirir, bu nedenle kendi barındırdıkları çalış

tırıcılarda yaygındır."

Bu açıklama, her iki araştırmacının, Chia Networks, Microsoft DeepSpeed ve PyTorch dahil olmak üzere birkaç genel GitHub deposunun, kendine ait GitHub Actions çalıştırıcıları aracılığıyla kötü amaçlı kod enjeksiyonuna karşı duyarlı olduğunu ortaya koyduğu zamana denk geldi.

 

Etiket: #SupplyChainAttacks #AISecurity

Kategori: SupplyChainAttacks

Eklenme Tarihi: 19.01.2024

Safetica ile Verilerinizi korurken operasyonel verimliliği artırın

Etiket: #safetica

Kategori: safetica

Eklenme Tarihi: 19.01.2024