L1 Terminal Fault – VMM (L1TF – VMM)

tarafından 2 Eylül 2018 tarihinde VMware, VMware ESXi kategorisine yazıldı.

Merhaba,

Bu yazımda sizlere Spectre/Meltdown benzeri bir zafiyet olan L1 Terminal Fault – VMM (L1TF – VMM) hakkında bilgi vermek istiyorum. Bu zafiyet ortalama 2 hafta önce Intel tarafından bir duyuru ile ortaya çıktı.

https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00161.html

Yukarıdaki linkte belirtmiş olduğum güvenlik bültenini incelediğinizde, Güvenlik araştırmacılarının L1 Terminal Fault ismini verdiği güvenlik açığı sadece Intel SGX (Intel® Software Guard Extensions) destekleyen işlemcilerde ortaya çıkmış gözüküyor. Tabi ilerleyen sürelerde bu güvenlik bülteninde güncellemeler olabilir ancak şuan için sadece Intel SGX (Intel® Software Guard Extensions) destekli işlemcilerde gözüküyor. L1 Terminal Fault’un 3 farklı açığı bulunmaktadır. Bunlar;

  • CVE-2018-3615 – L1 Terminal Fault: SGX
  • CVE-2018-3620 – L1 Terminal Fault: OS/SMM
  • CVE-2018-3646 – L1 Terminal Fault: VMM

Ben bu yazımda sadece CVE-2018-3646L1 Terminal Fault: VMM isimli güvenlik zafiyetinden bahsedeceğim.

Intel, 2009 ve 2018 yılları arasında çıkarılmış işlemcilerde L1 Teminal Fault olarak bilnen yeni bir  speculative-execution sınıflı bir güvenlik açığı hakkındaki ayrıntıları açıkladı.

Aşağıda etkilenen CPU ürün ailelerini görebilirsiniz.

Intel Code NameFMSIntel Brand Names
Nehalem-EP0x106a5Intel Xeon 35xx Series;
Intel Xeon 55xx Series
Lynnfield0x106e5Intel Xeon 34xx Lynnfield Series
Clarkdale0x20652Intel i3/i5 Clarkdale Series;
Intel Xeon 34xx Clarkdale Series
Arrandale0x20655Intel Core i7-620LE Processor
Sandy Bridge DT0x206a7Intel Xeon E3-1100 Series;
Intel Xeon E3-1200 Series;
Intel i7-2655-LE Series;  Intel i3-2100 Series
Westmere EP0x206c2Intel Xeon 56xx Series;
Intel Xeon 36xx Series
Sandy Bridge EP0x206d7Intel Pentium 1400 Series;
Intel Xeon E5-1400 Series;
Intel Xeon E5-1600 Series;
Intel Xeon E5-2400 Series;
Intel Xeon E5-2600 Series;
Intel Xeon E5-4600 Series
Nehalem EX0x206e6Intel Xeon 65xx Series;
Intel Xeon 75xx Series
Westmere EX0x206f2Intel Xeon E7-8800 Series;
Intel Xeon E7-4800 Series;
Intel Xeon E7-2800 Series
Ivy Bridge DT0x306a9Intel i3-3200 Series; Intel i7-3500-LE/UE, Intel i7-3600-QE,
Intel Xeon E3-1200-v2 Series;
Intel Xeon E3-1100-C-v2 Series;
Intel Pentium B925C
Haswell DT0x306c3Intel Xeon E3-1200-v3 Series
Ivy Bridge EP0x306e4Intel Xeon E5-4600-v2 Series;
Intel Xeon E5-2400-v2 Series;
Intel Xeon E5-2600-v2 Series;
Intel Xeon E5-1400-v2 Series;
Intel Xeon E5-2600-v2 Series
Ivy Bridge EX0x306e7Intel Xeon E7-8800/4800/2800-v2 Series
Haswell EP0x306f2Intel Xeon E5-2400-v3 Series;
Intel Xeon E5-1400-v3 Series;
Intel Xeon E5-1600-v3 Series;
Intel Xeon E5-2600-v3 Series;
Intel Xeon E5-4600-v3 Series
Haswell EX0x306f4Intel Xeon E7-8800/4800-v3 Series
Broadwell H0x40671Intel Core i7-5700EQ;
Intel Xeon E3-1200-v4 Series
Avoton0x406d8Intel Atom C2300 Series;
Intel Atom C2500 Series;
Intel Atom C2700 Series
Broadwell EP/EX0x406f1Intel Xeon E7-8800/4800-v4 Series;
Intel Xeon E5-4600-v4 Series;
Intel Xeon E5-2600-v4 Series;
Intel Xeon E5-1600-v4 Series
Skylake SP0x50654Intel Xeon Platinum 8100 (Skylake-SP) Series;
Intel Xeon Gold 6100/5100 (Skylake-SP) Series
Intel Xeon Silver 4100, Bronze 3100 (Skylake-SP) Series
Broadwell DE0x50662Intel Xeon D-1500 Series
Broadwell DE0x50663Intel Xeon D-1500 Series
Broadwell DE0x50664Intel Xeon D-1500 Series
Broadwell NS0x50665Intel Xeon D-1500 Series
Skylake H/S0x506e3Intel Xeon E3-1500-v5 Series;
Intel Xeon E3-1200-v5 Series
Kaby Lake H/S/X0x906e9Intel Xeon E3-1200-v6

Meltdown, Rogue System Register Read ve Lazy FP State Restore gibi etkilenen Intel mikroişlemcilerinin izinsiz veri erişimi yapması durumunda L1 Terminal Fault güvenlik açığı oluşabilir. ESXi ile birlikte biz aslında bir sanallaştırma yapıyoruz. Fiziksel sunucu üzerindeki tüm donanımı sanallaştırıyoruz diyebiliriz. ESXi kurulumundan sonra üzerinde birden fazla virtual machine çalıştırarak fiziksel sunucunun CPU ‘sunu daha efektif bir şekilde kullanıyoruz. Tüm virtual machine’ler CPU core’larını ortak bir şekilde kullanabiliyor. Bu açık sayesinde CPU üzerinde bulunan L1 cache‘inde yer alan bilgi okunabilmektedir. Public cloud ortamında altyapınız var ve bu açıktan dolayı tüm virtual machine’leriniz üzerinde yer alan bilgiler izinsiz birşekilde okunabilir. Aslında oldukça kritik bir güvenlik açığı. 3 farklı güvenlik açığından bahsetmiştim ancak bunların arasında en kritik olanı CVE-2018-3646 (L1 Terminal Fault – VMM) numaralı güvenlik bülteninde yer alan açıktır. Bu açıktan aşağıdaki ürünler etkilenmektedir.

  • VMware vCenter Server (VC)
  • VMware vSphere ESXi (ESXi)
  • VMware Workstation Pro / Player (WS)
  • VMware Fusion Pro / Fusion (Fusion)

2 farklı atak tipi bulunmaktadır. Bunlar;

Sequential-context attack vector:

Kötü niyetli bir virtual machine, daha önce erişimde bulunan virtual machine’in L1 data cache’de bırakmış olduğu veriyi okuyabilir veya bunları dışarı çıkartabilir.

Concurrent-context attack vector:

Kötü niyetli bir virtual machine, L1 data cache’de çalıştırılan kodu veya veriyi anlık olarak okuyabilir. Yukarıda bahsetmiştim, virtual machine’ler CPU kullanırken ortak bir şekilde kullanır.

VMware ProductProduct VersionRunning OnSeverityReplace_with/Apply_PatchMitigation/Workaround
VC6.7AnyImportant6.7.0dNone
VC6.5AnyImportant6.5u2cNone
VC6.0AnyImportant6.0u3hNone
VC5.5AnyImportant5.5u3jNone
ESXi6.7AnyImportantESXi670-201808401-BG*
ESXi670-201808402-BG**
ESXi670-201808403-BG*
None
ESXi6.5AnyImportantESXi650-201808401-BG*
ESXi650-201808402-BG**
ESXi650-201808403-BG*
None
ESXi6.0AnyImportantESXi600-201808401-BG*
ESXi600-201808402-BG**
ESXi600-201808403-BG*
None
ESXi5.5AnyImportantESXi550-201808401-BG*
ESXi550-201808402-BG**
ESXi550-201808403-BG*
None
WS14.xAnyImportant14.1.3*None
Fusion10.xAnyImportant10.1.3*None

Peki bu güvenlik açığını kapatmak için ne yapmanız gerekiyor ondan bahsedeyim. VMware bu güvenlik açığını düzeltmek için aşağıdaki önerilerde bulunmuştur.

Sequential-context attack vector:

Yukarıdaki tabloda belirtilen ürün versiyonlarına göre yaptığınız güncellemeler ile güvenlik açığını düzeltebilirsiniz.

Concurrent-context attack vector:

ESXi Side-Channel-Aware Scheduler’in enable edilmesi ile bu güvenlik açığını düzeltebilirsiniz. Bu işlemi yaptığınızda performans kayıpları yaşayabilirsiniz. Bu işlem ile ilgili aşağıdaki makalemi inceleyebilirsiniz.

esx.problem.hyperthreading.unmitigated

ESXi Side-Channel-Aware Scheduler parametresi default olarak False durumundadır. Bunu TRUE durumuna getirip ardından ESXi host’u reboot etmeniz gerekmektedir. Detaylı bilgi için yukarıda belirtmiş olduğum makaleyi inceleyebilirsiniz.

Güncelleme ile ilgili bilgi vermek istiyorum. VMSA-2018-0020‘de belirtilen vSphere güncellemeleri ile güvenlik açıklarını kapatabilirsiniz. Yukarıdaki şemaya göre ESXi patch‘lerini yüklemeden önce vCenter Server’i güncellemeniz gerekmektedir. vCenter Server ve ESXi host update’lerini tamamladıktan sonra Sequential-context attack vector güvenlik açığını kapatabilirsiniz. Planning Phase bölümünde ise VMSA-2018-0020‘de belirtilen patch’ler ile ESXi Side-Channel-Aware Scheduler ile güvenlik açıklarını kapatabilirsiniz. ESXi Side-Channel-Aware Scheduler‘i yanlızca VMSA-2018-0020’de belirtilen patch’i yükledikten sonra TRUE durumuna getirebilirsiniz. ESXi Side-Channel-Aware Scheduler ‘i TRUE konumuna getirdiğinizde bazı performans problemleri ortaya çıkabilir. Bundan dolayı ESXi Side-Channel-Aware Scheduler etkinleştirdikten sonra aşağıda belirteceğim maddelere dikkat etmeniz gerekebilir.

  • Patch işlemleri uygulandıktan sonra HA cluster’da CPU kullanımı %100’ü geçebilir.
  • ESXi host’un ortalama CPU kullanımı %70 ise, bu kullanım düşürülmelidir.
  • Virtual machine üzerinde Latency Sensitive konfigurasyonu yapıldı ise; (VM > Edit Settings > VM Options > Advanced) bu kaldırılmalı.
  • ESXi host üzerinde özel CPU Resource’u yapıldı ise bunlar kaldırılmalı.
  • Virtual machine üzerinde Affinity rule veya NUMA ayarlı durumda ise bunlar kaldırılmalı.

Açıkcası Meltdown ve Spectre güvenlik açığı gibi bu güvenlik açığıda çok dikkat çekmişe benziyor. Ben VMware tarafında yapılacak olan işlemler ile ilgili detaylı bilgiler vermeye çalıştım. Eğer isterseniz Tolgahan’ın yazmış olduğu buradaki makaleyide inceleyebilirsiniz.

VMware’in yayınlamış olduğu KB’ye aşağıdaki linkten ulaşabilirsiniz.

https://kb.vmware.com/s/article/55806

Umarım faydalı olmuştur.

İyi çalışmalar.

email

Bu yazı blog üzerinde Tayfun DEĞER tarafından paylaşılmıştır. 2009 yılında açılan blog kısa zaman içerisinde büyük bir izleyici kitlesine sahip olmuştur.Tayfun DEĞER danışmanlık ve eğitimler vermektedir. vExpert 2013-2017, VCP5, VCP5-DT, VCP-Cloud ve MCSE sertifikalarına sahiptir.Twitter 'dan @tayfundeger veya RSS ile sitedeki değişiklikleri takip edebilirsiniz.