Yazılım tedarik zinciri yaşam döngüsü kaynak koddan çalıştırılabilir ürünlere doğru ilerlerken, derleme aşaması kritik bir dönüm noktasıdır. Ancak bu dönüştürücü aşama, yazılımın bütünlüğünü tehlikeye atabilecek bir dizi tehdide de açıktır. build securityBu tehditler, yerleşik güvenlik önlemlerini atlatmak da dahil olmak üzere çeşitli yöntemlerle geliştirme sürecine sızabilir. CI/CD pipelineKaynak kod kontrolünden sonra kodda değişiklik yapmak, derleme sürecinin kendisini tehlikeye atmak veya yapıt depolarını manipüle etmek gibi tehditler bu blog yazısında derinlemesine inceleniyor ve en yaygın yazılım tedarik zinciri derleme saldırıları ele alınıyor. Bu içerik, yazılım tedarik zincirindeki derleme saldırılarını inceleyen blog serimizin devamı niteliğindedir. software supply chain security boyunca SDLC.
Yazılım Geliştirme Yaşam Döngüsünde Oluşturma Aşaması
Yazılım tedarik zinciri yaşam döngüsünün derleme aşaması, kaynak kodun çalıştırılabilir yazılım bileşenlerine dönüştürülmesi sürecini kapsar. Bu aşama, kaynak kodun derlenmesi, bağlanması ve paketlenmesinin yanı sıra kurulum paketlerinin ve yapılandırma dosyalarının oluşturulmasını içerir.
Build security Tehditler, bir saldırganın kaynak kodunu değiştirmeden, derleme işlemi sırasında yazılıma yetkisiz değişiklikler yapmasına olanak sağlayabilecek güvenlik açıklarıdır. Bu tehditler, derleme ortamının tehlikeye atılması veya derleme araçlarındaki güvenlik açıklarının istismar edilmesi gibi çeşitli yöntemlerle ortaya çıkabilir.
Yazılım Tedarik Zincirine Yönelik En Yaygın Tehditler - Derleme Saldırıları
Bypass CI/CD
Bu, yerleşik kuralları aşma uygulamasına işaret eder. CI/CD (Sürekli entegrasyon ve sürekli teslimat) pipeline Resmi kurumlar tarafından genellikle uygulanan titiz test, doğrulama ve denetim süreçlerinden geçmeden yazılımı doğrudan oluşturmak ve yayınlamak. pipelineBu işlem, yazılımı manuel olarak dışarıda derleyerek yapılabilir. CI/CD Ortam üzerinden veya derleme sürecinde yetkisiz değişikliklere izin veren araçlar veya komut dosyaları kullanılarak gerçekleştirilebilir. Bu tür bir saldırı vektörüne örnek olarak şunlar verilebilir: Jenkins Saldırısı2022'de bilgisayar korsanları yapıya sızdı. pipeline Popüler bir açık kaynak yazılım projesi olan Jenkins'e yönelik bir saldırı gerçekleşti. Hackerlar, derleme sürecini tanımlayan bir betik olan Jenkinsfile'a kötü amaçlı kod enjekte ettiler. Bu kötü amaçlı kod, hackerların Jenkins'in derleme sürecini atlatmalarına olanak sağladı. CI/CD pipelineBu yazılımlar, güvenlik kontrollerini atlatıp kodlarını derleme sürecine dahil ederler. Bu kod daha sonra yazılımı kuran kuruluşların sistemlerinde yürütülür.
Kaynak kontrolünden sonra kodu değiştirin.
Bu uygulama, kaynak kod oluşturulduktan sonra yetkisiz değişiklikler yapmayı içerir. commitGüvenilir bir kaynak kontrol sistemine (SCS) bağlı olan ve daha sonra bu değiştirilmiş kodu kullanarak yazılımı derleyen bir saldırı türüdür. Bu, geliştiricinin iş istasyonunda kodu doğrudan değiştirerek veya kötü amaçlı kodu derleme sürecine enjekte etmek için harici araçlar veya komut dosyaları kullanarak yapılabilir. Bu saldırı vektörüne bir örnek, 2022'deki GitLab Saldırısı'dır. Hackerlar derleme sürecine sızdılar. pipeline of GitLabHackerlar GitLab'e kötü amaçlı kod enjekte etti. CI/CD pipelineBu, otomasyon sağlayan bir araçtır. build security Bu süreçte, kötü amaçlı kod, bilgisayar korsanlarının kaynak kontrol sistemine eklendikten sonra kodu değiştirmesine olanak sağladı. Bu da, kodlarını yazılıma enjekte etmelerine ve bu kodun yazılımı yükleyen kuruluşların sistemlerinde çalıştırılmasına imkan tanıdı.
Uzlaşma oluşturma süreci
Bu, derleme ortamına doğrudan erişim yoluyla veya derleme araçlarındaki veya üçüncü taraf bağımlılıklarındaki güvenlik açıklarından yararlanarak derleme sürecinin kendisini manipüle etmeyi veya değiştirmeyi içerir. Bu, derleme çıktısına kötü amaçlı kod eklemek, derleme kaynağını değiştirmek veya derleme sürecini tamamen bozmak için yapılabilir. Bu vektör saldırısının en ünlü örneği şudur: SolarWinds SaldırısıSaldırgan, SolarWinds Orion yazılımını derlemek ve paketlemek için kullanılan SolarWinds'in derleme platformuna yetkisiz erişim sağladı. Bu komut dosyası, derlenmiş SolarWinds Orion yazılımına kötü amaçlı kod enjekte etti. Kullanıcılar tehlikeye atılmış yazılımı yüklediklerinde, kötü amaçlı kod sistemlerinde çalıştırıldı ve saldırgana sistemlerine yetkisiz erişim sağladı. Saldırgan ayrıca, kimlik bilgileri, fikri mülkiyet ve müşteri bilgileri gibi hassas verileri de sistemlerinden çalmayı başardı.
Uzlaşma yapıtı deposu
Bu, yazılım paketlerinin ve ikili dosyaların dahili veya harici kullanıcılara dağıtım için depolandığı bir yapıt deposuna yetkisiz erişim veya manipülasyonu ifade eder. Saldırganlar bu güvenlik açığını kötü amaçlı kod eklemek, yazılımın orijinalliğini bozmak veya dağıtım sürecini aksatmak için kullanabilirler. Bu tür bir saldırı vektörüne örnek olarak şunlar verilebilir: 2022'deki RubyGemsHackerlar RubyGems'in yapıt deposuna sızdı. Hackerlar meşru bir yapıtı kötü amaçlı bir yapıtla değiştirdi ve bu yapıt daha sonra Ruby on Rails ile yazılım geliştiren binlerce kuruluş tarafından indirildi. Kötü amaçlı yapıt, hackerların yazılımı yükleyen kuruluşların sistemlerinde rastgele kod çalıştırmasına olanak sağladı. Bu durum potansiyel olarak veri çalmalarına, kötü amaçlı yazılım yüklemelerine veya operasyonları aksatmalarına yol açabilir.
Son Sözler
Organizasyonlar otomasyon ve sürekli teslimatı vurgulayan yazılım geliştirme uygulamalarını benimsemeye devam ettikçe, yazılım derleme sürecinin güvenliğinin sağlanmasının önemi hiç bu kadar büyük olmamıştı. Derleme aşamasının tamamında sağlam güvenlik önlemleri uygulayarak, organizasyonlar yazılımlarının bütünlüğünü ve güvenliğini tehlikeye atabilecek kötü amaçlı saldırılara maruz kalma riskini önemli ölçüde azaltabilirler.
Bu blog yazısında özetlenen stratejiler ve verilen örnekler, yazılım tedarik zincirinde geliştirme aşamasının savunmasız bir nokta olduğunu hatırlatmaktadır. Kuruluşlar bu tehditlere dikkat etmeli ve yazılımlarını saldırılardan korumak için gerekli güvenlik önlemlerini uygulamalıdır. Bunu yaparak, kullanıcıları ve müşterileri için yazılımlarının bütünlüğünü, güvenliğini ve güvenilirliğini sağlayabilirler.
Güvenli bir yazılım ekosistemine doğru yolculuğumuza katılın.
Yazılım tedarik zinciri tehditlerinden kaçınmada öncü olma fırsatını kaçırmayın. Bugün blogumuza abone olun ve en son bilgilerimizi ilk alan siz olun; böylece kuruluşunuzun gelişen tehditler karşısında dayanıklı ve güvenli kalmasını sağlayın. Birlikte, herkes için daha sağlam ve güvenli bir yazılım ekosistemi oluşturabiliriz.
Video demomuzu izleyin




