Kyverno kabul denetleyicisi, belirli bir Kubernetes kümesine yalnızca imzalanmış, doğrulanmış kapsayıcı görüntülerin çekilmesini sağlamak için tasarlanmış bir imza doğrulama mekanizması sunar. Bubi tuzaklı konteyner görüntüleri kripto madencileri, rootkit’ler, konteyner kaçışı ve yanal hareket için istismar kitleri, kimlik bilgileri hırsızları ve daha fazlası gibi çeşitli yükler içerebileceği göz önüne alındığında, bu herhangi bir sayıda kötü sonucu önleyebilir.
Ancak, hata (CVE-2022-47633) bu mekanizmayı bozmak için kullanılabilir. ARMO’daki araştırmacılar 21 Aralık’ta bir blog gönderisinde “Güvenlik açığı, bir saldırganın korunan kümeye imzasız görüntüler enjekte etmesine olanak tanıyor,” dedi. API sunucusuna erişmek için hizmet hesabı belirteci de dahil olmak üzere kurbanın bölmesinin tüm varlıklarını ve kimlik bilgilerini kullandığı konusunda uyardılar.
CTO’su ve kurucu ortağı Ben Hirschberg, “Güvenlik açığı, görüntü imzası doğrulamasının tamamen atlanmasını sağlıyor. Bir Kubernetes kümesi söz konusu olduğunda, bu, çok çeşitli hedefler için bir saldırı sağlar. Herhangi bir iş yükü, küme sırlarını ve veri hacimlerini bağlayabilir.” ARMO, Dark Reading’e söyler. “Bu, saldırganın kurbanın Kubernetes kümesinden verileri ve kimlik bilgilerini çalabilecek bir kod enjekte edebileceği anlamına gelir. Bu ayrıca saldırganın kendi kodunu enjekte etmesine ve kripto para birimi madenciliği gibi şeyler için kurbanın CPU’sunu kullanmasına olanak tanır.”
Böceğin İçinde: Kapsayıcı Kabul Denetleyicisini Bozmak
Bir Kubernetes API sunucusundan etiketli bir görüntü aracılığıyla tanımlanan yeni bir iş yükü istendiğinde, API sunucusu Kyverno kabul denetleyicisinden yeni iş yükünü doğrulamasını ister. Bir iş yükünün kümeye kabul edilip edilemeyeceğini belirlemek için kabul denetleyicisi, kapsayıcı kayıt defterinden görüntü bildirimi ve bir imza ister.
Teslim alırlarsa, görüntü yeşil ışık alır ve kapsayıcı çalışma zamanı, söz konusu görüntüye dayalı olarak yeni bir iş yükü başlatır.
Güvenlik açığı, denetleyicinin imza doğrulama işleminin görüntü manifestosunu iki kez indirmesinden, ancak danışma belgesine göre indirmelerden yalnızca birinin imzasını doğrulamasından kaynaklanmaktadır.
Böylece, saldırı şuna benzer: Bir yönetici, kötü amaçlı bir kayıt defterinden veya proxy’den bir kapsayıcı görüntüsü çekecek şekilde sosyal olarak tasarlanmıştır. Görüntü ilk kez içe aktarıldığında, kötü amaçlı kayıt defteri kabul denetleyicisine geçerli, zararsız, imzalanmış bir görüntü döndürür. Çok uzak çok iyi.
Ancak, daha sonra kabul denetleyicisi, mutasyonun özetini almak için, yani kabın insan tarafından okunabilir etiketini güncellemek için, imzalanmış görüntünün bildirimini ikinci kez ister. Bu kez, kötü amaçlı kayıt defterinin farklı, imzasız ve kötü amaçlı bir görüntü döndürmesine izin veren hiçbir imza doğrulaması gerçekleşmez; bu, sonuçta döndürülüp çalıştırılan görüntüdür.
“Bu klasik bir örnek [time-of-check-to-time-of-use] ARMO’nun analizine göre, saldırganın yem atmasına izin veren TOCTOU sorunu.” .”
Güvenlik açığı 1.8.3 sürümünde tanıtıldı ve 1.8.5 sürümünde düzeltildi; Kyverno kullanıcıları mümkün olan en kısa sürede güncelleme yapmalıdır. Yama, imzayı doğrulamak için kullanılanla aynı görüntü karma değerinin iş yükü belirtimini değiştirmek için kullanılmasını sağlar.
Hirschberg, bu özel güvenlik açığının yalnızca Kyverno ile Kubernetes’i etkilediğini, ancak diğer görüntü imzası doğrulama araçlarının aynı yönteme karşı savunmasız kalmamaya dikkat etmesi gerektiği konusunda uyardı.
Sosyal Mühendislik Kötü Amaçlı Bir Konteyner Saldırısı
Gerçek dünyadan bir saldırı gerçekleştirmek için tehdit aktörleri, kötü amaçlı görüntüleri barındırmak için mevcut kayıt defterlerindeki güvenliği ihlal edilmiş hesapları kullanabilir veya kendi özel kapsayıcı kayıt defterini oluşturabilir ve ardından bir yöneticiyi buna güvenmeye ikna etmeye başlayabilir.
Hirschberg, pratik açıdan “deneyimli bir saldırgan için kötü niyetli bir kayıt defteri oluşturmak zor değil” diyor. “Bir saldırgan herhangi bir açık kaynak kayıt defteri yazılımını alabilir, saldırının işe yaraması için bazı küçük değişiklikler yapabilir ve onu özel bir etki alanı altında bulutta çalıştırabilir.”
Bir sonraki adım, bir yöneticiyi kötü amaçlı kapsayıcıya güvenmeye ikna etmektir ki bu da o kadar da zor değildir. Uygulama geliştiricilerin npm gibi açık havuzlardan önceden oluşturulmuş kod blokları sağlamasına çok benzer şekilde, üçüncü taraflardan alınan kapsayıcı görüntüleri genellikle hazır uygulamaları döndürmek için kullanılır – buradaki fikir, ortak işlevler ve yardımcı programlar için tekerleği yeniden icat etmek zorunda kalmamaktır.
Hirschberg, Kubernetes kullanıcılarının yalnızca küçük bir bölümünün kapsayıcı iş yüklerini nereden çekebilecekleri konusunda kısıtlamalara sahip olduğunu, bu nedenle bulut yöneticilerinin üçüncü taraf kayıt defterlerini kullanma söz konusu olduğunda, özellikle de görüntü imza doğrulaması varsa, muhtemelen hemen tetikte olmayacaklarını belirtiyor. yer.
“Saldırgan, kimlik avına gidebilir ve birden fazla forumda XYZ yazılımının yeni bir sürümünün olduğuna dair bir bildirim yayınlayabilir ve işte onu çalıştırmak için Kubernetes YAML veya Helm var,” diye açıklıyor. “Bazı insanlar görüntü imzası doğrulamasıyla kendilerini güvende hissettiklerinden, gardlarını düşürürler ve görüntüyü çalıştırmaktan korkmazlar.”
Konteyner Güvenliği: Yükselen Bir Endişe
Hirschberg, konteynerlerin siber suçlular için iyi bir hedef olduğunu çünkü çoğunlukla bulutta çalıştıklarını ve değerli ve pahalı olan çok sayıda bilgi işlem kaynağına erişim sağladıklarını belirtiyor. nispeten uzun bir süre.
“Kesin istatistiklere sahip değiliz, ancak konteynerlerin geniş çapta benimsenmesiyle bunun daha yaygın bir sorun haline geldiği çok açık” diyor. “Güvenlik ekipleri, onlarla ve genel olarak Kubernet’lerle nasıl başa çıkacaklarını öğreniyor. Bunun gerçek bir ‘kör nokta’ olduğunu düşünmüyorum, ancak konteyner güvenlik ekipleri, birçok ihmal edilmiş alanla birlikte tüm ortamı hâlâ öğreniyor.”
Görüntü imza doğrulamasının benimsenmesinin henüz erken aşamalarında olması nedeniyle, kabul denetleyicileri potansiyel olarak ihmal edilen alanlardan birini temsil ediyor. Ama aynı zamanda tedarik zinciri yazılım güvenliği hakkında daha geniş bir konuşmanın parçasıdırlar ve bu, ön plana çıkarılmalıdır.
Hirschberg, “SolarWinds saldırısı, dış kodun güvenliğine güvenme söz konusu olduğunda bu sorunun ne kadar hassas olduğunu dünyaya gösterdi” diyor. “Kyverno, imza doğrulamayı uygulayan ilk güvenlik araçları arasında yer alıyor ve yeni özelliklerle birlikte yeni hatalar gelebilir. Umarım bu bulgu, bunu daha güvenli bir mekanizma haline getirir ve sektörün Kubernet’lerde yazılım doğrulama sorununun üstesinden gelmesine yardımcı olur.”