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:
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!