Yazarlar:
(1) Zane Weissman, Worcester Politeknik Enstitüsü Worcester, MA, ABD {[email protected]};
(2) Thomas Eisenbarth, Lübeck Lübeck Üniversitesi, SH, Almanya {[email protected]};
(3) Thore Tiemann, Lübeck Lübeck Üniversitesi, SH, Almanya {[email protected]};
(4) Berk Sunar, Worcester Politeknik Enstitüsü Worcester, MA, ABD {[email protected]}.
Şekil 2, AWS tarafından sunulduğu şekliyle Firecracker tarafından sunulan korumayı göstermektedir. Bu bölümde, gösterilen her bileşeni ve bunların mikro mimari saldırılara karşı savunmalarını ve bunlara karşı güvenlik açıklarını analiz ediyoruz.
KVM'dir . Linux çekirdeği tabanlı sanal makine (KVM), modern Linux çekirdeklerinde uygulanan hiper yöneticidir ve dolayısıyla Linux kod tabanının bir parçasıdır. Temel donanımın yönetici ve kullanıcı modlarını sanallaştırır, VM'ler arasındaki bağlam geçişlerini yönetir ve G/Ç işlemleriyle ilgili olmadığı sürece VM çıkış nedenlerinin çoğunu yönetir. Bu mimari izolasyon mekanizmalarının yanı sıra KVM, ana bilgisayar işletim sistemini veya hipervizörü kötü niyetli misafirlerden korumak için VM çıkışındaki Spectre saldırılarına karşı da azaltımlar uygular. Firecracker, hipervizörü olarak büyük ölçüde KVM'ye güveniyor. Ancak KVM, Linux kaynak kodunun bir parçası olduğundan ve Linux topluluğu tarafından geliştirildiğinden, KVM'yi Firecracker'ın bir parçası olmayacak şekilde tanımlıyoruz. Bu nedenle, KVM'de uygulanan mikro mimari saldırılara karşı alınan karşı önlemler, Firecracker'ın muhafaza sistemine atfedilemez.
Meta veriler, cihaz ve G/Ç hizmetleri. Meta veriler, cihaz ve G/Ç hizmetleri, Firecracker VMM ve API'nin bir VM ile doğrudan etkileşim kuran, ölçümleri toplayan ve yöneten ve bağlantı sağlayan parçalarıdır. AWS, bu arayüzlerin basitliğini (daha az saldırı yüzeyi için) ve bunların güvenlik özellikleriyle bilinen bir programlama dili olan Rust'ta Firecracker için sıfırdan yazıldığını öne sürüyor [9]. Bununla birlikte, Rust en önemlisi geçersiz ve sınır dışı bellek erişimlerine karşı süreç içi koruma sağlar; ancak önbellek saldırıları, Spectre ve MDS gibi mikro mimari saldırılar, kurbanın sürecini doğrudan ele geçirmek yerine süreçler arasında bilgi sızdırabilir.
Firecracker ile diğer birçok VMM arasındaki bir diğer dikkate değer fark, tüm bu hizmetlerin, başka bir iş parçacığında da olsa, VM'nin kendisi ile aynı ana bilgisayar işlemi içinde çalıştırılmasıdır. VM içindeki bellek adreslerinin sanallaştırılması, konuğun kodu ile G/Ç hizmetleri arasında bir miktar gizleme sağlarken, bazı Spectre saldırıları özellikle tek bir işlem içinde çalışır. Bununla birlikte, aynı donanım üzerinde çalışan iki misafirin her biri bu temel hizmetlerin kendi kopyasına sahip olduğundan, süreç içi saldırılar gerçek dünya sistemleri için daha az tehdit oluşturabilir.
Gardiyan bariyeri. API veya VMM'nin ele geçirilmesi durumunda, jailer, Firecracker örneğinin etrafında son bir savunma bariyeri sağlar. Ana bilgisayar sisteminin dosyalarını ve kaynaklarını sırasıyla ad alanları ve kontrol grupları (cgroups) ile korur [7]. Mikro mimari saldırılar, tanımı gereği mikro mimari durumun dışında olan dosyaları doğrudan tehdit etmez. Cgroup'lar, bir sistem yöneticisinin süreçleri gruplara atamasına ve daha sonra grup bazında sistem kaynağı kullanımını tahsis etmesine, kısıtlamasına ve izlemesine olanak tanır [17]. Gruplara uygulanan sınırlamaların, saldırganın belirli mikro mimari saldırıları gerçekleştirme becerisini engellemesi olasıdır. Örneğin, bellek sınırlamaları, tahliye tabanlı önbellek saldırılarının gerçekleştirilmesini zorlaştırabilir veya CPU zaman sınırlamaları, bir saldırganın, kurbanı yavaşlatabilen HyperDegrade [2] gibi bir CPU hizmet reddi aracını etkili bir şekilde kullanmasını engelleyebilir. Mikro mimarili yan kanaldan sızma veya enjeksiyonun zamanlamasını basitleştiren bir süreç. Uygulamada, Firecracker herhangi bir özel grup kuralıyla dağıtılmaz [7]; aslında, birçok Firecracker VM'sinin varsayılan Linux kaynak tahsisi altında verimli çalışması için özel olarak tasarlanmıştır [6].
Firecracker'daki izolasyon ve sınırlama sistemlerinin hiçbiri, kullanıcıdan kullanıcıya veya kullanıcıdan ana bilgisayara saldırılara karşı doğrudan koruma sağlayamıyor gibi görünüyor. Bu nedenle, Firecracker VM'lerinin içindeki ve dışındaki kavramların çeşitli mikro mimari saldırı kanıtlarını test etmeye başladık.