Come disabilitare l'isolamento della tabella delle pagine per recuperare le prestazioni perse a causa della patch di sicurezza della CPU Intel?


43

A causa dell'attuale problema della falla di sicurezza della CPU Intel, è prevista una patch che rallenta le prestazioni del sistema.

Come posso assicurarmi che questa patch non verrà installata sul mio sistema Ubuntu?


49
È possibile aumentare ulteriormente le prestazioni del sistema disabilitando vari altri meccanismi di sicurezza. No, questa non è una raccomandazione.
scai,

11
Se le prestazioni sono importanti per te, ti consiglio di creare tu stesso il candidato recente alla versione del kernel e testare la perdita di prestazioni sul tuo carico di lavoro. È possibile che l'overhead sia trascurabile o tollerabile.
Jeffrey Bosboom,

5
Non posso esagerare su quanto sia terribile un'idea.
Alexander

13
Ho intenzione di dissentire. Personalmente non consiglierei di disabilitare le funzionalità di sicurezza, ma, per gli utenti che notano un calo delle prestazioni, disabilitare il pti può essere un'opzione ragionevole considerando quanto sia difficile sfruttare un attacco contro questa particolare falla di sicurezza e il valore del computer / dati di destinazione. La domanda è come disabilitare questa opzione non dovrei disabilitare questa opzione.
Pantera

2
Sono d'accordo, PTI è una funzionalità di sicurezza che può avere un costo non trascurabile. Sta all'OP decidere se è giusto per loro e al di fuori dell'ambito di questa domanda.
Jake,

Risposte:


55

La patch (nota anche come "isolamento della tabella delle pagine") farà parte di un normale aggiornamento del kernel (che otterrai quando aggiorni il tuo sistema). Tuttavia, si consiglia di mantenere aggiornato il kernel, poiché ottiene anche molte altre correzioni di sicurezza. Quindi non consiglierei di usare un kernel obsoleto senza la correzione.

Tuttavia, è possibile disabilitare efficacemente la patch aggiungendo pti=off( patch del kernel aggiungendo questa opzione, con maggiori informazioni ) alla riga di comando del kernel ( howto ). Notare che ciò comporterà un sistema meno sicuro.

Ci sono più informazioni e test delle prestazioni con PTI abilitato e disabilitato nella mailing list PostgreSQL - TLDR è che ha un impatto sulle prestazioni compreso tra il 10 e il 30% (per ProstgreSQL, cioè - altre cose come i giochi probabilmente avranno un impatto minore) .

Si noti che ciò influirà solo sui processori Intel, poiché AMD è apparentemente inalterato ( reddit ), quindi prevedibilmente sarà disabilitato per impostazione predefinita su AMD.


2
"... questo sarà prevedibilmente disabilitato di default su AMD." Ciò significa che ci sarà una versione extra del kernel per i sistemi operativi Ubuntu in esecuzione su macchine con una CPU AMD fornita da Canonical? :)
cl-netbox

16
No, il kernel rileva (all'avvio) il tempo in cui è in esecuzione su una CPU AMD e disabilita la correzione se lo è. @ cl-netbox
JonasCz - Ripristina Monica

1
Secondo theregister.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerability I chip AMD sono influenzati da almeno una varietà di attacchi Spectre (iniezione target di ramo), quindi questa settimana riceveranno un aggiornamento del kernel che influirà probabilmente sulle prestazioni, anche, anche se non sono soggetti alla fusione vera e propria.
Dave Sherohman,

1
Apparentemente questa funzionalità è in architettura x64, ma non in i386 / IA-32. A causa di ciò, la patch non ha effetto nemmeno su Linux a 32 bit (sicurezza / Kconfig richiede X86_64 per abilitare PAGE_TABLE_ISOLATION). questo porta un'altra domanda però. che dire delle macchine x64 con un Linux a 32 bit installato, queste possono essere influenzate? In tal caso, che dire delle vecchie macchine x64 che sono limitate dal BIOS per eseguire solo istruzioni a 32 bit (come i vecchi netbook basati su atomi)? sono seduti anatre?
thePiGrepper

2
Fino a quando non ho saputo per certo che c'era un attacco basato su JavaScript che stavo pianificando di usare questo.
Joshua,

35

Aggiornamento: al problema è stato dato un paio di moniker: Meltdown e Spectre . Ho aggiornato la risposta con le nuove informazioni.

Inizialmente sarà una patch del kernel. Apparirà come una versione successiva. Verrà installato perché è stato linux-image-genericinstallato. Ecco a cosa serve quel pacchetto. Quindi potresti rimuoverlo linux-image-generic. E 'un orribile, disastrosa idea, che ti esporre a tutti i tipi di brutture , ma si potrebbe farlo. Ci possono essere anche microcodice CPU che segue in linux-firmwareper una correzione in-CPU. Questo è davvero su Intel.

Il metodo che segui per annullare la correzione è irrilevante. Stai chiedendo di bypassare qualcosa in cui non conosci né il vero impatto del bug, né il costo delle prestazioni per risolverlo.

  • Il bug è cattivo. I CVE segnalati sono la lettura della memoria tra processi. Qualsiasi processo è in grado di leggere la memoria di qualsiasi altro processo. Input, password, tutto il lotto. Questo probabilmente ha implicazioni anche sui sandbox. È molto presto e mi aspetto che le persone spingano oltre, sia in termini di impatto che di accesso.

  • Il successo delle prestazioni probabilmente non è così grande come quello di cui sei preoccupato. I numeri che le persone si stanno concentrando sulle prestazioni teoriche del sottosistema o nel caso peggiore. Un database con cache scadente è ciò che verrà colpito più duramente. Il gioco e le cose quotidiane probabilmente non cambieranno in modo misurabile.

Anche ora possiamo vedere qual è il vero bug, è troppo presto per dire quale sia l'impatto. Mentre l'accesso gratuito in lettura alla RAM è male, ci sono cose peggiori. Testerei anche per vedere quanto la correzione ti ha effettivamente influenzato (con le cose che fai).

Non iniziare il pre-caricamento della configurazione di GRUB con i flag o la rimozione dei meta-pacchetti del kernel ancora.


7
Tutto quello che devi fare è aggiungere pti=offalla riga di comando del kernel (in GRUB) per disabilitare la patch.
JonasCz - Ripristina Monica

3
@JonasCz quel commento - se vero, non lo so - sembra che varrebbe una risposta separata, specialmente se puoi eseguirne il backup con un riferimento.
Byte Commander

IMHO nopti è una scelta migliore
Pantera

3
@Oli sono d'accordo con quel consiglio e me lo sono dato altrove. Detto questo, la domanda è come disabilitare questa nuova funzionalità di sicurezza se lo si desidera e, IMO, nopti è l'opzione per farlo.
Pantera

1
Sì, alcune delle mie attività di sistema hanno rallentato del 99% quando utilizzo macchine virtuali. La copia dei file dall'host alla macchina virtuale impiegava 2-3 secondi, ora ci vuole più di un minuto.
Rboy,

14

Anche se non lo consiglio, è possibile disabilitare la PTI

con il parametro della riga di comando del kernel nopti

secondo Phoronix .

Per fare ciò, aggiungi noptialla stringa accanto alla riga che inizia con GRUB_CMDLINE_LINUX_DEFAULTin /etc/default/grube poi in esecuzione

sudo update-grub

seguito da un riavvio.

Maggiori informazioni sui parametri di avvio del kernel per disabilitare le funzionalità di sicurezza rilevanti per le prestazioni, vedi: Controlli di mitigazione di spettri e meltdown in Ubuntu Wiki


1
Qual è la differenza tra i parametri di avvio del kernel nopti e pti = off ?
Niutech,

@niutech non c'è differenza, per la prova puoi guardare qui
nixpower il



3

Il modo più semplice: deseleziona la configurazione del kernel

-> Opzioni di sicurezza

[] Rimuovi la mappatura del kernel in modalità utente

quindi compilare il nuovo kernel


1
Benvenuti in Ask Ubuntu! Nella sua forma attuale la tua risposta non è buona come potrebbe essere. Potresti rivedere come scrivere una buona risposta e una guida di stile per domande e risposte . - Dalla recensione
J. Starnes

2
Purtroppo J. Starnes ha ragione. Non compilare più il proprio kernel tranne che come estrema ultima risorsa.
Joshua,

Questa è una modifica piuttosto banale per le opzioni del kernel, ma IMO noptiè probabilmente una scelta migliore / più semplice per il momento.
Pantera
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.