L1 Terminal Fault – VMM (L1TF – VMM)
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-3646 – L1 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 Name | FMS | Intel Brand Names |
Nehalem-EP | 0x106a5 | Intel Xeon 35xx Series; Intel Xeon 55xx Series |
Lynnfield | 0x106e5 | Intel Xeon 34xx Lynnfield Series |
Clarkdale | 0x20652 | Intel i3/i5 Clarkdale Series; Intel Xeon 34xx Clarkdale Series |
Arrandale | 0x20655 | Intel Core i7-620LE Processor |
Sandy Bridge DT | 0x206a7 | Intel Xeon E3-1100 Series; Intel Xeon E3-1200 Series; Intel i7-2655-LE Series; Intel i3-2100 Series |
Westmere EP | 0x206c2 | Intel Xeon 56xx Series; Intel Xeon 36xx Series |
Sandy Bridge EP | 0x206d7 | Intel 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 EX | 0x206e6 | Intel Xeon 65xx Series; Intel Xeon 75xx Series |
Westmere EX | 0x206f2 | Intel Xeon E7-8800 Series; Intel Xeon E7-4800 Series; Intel Xeon E7-2800 Series |
Ivy Bridge DT | 0x306a9 | Intel 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 DT | 0x306c3 | Intel Xeon E3-1200-v3 Series |
Ivy Bridge EP | 0x306e4 | Intel 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 EX | 0x306e7 | Intel Xeon E7-8800/4800/2800-v2 Series |
Haswell EP | 0x306f2 | Intel 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 EX | 0x306f4 | Intel Xeon E7-8800/4800-v3 Series |
Broadwell H | 0x40671 | Intel Core i7-5700EQ; Intel Xeon E3-1200-v4 Series |
Avoton | 0x406d8 | Intel Atom C2300 Series; Intel Atom C2500 Series; Intel Atom C2700 Series |
Broadwell EP/EX | 0x406f1 | Intel 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 SP | 0x50654 | Intel Xeon Platinum 8100 (Skylake-SP) Series; Intel Xeon Gold 6100/5100 (Skylake-SP) Series Intel Xeon Silver 4100, Bronze 3100 (Skylake-SP) Series |
Broadwell DE | 0x50662 | Intel Xeon D-1500 Series |
Broadwell DE | 0x50663 | Intel Xeon D-1500 Series |
Broadwell DE | 0x50664 | Intel Xeon D-1500 Series |
Broadwell NS | 0x50665 | Intel Xeon D-1500 Series |
Skylake H/S | 0x506e3 | Intel Xeon E3-1500-v5 Series; Intel Xeon E3-1200-v5 Series |
Kaby Lake H/S/X | 0x906e9 | Intel 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 Product | Product Version | Running On | Severity | Replace_with/Apply_Patch | Mitigation/Workaround |
---|---|---|---|---|---|
VC | 6.7 | Any | Important | 6.7.0d | None |
VC | 6.5 | Any | Important | 6.5u2c | None |
VC | 6.0 | Any | Important | 6.0u3h | None |
VC | 5.5 | Any | Important | 5.5u3j | None |
ESXi | 6.7 | Any | Important | ESXi670-201808401-BG* ESXi670-201808402-BG** ESXi670-201808403-BG* | None |
ESXi | 6.5 | Any | Important | ESXi650-201808401-BG* ESXi650-201808402-BG** ESXi650-201808403-BG* | None |
ESXi | 6.0 | Any | Important | ESXi600-201808401-BG* ESXi600-201808402-BG** ESXi600-201808403-BG* | None |
ESXi | 5.5 | Any | Important | ESXi550-201808401-BG* ESXi550-201808402-BG** ESXi550-201808403-BG* | None |
WS | 14.x | Any | Important | 14.1.3* | None |
Fusion | 10.x | Any | Important | 10.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.
Selamlar,
6.7 U1 kurdum, yukarıdaki patch’leri içeriyor mudur? Biraz bakındım ama birşey bulamadım.
Peki bu zaafiyeti kökten çözmenin yolu var mı?
Belirtmiş olduğum parametreleri değiştirmeniz gerekiyor.