VM kaçışı nedir?
VM kaçışı (VM escape), bir sanal makinenin içindeki saldırganın yalıtımı aşarak hipervizöre, ana makineye veya diğer sanal makinelere erişmesidir. Sanallaştırmanın temel vaadi olan yalıtımı bozduğu için en ciddi saldırı türlerinden biri sayılır.
Gerçek dünyada çok nadirdir, çünkü hipervizörler yoğun biçimde denetlenir ve güncellenir. Yine de bulunan açıklar hızla yamalanmalıdır; çünkü başarılı bir kaçış, aynı sunucudaki tüm müşterileri etkileyebilir.
Neden önemlidir?
Bulut ve VPS hizmetleri, farklı müşterilerin aynı fiziksel donanım üzerinde çalışması prensibine dayanır. Bu modelde güven, sanal makineler arası yalıtıma bağlıdır. VM kaçışı bu güveni doğrudan ilgilendirir.
- Genellikle sanal aygıt öykünmesindeki (disk, ağ, grafik gibi) hatalardan kaynaklanır.
- Saldırganın önce sanal makine içinde kod çalıştırabiliyor olması gerekir.
- Başarı durumunda ana makinede yetki kazanılabilir.
Sunucu ve hosting ortamında
Müşteri açısından VPS sağlayıcısının hipervizör ve QEMU gibi bileşenleri ne kadar hızlı güncellediği önemlidir. Sağlayıcı tarafında ise ana makinelerin yalnızca sanallaştırma amacıyla kullanılması, sanal makinelere gereksiz aygıt bağlanmaması ve işlemci kaynaklı yan kanal açıklarına karşı mikrokod ve çekirdek güncellemelerinin uygulanması gerekir.
Hipervizörün çalıştığı yönetim ağının müşteri ağından ayrılması, olası bir kaçışın etkisini sınırlar.
Nasıl uygulanır?
Korunma esas olarak sağlayıcı tarafındaki önlemlerle sağlanır; müşteri olarak da yapabilecekleriniz vardır.
- Hipervizör, QEMU ve çekirdek yamalarını gecikmeden uygulayın (sağlayıcı sorumluluğu).
- Sanal makinelerde kullanılmayan aygıtları kaldırın.
- Hipervizör süreçlerini ayrıcalıksız çalıştırıp SELinux ya da AppArmor ile sınırlayın.
- Müşteri olarak kendi sanal makinenizi güncel tutun ve ele geçirilmesini önleyin; kaçışın ilk koşulu sanal makine içinde kod çalıştırabilmektir.
- Kritik iş yüklerini farklı güven düzeylerine göre ayrı donanımlara yerleştirmeyi düşünün.
Sık yapılan hatalar
- Yalıtımın her zaman kusursuz olduğunu varsaymak.
- Hipervizör yamalarını bakım penceresini bekleyerek geciktirmek.
- Yönetim ağı ile müşteri ağını ayırmamak.
- Sanal makinelere gereksiz fiziksel aygıt geçişi vermek.
Sık sorulan sorular
VM kaçışı nedir ve ne kadar yaygındır?
Sanal makinedeki bir saldırganın ana makineye ya da diğer sanal makinelere erişmesidir. Gerçekte çok nadirdir, ancak etkisi yüksek olduğu için ciddiye alınır.
VPS kullanıcısı VM kaçışına karşı ne yapabilir?
Sağlayıcının güncelleme politikasına dikkat edebilir ve kendi sanal makinesini güncel ve korumalı tutabilir. Kaçış girişimi için saldırganın önce sizin makinenizde kod çalıştırması gerektiğinden, temel sunucu güvenliği ilk savunmadır.
VM kaçışı ile konteyner kaçışı aynı şey midir?
Hayır. VM kaçışı hipervizör yalıtımını, konteyner kaçışı ise isim alanı ve çekirdek yalıtımını aşmayı ifade eder. Konteynerlerde çekirdek paylaşıldığı için kaçış yüzeyi genellikle daha geniştir.
İlgili terimler
- VMware ESXiVMware’in doğrudan donanım üzerinde çalışan Tip 1 hipervizörü.
- Anlık görüntü (snapshot)Bir sanal makinenin ya da diskin belirli andaki durumunun kaydı.
- Canlı geçiş (live migration)Canlı geçiş, çalışan bir sanal makineyi kapatmadan ve hizmeti kesmeden bir fiziksel sunucudan diğerine taşıma işlemidir.
- cloud-initcloud-init, bulut ve sanal sunucuların ilk açılışında ağ, kullanıcı, SSH anahtarı ve paket gibi ayarları otomatik uygulayan başlangıç aracıdır.
- DockerKonteynerleri oluşturmak ve çalıştırmak için en yaygın platform.
- Docker ComposeDocker Compose, birden çok konteynerden oluşan uygulamayı tek bir YAML dosyasıyla tanımlayıp birlikte başlatmayı sağlayan araçtır.