
Kapsamlı bir güvenlik soruşturması, GitHub Eylemleri iş akışlarında, MITER ve Splunk gibi prestijli kuruluşlar tarafından sürdürülenler de dahil olmak üzere büyük açık kaynak depolarında yaygın güvenlik açıklarını ortaya çıkarmıştır.
Keşif, bu projeleri potansiyel tedarik zinciri saldırılarına ve hassas kimlik bilgilerine yetkisiz erişimlere maruz bırakan güvensiz sürekli entegrasyon ve sürekli dağıtım (CI/CD) konfigürasyonlarının bir modelini vurgulamaktadır.
Github eylemlerinin kötüye kullanılması etrafında güvenlik açıkları merkezli pull_request_target
Harici katkıda bulunanlardan çekme isteklerini işlerken iş akışlarının depo sırlarına ve yüksek izinlere erişim sağlayan tetikleyici.
Standartın aksine pull_request
kum havuzlu bir ortamda çalışan olay, pull_request_target
Hedef deponun temel şubesi bağlamında yürütülür ve saldırganlara proje altyapısını tehlikeye atma yolunu sağlar.
Bu temel tasarım farkı, kötü niyetli aktörlerin API anahtarlarına, dağıtım kimlik bilgilerine ve idari jetonlara yetkisiz erişim elde etmek için kullanabileceği bir güvenlik kör noktası yarattı.
Bu güvenlik sorununun kapsamı, çok sayıda yüksek profilli açık kaynak projesini etkileyen sistemik bir sorunu temsil eden izole olayların çok ötesine uzanmaktadır.
SYSDIG analistleri, bu güvenlik açıklarının, Github Eylemleri güvenlik modellerinin depo koruyucular arasında temel bir yanlış anlaşılmasından kaynaklandığını ve bu da kritik altyapıyı dış tehditlere yanlışlıkla ortaya çıkaran yapılandırmalara yol açtığını belirledi.
Araştırma ekibi, bu riskler hakkında yıllarca süren halka açık belgelere rağmen, birçok projenin saldırganlara üretim ortamlarına ve hassas organizasyonel verilere doğrudan erişim sağlayan tehlikeli iş akışı kalıpları uygulamaya devam ettiğini keşfetti.
Saldırı metodolojisi, otomatik iş akışı işlemi sırasında yürütmek üzere tasarlanmış hazırlanmış kod içeren kötü amaçlı çekme isteklerinin gönderilmesini içerir.
.webp)
Depolar kullanıldığında pull_request_target
Olaylar Eşzamanlı olarak katkıda bulunan çatallardan güvenilmeyen kodu kontrol ederken, kötü niyetli yüklerin depo sırlarına ve yüksek pratik Github belirteçlerine erişebileceği bir yürütme ortamı oluştururlar.
Bu kombinasyon, özellikle yıkıcı olduğunu kanıtlıyor çünkü saldırganların ayrıcalıkları artırmasına, depo içeriğini değiştirmesine ve potansiyel olarak kötü amaçlı kodları bu uzlaşmış projelere dayanan aşağı akış bağımlılıklarına yaymasına izin veriyor.
Bu güvenlik açıklarının etkisi, daha geniş açık kaynaklı ekosistemin bütünlüğünü ve güvenilirliğini tehdit ederek bireysel depoların ötesine uzanır.
Kritik altyapı bileşenleri için bu projelere bağımlı olan kuruluşlar, tehlikeye atılan depoların daha kapsamlı organizasyonel ihlaller için giriş puanı olarak hizmet edebileceği tedarik zinciri saldırılarına potansiyel olarak maruz kalmakla karşı karşıyadır.
Talep hedefi sömürü mekanizması
Bu saldırıların teknik temeli GitHub eylemlerinde yatmaktadır ‘ pull_request_target
Kod ödeme işlemleri ile birleştirildiğinde tehlikeli bir yürütme bağlamı oluşturan tetik mekanizması.
Bu tetikleyici başlangıçta iş akışlarının depo sırlarına erişim ile çekme isteklerini işlemesini sağlamak için tasarlanmıştır, ancak uygulaması yanlış yapılandırıldığında önemli güvenlik riskleri yaratır.
Güvenlik açığı, iş akışları gibi parametreleri kullanarak güvenilmeyen kodu açıkça kontrol ettiğinde ortaya çıkar. github.event.pull_request.head.ref
Ve github.event.pull_request.head.repo.full_name
dış katkıda bulunanların ayrıcalıklı yürütme ortamlarına keyfi kod enjekte etmesine izin vermek.
Spotipy-Dev/Spotipy deposu durumunda, araştırmacılar projeyi değiştirerek bu güvenlik açığını gösterdiler. setup.py
Kötü niyetli kurulum komutlarını ekleyecek dosya.
Exploit, Python’un Setuptools işlevselliğini, paket kurulum işlemi sırasında rasgele kod yürütmek için, bu kod snippet’inde gösterildiği gibi, bellekten sırlar çıkaran ve harici sunuculara söndürdü.
Kötü amaçlı kurulum yapılandırması, bir bellek boşaltma komut dosyasını indirip yürüten ve iş akışı ortamından mevcut tüm sırları ve GitHub belirteçlerini etkili bir şekilde toplayan özel kurulum komutlarını içeriyordu.
Sömürü süreci, çoklu depolar arasında oldukça basit bir şekilde kanıtlandı, araştırmacılar MITER’in Siber Analytics deposundan ve Splunk’ın güvenlik içerik deposunun projelerini neredeyse aynı teknikleri kullanarak başarılı bir şekilde tehlikeye attı.
Her başarılı saldırı, depo içeriğine, dağıtımlara, paketlere ve güvenlik etkinliklerine erişim dahil kapsamlı yazma izinleri ile yüksek privilge Github belirteçlerinin çıkarılmasıyla sonuçlandı.
Bu erişim seviyesi, saldırganların hedef depoları tamamen tehlikeye atmasını, kaynak kodunu değiştirmesini, sürümleri değiştirmesini ve potansiyel olarak kötü niyetli içeriği yazılım dağıtım kanallarına enjekte etmesini sağlar.
Herhangi biriyle erken tehdit tespiti, yükseltme ve hafifletme güçlendirin. 50 deneme araması alın.