This post is also available in: Inglese

Reading Time: 5 minutes

Quest’anno sarà ricordato, informaticamente parlando, come dei bug ai microprocessori. Si è iniziato subito ai primi di gennaio con gli annunci dei bug Spectre e Metldown ma poi si è continutato tutto l’anno. Prima per i goffi tentativi di sistemare i bug citati, ma poi anche per l’incombedere di nuove varianti dei bug. Si pensi che si è arrivati a Spectre V4 e V5!

Ma è di pochi giorni l’annuncio di un nuovo bug. Di nuovo a livello hardware, di nuovo su processori presenti nel mercato da diversi anni, inclusi ultimi modelli (che ovviamente sono stati comunque progettatti anni fa)

Foreshadow è il nuovo bug scoperto nei processori Intel, la nuova vulnerabilità si chiama anche Foreshadow-NG o L1TF, ovvero L1 Terminal Fault ed è documentata dai seguenti documenti:

CVE-2018-3615 L1 Terminal Fault SGX related aspects
CVE-2018-3620 L1 Terminal Fault OS, SMM related aspects
CVE-2018-3646 L1 Terminal Fault Virtualization related aspects

Foreshadow (o L1TF) è in realtà stato scoperto da alcuni ricercatori e segnalata ad Intel già lo scorso gennaio, come diretta conseguenza dell’analisi sulle possibili conseguenze dei bug Metldown e Spectre. La variante originale di Foreshadow colpisce in particolare i processori che supportano la tecnologia SGX (da Skylake in poi quindi), mentre le altre varianti (Foreshadow NG) possono colpire anche altri modelli di CPU Intel fin dalla seconda generazione di CPU Core (oltre che CPU a 32/45nm).

Si tratta quindi di un bug che affligge SOLO alcuni processori Intel  (Intel Core processors e Intel Xeon ). Mentre invece NON sono affetti:

  • Processors from AMD, Centaur and other non Intel vendors
  • Older processor models, where the CPU family is < 6
  • A range of Intel ATOM processors (Cedarview, Cloverview, Lincroft, Penwell, Pineview, Silvermont, Airmont, Merrifield)
  • The Intel XEON PHI family
  • Intel processors which have the ARCH_CAP_RDCL_NO bit set in the IA32_ARCH_CAPABILITIES MSR. If the bit is set the CPU is not affected by the Meltdown vulnerability either. These CPUs should become available by end of 2018.

Intel ha dichiarato in un post sul suo blog che, se si sono già stati istallati gli aggiornamenti per i bug Spectre e Meltdown e i sistemi sono stati anche aggiornati con gli utimi rilasci di questi giorni, allora il problema può essere minimizzato… anche se in realtà non sempre la protezione è attiva dopo l’applicazione delle patch (vedasi ad esempio il caso di VMware).

Intel afferma anche che al momento non è stato registrato alcun attacco che utilizza questo tipo di approccio. Ma non per questo il problema è meno grave, visto che, ad esempio in ambienti cloud pubblici, vi può essere notevole “promiscuità” di risorse.

Per saperne di più esistono tanti siti in inglese, ad esempio, uno di quelli con maggiori informazioni è il sito di RedHat. Altrimenti si trovano diversi video che sintetizzano il problema:

For a more detailed technical view of L1 Terminal Fault, please see this deeper dive with Jon Masters.

Cosa bisogna fare per minimizzare il problema? Come Intel ha dichiarato basterebbe aggiornare i sistemi, ma non è proprio vero, almeno non per la parte di virtualizzazione.

Sicuramente prima bisogna applicare le patch e poi c’è da vedere come attivare le protezioni al seconda dell’ambiete.

Linux kernels

Le versioni recenti del kernel Linux includono un file utile per capire se il problema è presente: /sys/devices/system/cpu/vulnerabilities/l1tf

I valori possibili sono:

‘Not affected’ The processor is not vulnerable
‘Mitigation: PTE Inversion’ The host protection is active

A esempio, nel caso della sistema sul quale gira il mio blog:

[root@vinfrastructure ~]# cat /sys/devices/system/cpu/vulnerabilities/l1tf
Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled

Microsoft Windows

Microsoft ha relizzato un documento che descrive l’intero flusso:

Figure 1 Short mitigation descriptions
Come vedere è molto complesso, ma anche perché dipende dal tipo di sistema, dal tipo di sistema operativo, se si usano particolari protezioni di sicurezza, …

VMware

VMware ha rilasciato diversi aggiornamenti per i propri ambienti di virtualizzazione VMware vSphere, Workstation, Player e Fusion. Il documento VMSA-2018-0020 descrive in maggior dettaglio come procedere al fi.

Le nuove versioni aggiornate sono:

VMware Product Product Version Running On Severity Replace_with/Apply_Patch
VC 6.7 Any Important 6.7.0d
VC 6.5 Any Important 6.5u2c
VC 6.0 Any Important 6.0u3h
VC 5.5 Any Important 5.5u3j
ESXi 6.7 Any Important ESXi670-201808401-BG*
ESXi670-201808402-BG**
ESXi670-201808403-BG*
ESXi 6.5 Any Important ESXi650-201808401-BG*
ESXi650-201808402-BG**
ESXi650-201808403-BG*
ESXi 6.0 Any Important ESXi600-201808401-BG*
ESXi600-201808402-BG**
ESXi600-201808403-BG*
ESXi 5.5 Any Important ESXi550-201808401-BG*
ESXi550-201808402-BG**
ESXi550-201808403-BG*
WS 14.x Any Important 14.1.3*
Fusion 10.x Any Important 10.1.3*

*These patches DO NOT mitigate the Concurrent-context attack vector previously described by default. For details on the three-phase vSphere mitigation process please see KB55806and for the mitigation process for Workstation and Fusion please see KB57138.

**These patches include microcode updates required for mitigation of the Sequential-context attack vector. This microcode may also be obtained from your hardware OEM in the form of a BIOS or firmware update. Details on microcode that has been provided by Intel and packaged by VMware is enumerated in the patch KBs found in the Solution section of this document.

Come si vede versioni non può supportate non hanno aggiornamenti. Come pure per vSphere v5.5 le patch non ci sono ancora, ma a breve anche questa versione uscirà dal supporto!

Share

Virtualization, Cloud and Storage Architect. Tech Field delegate. VMUG IT Co-Founder and board member. VMware VMTN Moderator and vExpert 2010-24. Dell TechCenter Rockstar 2014-15. Microsoft MVP 2014-16. Veeam Vanguard 2015-23. Nutanix NTC 2014-20. Several certifications including: VCDX-DCV, VCP-DCV/DT/Cloud, VCAP-DCA/DCD/CIA/CID/DTA/DTD, MCSA, MCSE, MCITP, CCA, NPP.