Apache ve Google’ın çok popüler iki açık kaynak projesinin GitHub ortamlarında keşfedilen bir çift güvenlik açığı, proje kaynak kodunu gizlice değiştirmek, sırları çalmak ve bir kuruluş içinde yanal olarak hareket etmek için kullanılabilir.
Sorunlar, bir Google Firebase projesini ve Apache tarafından yürütülen popüler bir entegrasyon çerçeve projesini etkilediğini tespit eden Legit Security araştırmacılarına göre, dünya çapında birçok açık kaynak projesini tehdit edebilecek sürekli entegrasyon/sürekli teslimat (CI/CD) kusurlarıdır. .
Araştırmacılar, güvenlik açığı modelini “GitHub Environment Injection” olarak adlandırdı. Saldırganların, “GITHUB_ENV” adlı GitHub ortam değişkenine yazılmış özel hazırlanmış bir yük oluşturarak savunmasız bir projenin GitHub Eylemleri işlem hattının kontrolünü ele geçirmesine olanak tanır.
Spesifik olarak sorun, GitHub’ın derleme makinesinde ortam değişkenlerini paylaşma biçiminde ortaya çıkar; bu, depo sahipliği kimlik bilgileri de dahil olmak üzere bilgi çıkarmak için manipüle edilebilir.
Legit Security’nin CTO’su ve kurucu ortağı Liav Caspi, “Konsept, derleme eyleminin kendisinin, inceleme için gönderilen koda, kimsenin incelemesine ihtiyacınız olmayacak şekilde güvenmesidir” diye açıklıyor. “Birinin katkıda bulunması, yapı sistemini kod hakkında bir şeyler yürütmesi için kandırır. Çalışan bir tür otomatik test vardır ve oraya ne koyarsanız koyun testi çalıştırabilirsiniz.”
Şunları ekliyor: “Sorun şu ki, katkıda bulunan herhangi biri, birinin incelemesine gerek kalmadan bunu tetikleyebilir. Yani, bu çok güçlü.”
CI/CD Pipelines için Güvenliği Yoksaymayın
Caspi’ye göre, ekibi kusurları bir sürecin parçası olarak buldu. CI/CD ardışık düzenlerine yönelik devam eden soruşturma. SolarWinds tarzı tedarik zinciri kusurlarındaki artışla birlikte, açık kaynak dünyasında ve kurumsal geliştirmede en popüler kaynak kodu yönetimi (SCM) sistemlerinden biri olduğu için GitHub ekosistemindeki zayıflıkları özellikle arıyorlardı – ve bu nedenle güvenlik açıklarını yazılım tedarik zincirlerine enjekte etmek için doğal bir araç.
Bu kusurların hem GitHub platformunun tasarlanma biçiminde bir tasarım zayıflığı olduğunu hem de farklı açık kaynak projelerinin ve işletmelerin platformu nasıl kullandığını açıklıyor.
“Risklerin fazlasıyla farkındaysanız ve birçok riskli işlemi atlatırsanız, potansiyel olarak çok güvenli bir derleme komut dosyası yazabilirsiniz” diye açıklıyor. “Ama bence hiç kimse bunun gerçekten farkında değil ve GitHub Eylemleri içinde günlük yapım işlemlerinde kullanılan çok tehlikeli birkaç mekanizma var.”
Kurumsal geliştirme ekiplerinin GitHub Action ve diğer yapı sistemlerine her zaman sıfır güven duyması gerektiğini söylüyor.
“İster bir derleme eklentisi isterse kendilerine gönderilen herhangi bir şey olsun, oluşturmak için kullandıkları bileşenlerin bir saldırganın bundan yararlanabileceğini varsaymalıdırlar” diyor. “Ardından da ortamı izole etmeli ve kodu sizin için gönderilen kodu çalıştırmayacak şekilde incelemeliler.”
Caspi’nin açıkladığı gibi, bu kusurlar yalnızca açık kaynak projesinin kendisinin tedarik zinciri güvenlik açıkları için potansiyel bir vektör olduğunu göstermekle kalmaz, aynı zamanda CI/CD ardışık düzenini ve entegrasyonunu oluşturan kodu da gösterir.
Her iki hata da düzeltildi.