Bulut Tabanlı Uygulamalar için Güvenlik Stratejileri
Mühendislik giderek daha hızlı, dinamik ve etkili hale geldikçe, uygulama güvenliği (AppSec) de dönüşmek zorunda. Sürekli entegrasyon ve sürekli geliştirme (CI/CD) pipeline’ları, günümüzün bulut tabanlı geliştirme süreçlerinde yaygın hale geldi. Ancak, bu teknolojiler geleneksel AppSec yaklaşımının kapsamı dışında kalıyor ve saldırganlar da bunu fark etmiş durumda. Günümüzde bulut tehdit aktörleri, CI/CD pipeline’larını nispeten kolay bir hedef olarak görüyor.
CI/CD pipeline’ları, kritik iş akışlarını yönetmekten, hassas verilere erişime kadar geniş bir sorumluluk alanına sahiptir, ancak güvenlik ekipleri tarafından çoğu zaman göz ardı edilir. Bu nedenle, mühendislik ortamlarını hedef alan bulut saldırılarının büyüklüğü ve ciddiyeti hızla artmaktadır.
Kapsamlı Uygulama Güvenliği İhtiyacı
Son zamanlardaki olaylar, CI/CD pipeline’ınızdaki tek bir güvenli olmayan adımın bile kuruluşunuz üzerinde büyük bir etkiye sahip olabileceğini açıkça gösteriyor. Örneğin:
- PHP olayı: Git altyapısının tehlikeye girmesi
- Codecov olayı: Müşteri gizli bilgilerinin sızdırılması
- SolarWinds saldırısı: CI sisteminin kötüye kullanılarak 18.000 müşteriye kötü amaçlı yazılım yayılması
- CircleCI olayı: En büyük bulut saldırılarından biri olup geniş çapta kuruluşları etkiledi
Bulut saldırılarının büyük sonuçları göz önüne alındığında, bulut tabanlı uygulamalar için güvenlik yaklaşımımızı yeniden düşünme zamanı geldi.
Bulut Uygulamalarında Saldırı Yüzeyini Azaltın
“Shift-left” yaklaşımıyla, güvenlik ekiplerinin mühendislerle iş birliği yaparak çalışma zamanındaki yanlış yapılandırmaları ve güvenlik açıklarını azaltmaya çalıştığını görüyoruz. Ancak, sadece çalışma zamanındaki olaylara tepki vermek yeterli değildir. Uygulamanın saldırı yüzeyini daha etkin bir şekilde azaltmalıyız.
Mühendislere, hatalardan kaçınmaları ve ortamlarını güvenli hale getirmeleri için gereken bilgileri sağlamalıyız. Doğru eğitimle, güvenliği varsayılan olarak içeren uygulamaların oluşturulmasını sağlayabiliriz.
Modern kuruluşlar için etkili bir AppSec programı, mühendislik hızını koruyarak risk yönetimini sağlamaktır.
Uygulama Güvenliği Programınızı Oluşturun
Etkili bir AppSec programı üç temel adımdan oluşur:
- Pipeline içinde güvenlik (SIP – Security IN the Pipeline)
- Pipeline güvenliği (SOP – Security OF the Pipeline)
- Pipeline’ın etrafındaki güvenlik (SAP – Security AROUND the Pipeline)
Mühendislik, diller, depolar ve pipeline’lardan oluşan bir ekosistemdir. Bu ilişkilerin korunması, saldırı yöntem ve yollarını anlamak için kritiktir. Bu yüzden SIP, SOP ve SAP çerçevesini uygulamak için güvenlik grafikleri kullanıyoruz.
Pipeline İçinde Güvenlik (SIP)
Güvensiz kodu ele almak ilk adımdır. Kodu sakladığımız her yeri, kullandığımız tüm dilleri ve çerçeveleri haritalandırmalıyız. Bu, mühendislik ekosisteminin dinamik doğasına uygun olarak sürekli yapılmalıdır.
Ayrıca, kullanılan tüm güvenlik araçlarını da değerlendirmeliyiz:
-Kod altyapısı tarama (IaC scanning)
-Gizli veri tarama (Secrets scanning)
-Statik analiz (SAST)
Tüm tarayıcılar farklı çıktılar üretir, bu yüzden verilerin normalize edilerek doğru risk puanlaması yapılması gereklidir.
Pipeline Güvenliği (SOP)
Bulut ihlalleri genellikle iki temel yolla gerçekleşir:
- Açık yollar, SQL enjeksiyonları, RCE açıkları, kaynak istismarı vb. yoluyla kötüye kullanım
- Kötü amaçlı yazılımların üretimde çalıştırılması
Çeşitli güvenlik çözümleri (örn. WAF, CSPM, EDR) bu tehditlere karşı koruma sağlasa da, mühendislik ekosistemini tamamen kapsamaz ve bulut tabanlı organizasyonların korunma ihtiyaçlarını tam olarak karşılamaz.
Bu nedenle, CI/CD pipeline’larının yapılandırmalarını yönetmek ve güvence altına almak çok önemlidir. Kaynak kontrolü, CI platformları ve geliştirici iş istasyonları doğru şekilde yapılandırılmalıdır.
Pipeline Etrafındaki Güvenlik (SAP)
Bir üretim ortamı CI/CD pipeline’ına bağlı olduğunda, kod ve yapılar sürekli olarak DevOps iş istasyonundan runtime’a akar. Bu ortamı güvenli hale getirmenin son adımı, akış kontrol mekanizmalarının uygulanmasıdır.
Hedefimiz, tek bir kişi veya makinenin doğrudan bulut kaynaklarına erişmesini ve değişiklik yapmasını önlemek olmalıdır. Örneğin:
–Doğru güvenlik önlemleriyle, tek bir kullanıcı Kubernetes’e doğrudan bağlanarak kötü amaçlı bir konteyner gönderemez. -Doğrudan bulut kaynaklarını değiştiremezler, bu da altyapı kaymalarını önler.
Bu yeni güvenli pipeline’ın atlanmadığından emin olmak için şu soruları yanıtlayın:
- Üretimde çalışan her şey benim onaylı pipeline’ımdan mı geliyor?
- Hiçbir insan veya uygulamanın doğrudan kod göndermediğinden emin miyiz?
Bu üç aşamalı model, kuruluşların bulut ortamında ölçeklenebilir AppSec iş akışları oluşturmasına yardımcı olur.
Bulut Uygulama Güvenliğinin Geleceğine Bakış
Saldırganlar, mühendislik iş istasyonlarının bir kuruluşun secret’larına ve bu secret’ların erişim sağladığı kritik varlıklara ulaşmanın kolay bir yolu olduğunu biliyor. CircleCI saldırısı, mühendislik ekosisteminin artık kuruluşların ana saldırı yüzeyi haline geldiğini göstermektedir.
-Güvenlik liderleri, CI/CD sistemlerini ve süreçlerini güçlendirmeye öncelik vermelidir.
-AppSec programlarını değişen tehdit ortamına uyarlamalıdır.
Buluttaki riskleri önceden tespit etmek, araştırmak ve müdahale etmek için koddan buluta gözlemlenebilirlik sağlamak güvenlik ekiplerine büyük avantajlar sunacaktır.
CI/CD Pipeline’larını Güçlendirme
SIP, SOP ve SAP çerçevesini uyguladıktan sonra, kuruluşunuzun CI/CD güvenliğini test etmelisiniz.
CI/CD güvenliği için en kritik saldırı vektörlerini öğrenmek ve organizasyonunuzun koruma önceliklerini belirlemek için teknik danışmanlarımızla iletişime geçebilirsiniz: info@quasys.com.tr
Kaynak: https://www.paloaltonetworks.com/blog/cloud-security/ci-cd-pipeline-security-strategy/