Değişiklikleri GitHub’daki bir açık kaynak havuzuna gönderen bir saldırgan, bir bileşenin en son sürümünü içeren aşağı akışlı yazılım projelerinin güncellemeleri kötü amaçlı kodla derlemesine neden olabilir.

Bu, yazılım tedarik zinciri güvenlik firması Legit Security’ye göre, 1 Aralık’ta yayınlanan bir danışma belgesinde, bu “yapı zehirlenmesi” zayıflığının, geliştirme ardışık düzenlerini otomatikleştirmeye yönelik bir hizmet olan GitHub Actions’ı kullanan yazılım projelerini, oluşturma sürecini tetikleyerek etkileyebileceğini söyledi. yazılım bağımlılığında bir değişiklik algılandı.

Güvenlik açığı teorik değil: Legit Security, Rust’ı yöneten projeye yönelik bir saldırıyı simüle ederek, şirketin danışma belgesinde belirttiğine göre, popüler GCC yazılım kitaplığının özelleştirilmiş – ve kötü amaçlı – bir sürümünü kullanarak projenin yeniden derlenmesine neden oldu.

Legit Security’nin baş teknoloji sorumlusu Liav Caspi, bakımcıların genellikle kodu kendileri gerçekten analiz etmeden önce katkıda bulunan kod üzerinde testler yaptıklarından, sorunun büyük olasılıkla çok sayıda açık kaynak projesini etkilediğini söylüyor.

“Bugün yaygın bir model” diyor. “Bugün pek çok açık kaynak projesi, bir değişiklik isteği üzerine, isteği doğrulamak için bir dizi test yürütüyor çünkü bakımcı önce kodu gözden geçirmek istemiyor. Bunun yerine, otomatik olarak testler yürütüyor.”

Saldırı, GitHub Eylemleri aracılığıyla otomatik derleme sürecinden yararlanır. Legit Security, Rust programlama dili söz konusu olduğunda, savunmasız kalıbın bir saldırganın geliştirme hattının bir parçası olarak ayrıcalıklı bir şekilde kod yürütmesine, depo sırlarını çalmasına ve potansiyel olarak kodu kurcalamasına izin verebileceğini söyledi.

Şirket, “Basitçe söylemek gerekirse: savunmasız bir iş akışında, herhangi bir GitHub kullanıcısı bir eser oluşturan bir çatal oluşturabilir” dedi. tavsiyesinde belirtilen. “Ardından bu yapıtı orijinal depo oluşturma sürecine enjekte edin ve çıktısını değiştirin. Bu, derleme çıktısının bir saldırgan tarafından değiştirildiği yazılım tedarik zinciri saldırısının başka bir biçimidir.”

Güvenlik açığı, CodeCov’u ve şirketin yazılımı aracılığıyla alt müşterilerini hedef alan kötü amaçlı yazılım ekleme saldırısına benzer bir saldırıyı etkinleştirir.

“[T]İş akışı yapıları arası iletişim için yerel GitHub uygulamasının olmaması, birçok projenin ve GitHub Actions topluluğunun iş akışı arası iletişim için güvensiz çözümler geliştirmesine yol açtı ve bu tehdidi oldukça yaygın hale getirdi.”

Legit Security, GitHub’ın sorunu doğruladığını ve bilgi için bir ödül ödediğini, Rust’ın ise savunmasız boru hattını düzelttiğini belirtti.

GitHub yapı zehirlenmesi
Kaynak: Yasal Güvenlik

Yazılım Tedarik Zincirinin Güvenliğe İhtiyacı Var

Güvenlik açığı, yazılım tedarik zincirlerini etkileyen en son güvenlik sorunudur. Endüstri ve devlet kurumları, açık kaynaklı yazılımların ve bir hizmet olarak sağlanan yazılımların güvenliğini artırmaya giderek daha fazla çaba göstermektedir.

Örneğin, Mayıs 2021’de Biden yönetimi, diğer gerekliliklerin yanı sıra hükümetin satın aldığı tüm yazılımlar için temel güvenlik standartlarını zorunlu kılmasını zorunlu kılan federal bir kural olan Ulusun Siber Güvenliğini İyileştirmeye ilişkin yürütme emrini yayınladı. Özel sektör tarafında, Google ve Microsoft, ortalama bir uygulamanın kod tabanının dörtte üçünden fazlasını oluşturan kodu sağlayan açık kaynak ekosisteminde güvenliği desteklemek için milyarlarca dolar taahhüt etti.

Mantıklı, Ama Savunmasız

Güvenlik sorunu, mantık sorunları olarak bilinen, izinlerle ilgili sorunları, çatallı depoların bir ardışık düzene eklenme olasılığını ve çatallı ve temel depolar arasında ayrım eksikliğini içeren, bulunması zor bir sorun sınıfına aittir.

Yazılım projeleri, kod gönderimlerini bakımcılara iletmeden önce kontrol etmek için genellikle otomatik komut dizileri kullandığından, çekme istekleri, herhangi bir insan kötü amaçlı kod olup olmadığını kontrol etmeden önce otomasyon yoluyla yürütülecektir. Otomasyon zaman kazandırırken, saldırganların ardışık düzene kötü amaçlı kod eklemesinin bir yolu olarak düşünülmelidir.

Caspi, “Açık kaynak geliştirme yaptığınızda, sorun daha büyük çünkü dünyadaki herkesin katkısını kabul ediyorsunuz” diyor. “Güvenemeyeceğiniz şeyler yapıyorsunuz.”

GitHub sorunu kabul etti ve dış ortak çalışanlardan gelen gönderimlerin otomatik olarak Actions ardışık düzenine eklenmesini engelleme yollarını genişletti. Şirket GetArtifact ve ListArtifacts API’lerini güncelledi bir yapıya güvenilip güvenilemeyeceğini belirlemeye yardımcı olacak daha fazla bilgi sağlamak amacıyla.

Caspi, “Rust projesinin yaptığı gibi bir şey yapan – üçüncü bir tarafın girdilerine güvenen – o zaman hala savunmasızdır” diyor. “Bu bir mantık sorunu. GitHub daha güvenli bir komut dosyası yazmayı kolaylaştırdı.”



siber-1