Evet Spectre ana bilgisayar / konuk, konuk / ana bilgisayar ve konuk / konuk sınırlarını geçebilir, çünkü bu CPU düzeyinde bir kusurdur, bu da potansiyel olarak hassas bilgilerin bir CPU çekirdeğinde çalışan her şeye sızabileceği anlamına gelir.
İnternetteki haberlerin çoğu, sanallaştırılmış ve hassas bilgileri sızdırmak için kötüye kullanılabilecek büyük sistem kümelerine sahip oldukları için bulut sağlayıcılarının bundan en kötü şekilde etkilendiği hakkında konuşuyor.
Büyük sağlayıcıların çoğu, şimdiye kadar, olabilecek en iyi şekilde, kusurlara karşı yamalı olmalı, ancak bu, bir süredir bizimle yaşayan bir sorun olacak.
Güvenlik.SE'nin bu konuda kanonik bir Soru ve Cevapları vardır ve VM'lerden bahseder:
Sanal Makine / Kaplar kullanıyorum, ne ölçüde savunmasızım?
Gereğince Steffen Ullrich cevabı
- Erime saldırıları VM'leri geçmez, sadece yerel işlemlere çekirdek belleği sızdırır.
- Spectre sanal makinelerde çalışabilir.
Yine Steffen'den Meltdown ve Spectre, konteynırlar ana çekirdeğe dayandığından kaplarla çalışır.
VM'ler, sisteminizdeki gerçek CPU'yu, bazı ayrıcalıklı talimatlar yakalanmış ve yeniden yönlendirilebilecek şekilde kullanır. Ana bilgisayar ile aynı önbellekleri ve talimatları kullanır. Aslında sisteminizdeki fiziksel CPU içindeki başka bir katman.
Sanallaştırma sadece hızlıdır çünkü fiziksel CPU'yu olabildiğince az soyutlama ile kullanır ve izolasyon sağlamak için CPU donanımına dayanır. Qemu gibi şeyler , bir işlemci CPU olmadığı için daha güvenli olacak şekilde öykünme yapabilir , ancak çok daha yavaştır ve sanallaştırmadan farklıdır.
Gönderen Security.se yayınlamak kurallı tekrar:
Spectre farklı bir seviyede çalışır ve kullanıcı-uzayından çekirdek-uzay verilerine erişime izin vermez. Bu saldırıda, saldırgan talimatların hatalı olarak tahmin edilmesi için spekülatif yürütmeyi kandırır. Özetle, yordayıcı, belirli bir dal sonucunu (eğer -> doğru) tahmin etmeye zorlanır, bu da mağdur sürecinin normal olarak talep etmeyeceği sınırsız bir bellek erişimi istemeye ve yanlış spekülatif yürütmeye neden olur. Sonra yan kanal tarafından bu belleğin değerini alır. Bu şekilde, mağdur sürecine ait bellek, kötü niyetli sürece sızdırılır.
Dolayısıyla, VM gerçek CPU donanımında çalıştığı ve tek yapması gereken spekülatif yürütme motorunu "eğitmek" için belirli bir döngü çalıştırmaktır. Daha sonra, kullanmak istediği ana bilgisayar veya konuk (veya diğer VM) sürecini gösteren belirli erişim kalıpları için önbellekleri izlemek için hassas zamanlamayı kullanabilir.
Bu şekilde bir makinenin her yönden kullanılabilir olduğu anlamına gelir. Ana bilgisayardan VM'ye, VM'den ana bilgisayara ve VM'den VM'ye.
Evet, hiçbir şekilde kolay değildir ve VM CPU çekirdeği ana bilgisayarın kaprisinde değişebileceğinden ve ana bilgisayar görevleri farklı çekirdekler üzerinde de mutlu bir şekilde zamanlayabildiğinden çıkarmak zor bir şeydir, ancak uzun bir süre boyunca yeterli bilgi bazı önemli sistem veya hesaplara gizli bir anahtar vermek için sızdırabilir. Yeterli zaman ve bazı gizli yazılımlar göz önüne alındığında her şey potansiyel olarak açıktır.
Eğer "güvenli" bir sanal makine istiyorsanız, çekirdeklerin izole edildiğini garanti etmelisiniz. Bu saldırıyı engellemenin tek gerçek yolu, ana bilgisayarı ve VM'leri yalnızca belirli çekirdekleri kullanmaya "zorlamak" olacaktır, böylece asla aynı donanımda çalışmazlar, ancak bu, yapamayacağınız için maliyette etkili bir artışa neden olur. belirli bir ana bilgisayarda çok sayıda VM'ye sahip olmak. Çekirdeklerinizden daha fazla VM çalıştırmaktan asla kurtulamazsınız, bu da birçok sistemin hayatlarının% 90'ı için boşta oturduğu için "düşük yük" sunucularında yapılmasını beklediğim bir şeydir.