Hızlı cevap: Kubernetes ve konteyner sızma testi, bir kurumun konteyner platformunun, yani Docker imajlarının, Kubernetes kümelerinin ve çalışma zamanının açıklarını bir saldırgan gözüyle inceleyen güvenlik hizmetidir. En sık görülen açıklar, aşırı yetkiyle çalışan ayrıcalıklı konteynerler, yanlış yapılandırılmış RBAC rolleri, kimlik doğrulaması kapatılmış kubelet arayüzleri ve zafiyetli temel imajlardır. Bu açıklar çoğu zaman tek bir konteynerin ele geçirilmesini tüm kümenin ele geçirilmesine dönüştürür. DSET bu testi yerel yapay zekâ motoru KAOS ile yürütür ve her bulguyu çalışan bir kanıtla doğrular.

Konteyner teknolojileri uygulama dağıtımını hızlandırdı, ama yeni ve çoğu kurumun alışık olmadığı bir saldırı yüzeyi getirdi. Bir sanal makinede tek bir sunucuyu düşünürken, bir Kubernetes kümesinde onlarca düğüm, yüzlerce konteyner ve bunların arasındaki ağ ve yetki ilişkileri vardır. Bu yazı, Kubernetes ve konteyner sızma testinin ne olduğunu, hangi açıkları hedeflediğini ve DSET ile KAOS yaklaşımını anlatır.

Kubernetes ve konteyner sızma testi nedir

Kubernetes ve konteyner sızma testi, konteyner tabanlı bir platformun açıklarını kontrollü saldırılarla test eder. Testin üç ana katmanı vardır. Birinci katman konteyner imajının kendisidir, yani imajın içindeki zafiyetli kütüphaneler ve imaja gömülmüş gizli anahtarlar. İkinci katman çalışma zamanıdır, yani bir saldırganın bir konteynerden çıkıp ana düğüme erişip erişemeyeceği. Üçüncü katman küme yönetim düzlemidir, yani Kubernetes API sunucusu, RBAC rolleri ve servis hesapları. Bu üç katman birlikte test edilmediğinde, eksiksiz bir güvenlik tablosu çıkmaz.

Hangi açıkları hedefler

Konteyner platformlarının açıkları çoğu zaman kodda değil, yapılandırmada bulunur. Bir geliştirici kolaylık olsun diye bir konteyneri ayrıcalıklı moda aldığında veya bir servis hesabına geniş yetki verdiğinde, saldırgan için bir yol açılır.

Açık sınıfı Ne anlama gelir Tipik sonuç
Ayrıcalıklı konteyner Konteyner ana makinenin yeteneklerine erişir Konteynerden çıkış, düğüm ele geçirme
Yanlış yapılandırılmış RBAC Servis hesabına gereğinden fazla yetki verilir Küme çapında yetki yükseltme
Açık kubelet veya API Yönetim arayüzü kimlik doğrulamasız erişilir Konteyner çalıştırma, sır okuma
Zafiyetli temel imaj İmajda bilinen açığı olan kütüphane bulunur Uzaktan kod çalıştırma
İmaja gömülü sır Anahtar veya parola imaja yazılır Kimlik bilgisi sızıntısı

Tablonun özü şudur: bir konteyner platformunda en küçük bir yanlış yapılandırma, saldırganın tek bir konteynerden tüm kümeye yayılmasına zemin hazırlar. Bu yayılma mantığı, klasik bir iç ağdaki yanal erişime benzer; nitekim pivoting ve tünelleme ile iç ağ yanal erişimi konusu burada da geçerlidir.

Konteyner kaçışı neden kritik

Konteynerler aynı çekirdeği paylaşır. Bir sanal makine kaçışı donanım sanallaştırma katmanını aşmayı gerektirirken, bir konteyner kaçışı çoğu zaman yalnızca yanlış bir yapılandırmadan, örneğin ana makine dosya sisteminin konteynere bağlanmasından veya fazladan çekirdek yeteneğinden yararlanır. Bir saldırgan konteynerden çıkıp ana düğüme eriştiğinde, o düğümdeki tüm konteynerlerin sırlarına ve o düğümün küme içindeki yetkisine ulaşır. Bu yüzden testin merkezinde tek bir soru vardır: ele geçirilen bir konteyner, kümenin geri kalanı için ne kadar tehlikelidir.

Bulut ve kaynak kodu testiyle ilişkisi

Konteyner güvenliği tek başına durmaz. Kümeler çoğu zaman AWS, Azure veya Google Cloud üzerinde çalışır, bu yüzden küme güvenliği ile bulut kimlik yönetimi iç içe geçer; bu tamamlayıcı bakış için bulut sızma testi hizmetimiz devreye girer. Öte yandan zafiyetli bir temel imaj çoğu zaman yazılım bağımlılıklarından gelir, bu da kaynak kodu güvenlik denetimi ve SCA ile ve tedarik zinciri saldırıları ve yazılım bağımlılığı güvenliği ile doğrudan bağlantılıdır.

Ne zaman yapılır

Doğru pratik, bir konteyner platformu üretime geçmeden önce, küme mimarisi önemli ölçüde değiştiğinde ve düzenli aralıklarla test yapmaktır. Yeni bir mikroservis mimarisine geçen her kurum, geçişten önce küme yapılandırmasını bağımsız bir gözle sınamalıdır. Testten önce kapsamın net çizilmesi gerekir, bunun için sızma testine hazırlık ve kapsam belirleme rehberi başvuru noktasıdır.

KAOS ve DSET yaklaşımı

DSET, Kubernetes ve konteyner sızma testini yerel yapay zekâ motoru KAOS ile yürütür. KAOS, konteyner imajlarını zafiyetli kütüphane ve gömülü sır için tarar, küme yapılandırmasını RBAC ve ayrıcalıklı konteyner açısından inceler ve bulduğu her açığı çalışan bir kanıtla, kanıt temelli doğrulama ilkesiyle raporlar. Fark şudur: bir yapılandırmanın teorik olarak riskli olduğunu söylemekle yetinilmez, o riskin gerçekten konteyner kaçışına veya yetki yükseltmeye yol açtığı kanıtlanır. Bir bulgu doğrulandıktan sonra düzeltmenin işe yaradığını görmek için yeniden test ve remediation doğrulaması uygulanır.

Sık sorulan sorular

Konteyner taraması ile konteyner sızma testi aynı şey mi? Hayır, ikisi farklı derinliktedir. Konteyner taraması bir imajın içindeki bilinen zafiyetleri listeler, ama o zafiyetin gerçek bir küme içinde istismar edilip edilemeyeceğini söylemez. Sızma testi ise açığı bir saldırgan gibi kullanıp sonucunu kanıtlar, örneğin bir konteynerden çıkıp ana düğüme eriştiğini gösterir. Tarama bir envanter çıkarır, sızma testi gerçek etkiyi kanıtlar.

Yönetilen Kubernetes hizmeti kullanıyorum, yine de test gerekir mi? Evet. Bulut sağlayıcısının yönettiği Kubernetes hizmetinde kontrol düzleminin bir kısmı sağlayıcıya aittir, ama iş yüklerinizin yapılandırması, RBAC rolleriniz, servis hesaplarınız ve imajlarınız sizin sorumluluğunuzdadır. Saldırıların büyük çoğunluğu bu sizin sorumluluğunuzdaki katmanda gerçekleşir, bu yüzden yönetilen hizmet testi gereksiz kılmaz.

Test sırasında çalışan kümeye zarar gelir mi? İyi planlanmış bir testte hayır. Hangi ad alanlarının ve hangi iş yüklerinin test edileceği, yıkıcı işlemlerin yapılıp yapılmayacağı önceden sözleşmeyle belirlenir. Mümkün olduğunda test, üretim kümesinin bir kopyası üzerinde yürütülür, böylece canlı hizmet etkilenmez.

Kaynaklar

Kubernetes kümelerinizi ve konteyner platformunuzu kanıt temelli bir testle incelemek için DSET ile iletişime geçin. Ankara Hacettepe Teknokent laboratuvarımızdan konteyner ve Kubernetes sızma testi ile danışmanlık sağlıyoruz.