[RISOLTO] Vulnerabilità “meltdown”: Linux kernel patch

Firewall, Server, Monitoring e tutto quello che riguarda la sicurezza della nostra Linux Box

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Ombra » 05/01/2018, 13:58

Aggiungo qualche dettaglio, a quanto ho capito i sorgenti kernel (a parte l'rc6) che sono patchati sono il 4.14.11, 4.9.74 e 4.4.109.

Per quanto riguarda Debian sembra che ci sia il kernel aggiornato per stable, ma non in Sid e in testing.

Inoltre ci sono dei test sulla presunta degradazione di performance dovuta alla patch..

https://www.phoronix.com/scan.php?page=article&item=linux-415-x86pti&num=1

https://www.phoronix.com/scan.php?page=article&item=linux-kpti-pcid&num=1

Per quanto riguarda Spectre (descritta nell'altro post i Aki) invece sembra che il fix richieda un aggiornamento dei microcode piuttosto che una patch del kernel.
I tre CVE (1 di Meltdown e 2 di Spectre) possono essere utilizzati in combinazione, quindi anche un fix parziale (solo di Meltdown) è consigliato..
Ombra
wiki member
wiki member
 
Messaggi: 469
Iscritto il: 11/08/2007, 18:06
Località: Bologna

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Aki » 14/01/2018, 10:01

Riporto di seguito l’elenco delle CPU Intel interessate dalla vulnerabilità "meltdown": https://www.intel.com/content/www/us/en/architecture-and-technology/facts-about-side-channel-analysis-and-intel-products.html#4, ed, in particolare:
Codice: Seleziona tutto
Intel® Core™ i3 processor (45nm and 32nm)
Intel® Core™ i5 processor (45nm and 32nm)
Intel® Core™ i7 processor (45nm and 32nm)
Intel® Core™ m processor family (45nm and 32nm)
2nd generation Intel® Core™ processors
3rd generation Intel® Core™ processors
4th generation Intel® Core™ processors
5th generation Intel® Core™ processors
6th generation Intel® Core™ processors
7th generation Intel® Core™ processors
8th generation Intel® Core™ processors
Intel® Core™ X-series processor family for Intel® X99 platforms
Intel® Core™ X-series processor family for Intel® X299 platforms
Intel® Xeon® processor 3400 series
Intel® Xeon® processor 3600 series
Intel® Xeon® processor 5500 series
Intel® Xeon® processor 5600 series
Intel® Xeon® processor 6500 series
Intel® Xeon® processor 7500 series
Intel® Xeon® processor E3 family
Intel® Xeon® processor E3 v2 family
Intel® Xeon® processor E3 v3 family
Intel® Xeon® processor E3 v4 family
Intel® Xeon® processor E3 v5 family
Intel® Xeon® processor E3 v6 family
Intel® Xeon® processor E5 family
Intel® Xeon® processor E5 v2 family
Intel® Xeon® processor E5 v3 family
Intel® Xeon® processor E5 v4 family
Intel® Xeon® processor E7 family
Intel® Xeon® processor E7 v2 family
Intel® Xeon® processor E7 v3 family
Intel® Xeon® processor E7 v4 family
Intel® Xeon® processor Scalable family
Intel® Xeon Phi™ processor 3200, 5200, 7200 series
Intel Atom® processor C series
Intel Atom® processor E series
Intel Atom® processor A series
Intel Atom® processor x3 series
Intel Atom® processor Z series
Intel® Celeron® processor J series
Intel® Celeron® processor N series
Intel® Pentium® processor J series
Intel® Pentium® processor N series

Per ricondurre la CPU alla relativa "famiglia", si può far riferimento a questa pagina.
Aki
Global Moderator
Global Moderator
 
Messaggi: 7728
Iscritto il: 27/12/2007, 16:59

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda s3v » 15/01/2018, 12:11

È stato creato uno scrpt bash per controllare se il proprio sistema è affetto da questa falla di sicurezza:
https://tracker.debian.org/pkg/spectre-meltdown-checker
Per ora solo in Sid.

P.S.
Non sono sicuro che sia il thread corretto, spostate pure senza problemi se necessario,
Avatar utente
s3v
Global Moderator
Global Moderator
 
Messaggi: 5501
Iscritto il: 31/12/2008, 11:54

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Aki » 15/01/2018, 12:36

s3v ha scritto:È stato creato uno scrpt bash per controllare se il proprio sistema è affetto da questa falla di sicurezza:
https://tracker.debian.org/pkg/spectre-meltdown-checker
Per ora solo in Sid.

@s3v: grazie per l'aggiornamento, credo che sia molto utile. Ho dato una rapida occhiata al codice sorgente, e mi sembra che lo script operi verificando in modo empirico che il kernel linux in uso contenga le patch finora sviluppate e, quindi, di per sé questo script non contiene codice relativo a "proof of concept", in altri termini il codice non verifica che il sistema operativo resista ad un tentativo di attacco (seppur simulato) del tipo "spectre/meltdown".
Aki
Global Moderator
Global Moderator
 
Messaggi: 7728
Iscritto il: 27/12/2007, 16:59

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda dring » 17/01/2018, 13:29

feed your head
linuxuser # 2011188
Avatar utente
dring
Hero Member
Hero Member
 
Messaggi: 976
Iscritto il: 27/12/2010, 9:54
Località: Brescia

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Aki » 18/01/2018, 6:32


Puoi indicare il link al codice sorgente delle patch ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 7728
Iscritto il: 27/12/2007, 16:59

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Underpass » 18/01/2018, 12:57

Ciao, ma quindi alla fine la situazione a oggi 18/01/2017 sui tre rami di Debian qual è?
Materia: contrasta i tentativi di mutazione operati dal Tempo, resiste agli attacchi dell'Energia, costringe il Pensiero a divenire pratico.
Avatar utente
Underpass
Hero Member
Hero Member
 
Messaggi: 703
Iscritto il: 09/08/2006, 2:09

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Palo_Pd » 19/01/2018, 9:34

Soluzione proposta da Github:
https://github.com/speed47/spectre-melt ... r/releases
qui il test:
Codice: Seleziona tutto
Tizz@debian ~/Scaricati/spectre-meltdown-checker-0.31 $ sudo sh ./spectre-meltdown-checker.sh
Spectre and Meltdown mitigation detection tool v0.31

Checking for vulnerabilities against running kernel Linux 4.8.0-53-generic #56~16.04.1-Ubuntu SMP Tue May 16 01:18:56 UTC 2017 x86_64
CPU is AMD Athlon(tm) 64 X2 Dual Core Processor 4400+

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel:  NO
> STATUS:  VULNERABLE  (only 31 opcodes found, should be >= 70, heuristic to be improved when official patches become available)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
*   Hardware (CPU microcode) support for mitigation
*     The SPEC_CTRL MSR is available:  NO
*     The SPEC_CTRL CPUID feature bit is set:  NO
*   Kernel support for IBRS:  NO
*   IBRS enabled for Kernel space:  NO
*   IBRS enabled for User space:  NO
* Mitigation 2
*   Kernel compiled with retpoline option:  NO
*   Kernel compiled with a retpoline-aware compiler:  NO
> STATUS:  VULNERABLE  (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI):  NO
* PTI enabled and active:  NO
* Checking if we're running under Xen PV (64 bits):  NO
> STATUS:  NOT VULNERABLE  (your CPU vendor reported your CPU model as not vulnerable)
Palo_Pd
Sr. Member
Sr. Member
 
Messaggi: 431
Iscritto il: 07/03/2006, 7:56

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Spoon » 19/01/2018, 23:03

Non è una soluzione, ma solo un test, e ad ogni modo il codice non è proposto da GitHub ma dall'utente speed47. È lo stesso script presente su Sid, come si può vedere visitando il link postato da s3v e poi andando su "homepage", che ti mostra come il sorgente dello script presente nei repo Debian sia proprio quello di quel repo GitHub.

Segnalo che il kernel patchato per mitigare Meltdown è sì in Wheezy, Jessie, Stretch e Sid (i primi tre tramite gli aggiornamenti di sicurezza), ma a quanto mi pare di capire solo come pacchetto sorgente. I kernel precompilati non credo siano stati aggiornati per includere la patch.
Spoon
wiki member
wiki member
 
Messaggi: 327
Iscritto il: 23/11/2013, 14:37

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Spoon » 20/01/2018, 13:49

Come non detto: i pacchetti contenenti i kernel precompilati patchati per Meltdown sono arrivati oggi anche su Buster e Sid. In particolare le versioni aggiornate dei pacchetti per architettura amd64 installano il kernel 4.14.13-1.
Spoon
wiki member
wiki member
 
Messaggi: 327
Iscritto il: 23/11/2013, 14:37

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Underpass » 20/01/2018, 17:44

Io uso la testing con kernel x86 e quel kernel in versione 4.14.13-1 mi viene ancora indicato come VULNERABLE:

Codice: Seleziona tutto
CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel:  NO
> STATUS:  VULNERABLE  (only 23 opcodes found, should be >= 70, heuristic to be improved when official patches become available)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
*   Hardware (CPU microcode) support for mitigation
*     The SPEC_CTRL MSR is available:  NO
*     The SPEC_CTRL CPUID feature bit is set:  NO
*   Kernel support for IBRS:  NO
*   IBRS enabled for Kernel space:  NO
*   IBRS enabled for User space:  NO
* Mitigation 2
*   Kernel compiled with retpoline option:  NO
*   Kernel compiled with a retpoline-aware compiler:  NO
> STATUS:  VULNERABLE  (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI):  NO
* PTI enabled and active:  NO
* Checking if we're running under Xen PV (64 bits):  NO
> STATUS:  VULNERABLE  (PTI is needed to mitigate the vulnerability)
Materia: contrasta i tentativi di mutazione operati dal Tempo, resiste agli attacchi dell'Energia, costringe il Pensiero a divenire pratico.
Avatar utente
Underpass
Hero Member
Hero Member
 
Messaggi: 703
Iscritto il: 09/08/2006, 2:09

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Aki » 20/01/2018, 17:55

Underpass ha scritto:Ciao, ma quindi alla fine la situazione a oggi 18/01/2017 sui tre rami di Debian qual è?

Per le release in cui gli aggiornamenti di sicurezza del kernel sono stati forniti nei repository Debian al momento solo come codice sorgente, per poter disporre di un kernel con patch, è necessario scaricaricare, ricompilare i pacchetti del codice sorgente aggiornato del kernel (per i diversi rami Debian) con le patch per meltdown/spectre ed installare i pacchetti ricompilati.

Ad esempio, nel caso di Debian Jessie (linux-source-3.16), dopo aver opportunamente configurato il gestore di pacchetti a riconoscere il repository "security" per il codice sorgente ed aver escluso dalla configurazione eventuali altri repository con pacchetti del kernel con versioni superiori a quelle con patch (ad esempio, il repository backports), si possono impartire i seguenti comandi come utente root per scaricare, compilare, creare ed installare i pacchetti Debian del kernel con le patch attualmente disponibili:
Codice: Seleziona tutto
script log.txt
mkdir linux-source
cd linux-source
apt-get update
apt-get upgrade
apt-get source linux-source-3.16
apt-get build-dep linux-source-3.16

A questo punto, come utente ordinari, si possono ricompilare i codici sorgenti del kernel:
Codice: Seleziona tutto
cd linux-3.16.51/
debuild -b -uc -us

A questo punto, come utente root è possibile installare i pacchetti creati con la nuova versione del kernel:
Codice: Seleziona tutto
cd ..
dpkg -i *.deb

Eseguendo il controllo con lo script presente nel pacchetto segnalato da s3v nel messaggio precedente, prima dell'aggiornamento del kernel risulta, ad esempio, su una installazione di Debian Jessie (aggiornata con i consueti repository) potenzialmente non protetto per le tre principali vulnerabilità:
Codice: Seleziona tutto
$ su -c "./spectre-meltdown-checker.sh "
Password:
Spectre and Meltdown mitigation detection tool v0.31

Checking for vulnerabilities against running kernel Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.51-3 (2017-12-13) x86_64
CPU is Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel:  NO
> STATUS:  VULNERABLE  (only 23 opcodes found, should be >= 70, heuristic to be improved when official patches become available)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
*   Hardware (CPU microcode) support for mitigation
*     The SPEC_CTRL MSR is available:  NO
*     The SPEC_CTRL CPUID feature bit is set:  NO
*   Kernel support for IBRS:  NO
*   IBRS enabled for Kernel space:  NO
*   IBRS enabled for User space:  NO
* Mitigation 2
*   Kernel compiled with retpoline option:  NO
*   Kernel compiled with a retpoline-aware compiler:  NO
> STATUS:  VULNERABLE  (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI):  NO
* PTI enabled and active:  NO
* Checking if we're running under Xen PV (64 bits):  NO
> STATUS:  VULNERABLE  (PTI is needed to mitigate the vulnerability)


... continua nel messaggio successivo...
Aki
Global Moderator
Global Moderator
 
Messaggi: 7728
Iscritto il: 27/12/2007, 16:59

Re: Vulnerabilità “meltdown”: Linux kernel patch

Messaggioda Aki » 20/01/2018, 17:57

... continua dal messaggio precedente...

Dopo l'installazione dei pacchetti con il kernel recante le patch, in Debian Jessie risulta che il sistema è potenzialmente protetto per una delle tre vulnerabilità, precisamente per la "CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'":
Codice: Seleziona tutto
$ su -c ./spectre-meltdown-checker.sh
Password:
Spectre and Meltdown mitigation detection tool v0.31

Checking for vulnerabilities against running kernel Linux 3.16.0-5-amd64 #1 SMP Debian 3.16.51-3+deb8u1 (2018-01-08) x86_64
CPU is Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel:  NO
> STATUS:  VULNERABLE  (only 23 opcodes found, should be >= 70, heuristic to be improved when official patches become available)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
*   Hardware (CPU microcode) support for mitigation
*     The SPEC_CTRL MSR is available:  NO
*     The SPEC_CTRL CPUID feature bit is set:  NO
*   Kernel support for IBRS:  NO
*   IBRS enabled for Kernel space:  NO
*   IBRS enabled for User space:  NO
* Mitigation 2
*   Kernel compiled with retpoline option:  NO
*   Kernel compiled with a retpoline-aware compiler:  NO
> STATUS:  VULNERABLE  (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI):  YES
* PTI enabled and active:  YES
* Checking if we're running under Xen PV (64 bits):  NO
> STATUS:  NOT VULNERABLE  (PTI mitigates the vulnerability)

Nel caso di Debian Jessie, per aggiornare il microcodice della CPU con gli ultimi firmware forniti da Intel che dovrebbero mitigare la vulnerabilità, è possibile impartire i seguenti comandi come utente root:
Codice: Seleziona tutto
apt-get install iucode-tool
wget http://ftp.us.debian.org/debian/pool/non-free/i/intel-microcode/intel-microcode_3.20180108.1_amd64.deb
dpkg -i intel-microcode_3.20180108.1_amd64.deb
echo 1 > /sys/devices/system/cpu/microcode/reload
# per verificare:
dmesg | grep -i micro

Anche dopo l'aggiornamento del microcodice della CPU Intel il sistema risulterebbe esposto agli attacchi di tipo "spectre1" e "spectre2":
Codice: Seleziona tutto
su -c ./spectre-meltdown-checker.sh
Spectre and Meltdown mitigation detection tool v0.31

Checking for vulnerabilities against running kernel Linux 3.16.0-5-amd64 #1 SMP Debian 3.16.51-3+deb8u1 (2018-01-08) x86_64
CPU is Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel:  NO
> STATUS:  VULNERABLE  (only 23 opcodes found, should be >= 70, heuristic to be improved when official patches become available)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
*   Hardware (CPU microcode) support for mitigation
*     The SPEC_CTRL MSR is available:  NO
*     The SPEC_CTRL CPUID feature bit is set:  NO
*   Kernel support for IBRS:  NO
*   IBRS enabled for Kernel space:  NO
*   IBRS enabled for User space:  NO
* Mitigation 2
*   Kernel compiled with retpoline option:  NO
*   Kernel compiled with a retpoline-aware compiler:  NO
> STATUS:  VULNERABLE  (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI):  YES
* PTI enabled and active:  YES
* Checking if we're running under Xen PV (64 bits):  NO
> STATUS:  NOT VULNERABLE  (PTI mitigates the vulnerability)
Aki
Global Moderator
Global Moderator
 
Messaggi: 7728
Iscritto il: 27/12/2007, 16:59


Torna a Sicurezza

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti