Araştırmacılar, açık Web üzerinde Prometheus açık kaynak izleme yazılımını çalıştıran yüz binlerce sunucunun şifreleri, belirteçleri ve hizmet reddi (DoS) ve uzaktan kod yürütme fırsatlarını açığa çıkardığını keşfetti.
Açık kaynak gözlemlenebilirlik araçları arasında lider olan Prometheus, kuruluşlar tarafından uygulamalarının ve bulut altyapılarının performansını izlemek için yaygın olarak kullanılıyor. Ancak bir sorunla birlikte geliyor: Dokümantasyonunda belirtildiği gibi, “Öyle varsayılıyor ki güvenilmeyen kullanıcıların Prometheus HTTP uç noktasına erişimi vardır ve günlükler. Veritabanında bulunan tüm zaman serisi bilgilerine ve ayrıca çeşitli operasyonel/hata ayıklama bilgilerine erişimleri var.”
Görünüşe göre pek çok kullanıcı ya Prometheus’un varsayılan olarak açığa çıkma yollarının farkında değil ya da yol boyunca açığa çıkan verilerin değerinin farkında değil. Aqua Nautilus’tan araştırmacılar Shodan’ı kullanarak 40.000’den fazla Prometheus sunucusunun açığa çıktığını keşfettiler ve 296.000’den fazla açığa çıkan “ihracatçı” programın izlenen uç noktalardan veri toplamak için kullandığı. Araştırmacılar bu sunucularda ve dışa aktarıcılarda hassas veriler ile “yeniden saldırı” ve DoS saldırılarına yönelik fırsatlar buldu.
Prometheus’un Ortaya Çıkardığı Şey
İlk izlenimde, Prometheus’un topladığı veriler oldukça sıradan görünebilir: örneğin uygulama performansı ölçümleri, belirli bulut araçlarıyla ilişkili ölçümler, CPU, bellek ve disk kullanımı.
Aqua Nautilus’un tehdit istihbaratı direktörü Assaf Morag, “Bunun yalnızca istatistik olduğunu düşünüyoruz; yalnızca sistemin sağlığıyla ilgili bilgi olduğunu düşünüyoruz. Sorun da bu” diyor. Verileri bir saldırganın bakış açısından incelemek, siber saldırıları kolaylaştırabilecek her türlü bilgiyi ortaya çıkarır.
Morag, “Aslında düz metin şifreleri ve belirteçleri ve gizli tutulması gereken dahili konumların API adreslerini görebildiğimizi fark ettik” diyor. Örneğin, Çek otomobil üreticisi Skoda Auto’ya ait, şirketin bazı alt alan adlarını, Docker kayıtlarını ve resimlerini açığa çıkaran, açığa çıkmış ve kimliği doğrulanmamış bir Prometheus örneği buldu.
Açık Web Prometheus sunucuları ve dışa aktarıcıları, sırların açığa çıkmasının yanı sıra DoS riski de taşır. Örneğin, kullanıcıların uzak ana bilgisayarların profilini oluşturmasına yardımcı olan ‘/debug/pprof’ uç noktası vardır ve çoğu Prometheus bileşeni tarafından varsayılan olarak etkinleştirilir. Testlerinde araştırmacılar, iletişimi kesintiye uğratacak şekilde uç noktaya aşırı yükleme yapabileceklerini veya Amazon Web Services Elastic Compute Cloud (AWS EC2) bulut sunucularını veya Kubernetes pod’larını doğrudan çökertebileceklerini gösterdi.
Morag, “Sonuç kesindi: Senaryomuzu her çalıştırdığımızda sanal makineleri durdurduk” diyor. Böyle bir saldırı senaryosunun önemini anlatmak için şaka yapıyor: “Bir yerlerde Kubernetes kümelerinin savaş uçaklarında çalıştığını okudum. İnternete açık olduklarını sanmıyorum ama [it goes to show] Bugün pek çok yerde Kubernetes’i çalıştırıyoruz.”
Prometheus’ta Fırsatları Yeniden Kaçırmak
Kullanıcılar Prometheus sunucularını ve dışa aktarıcılarını çevrimdışına alarak veya en azından meraklı gözlerden uzak tutmak için bir kimlik doğrulama katmanı ekleyerek koruyabilirler. Ve elbette DoS risklerini azaltmak için tasarlanmış araçlar da var.
Platformdaki üçüncü sorun ise daha az kolay çözülüyor: İhracatçılarının birçoğunun saldırılara karşı savunmasız olduğu görüldü. yeniden ele geçirme saldırıları.
Bir geliştiricinin GitHub’daki hesabını değiştirmesi veya silmesi ve ad alanını kullanımdan kaldırma işlemi gerçekleştirmemesi durumunda, repojacking fırsatı ortaya çıkabilir. Basitçe, bir saldırgan geliştiricinin eski kullanıcı adını kaydeder ve ardından geliştiricinin eski, meşru projeleriyle aynı ad altında kötü amaçlı yazılım yerleştirir. Daha sonra, bu depoya başvuran ancak doğru yönlendirme bağlantısıyla güncellenmeyen projeler, kötü amaçlı kopyanın alınmasıyla sonuçlanabilir.
Prometheus’un resmi belgeleri, serbestçe talep edilebilen kullanıcı adlarıyla ilişkili çeşitli ihracatçılara atıfta bulunuyordu; bu, herhangi bir saldırganın devreye girip uzaktan kod yürütme gerçekleştirmek için avantaj elde edebileceği anlamına geliyordu. Aqua Nautilus sorunu Prometheus’a bildirdi ve o zamandan beri sorun çözüldü.
Morag, yeniden kaçırma fırsatlarının muhtemelen sanıldığından çok daha yaygın olduğunu, bu nedenle kuruluşların güvendikleri projeler ile bunlara erişmek için izledikleri bağlantılar arasındaki tutarsızlıkları izlemeleri gerektiğini vurguluyor. “O kadar da zor değil” diyor. “Fakat bunu milyonlarca açık kaynaklı proje için yapıyorsanız sorun da burada başlıyor. [scanning tool]güvende olabilirsin.”