GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso verificare se KPTI è abilitato su Linux?

Il kernel Linux registra lo stato KPTI all'avvio, quindi l'esecuzione del seguente comando stamperebbe lo stato sui kernel con patch. Se non stampa nulla allora, KPTI è disabilitato.

dmesg -wH | grep 'Kernel/User page tables isolation'

Il kernel Linux 4.15rc6 ha abilitato KPTI (isolamento della tabella delle pagine del kernel) ed è stato riportato al kernel Linux 4.14.11, 4.9.74, 4.4.109, 3.16.52 e 3.2.97.

Quindi, se stai eseguendo una di queste versioni, KPTI è a posto. La maggior parte delle distribuzioni (che eseguono qualsiasi versione del kernel Linux) invierà un aggiornamento al kernel Linux entro un giorno o due per correggere Meltdown e Spectre.

Nota:aggiungi il parametro pti=off al GRUB per disabilitare il KPTI. Per informazioni:https://askubuntu.com/questions/19486/how-do-i-add-a-kernel-boot-parameter


Cose che indicano lo stato di KPTI:

  • Nei kernel standard, le stringhe Kernel/User page tables isolation: enabled o Kernel/User page tables isolation: force enabled on command line nel dmesg output significa che il kernel sta eseguendo l'isolamento della tabella delle pagine del kernel. Quest'ultimo messaggio indica inoltre che il kernel ritiene che l'isolamento della tabella delle pagine non sia necessario per questa CPU.

  • In alcuni kernel con patch del fornitore (principalmente RedHat e derivati):un valore diverso da zero in /sys/kernel/debug/x86/pti_enabled . L'assenza di questo file non significa nulla, però:il kernel standard non lo fornisce.

  • Nel kernel 4.14.18 o più recente e nelle versioni corrispondenti dei kernel LTS, il contenuto di /sys/devices/system/cpu/vulnerabilities/meltdown :una riga che inizia con Mitigation: indica che è in atto una mitigazione (KPTI, microcodice o qualcos'altro), una riga che inizia con Not affected indica che si ritiene che la CPU non sia interessata dal problema e una riga che inizia con Vulnerable indica che si ritiene che la CPU sia vulnerabile, ma la mitigazione è assente o insufficiente.

Cose che non indicano lo stato di KPTI:

  • Versione del kernel. Il kernel 4.14.11 e successivi e le versioni corrispondenti dei kernel 4.1, 4,4 e 4.9 LTS sono capaci di KPTI, ma possono essere compilati con esso disabilitato e può essere disabilitato all'avvio. Inoltre, le versioni precedenti a queste non sono automaticamente a rischio:alcune distribuzioni hanno eseguito il backport delle patch KPTI su kernel precedenti.

  • bugs : cpu_insecure in /proc/cpuinfo . La presenza di this indica che if il kernel è compilato per l'isolamento della tabella delle pagine e if l'isolamento della tabella delle pagine non è stato disabilitato all'avvio o in fase di esecuzione, verrà utilizzato l'isolamento della tabella delle pagine. Inoltre, non indicano che una CPU è vulnerabile all'attacco Meltdown:il kernel 4.14.11 lo imposta per tutte le CPU x86, mentre il kernel 4.14.12 lo imposta per tutte le CPU non AMD, anche quelle come il Pentium MMX o il "Bonnell" Atom CPU non vulnerabili.

  • CONFIG_PAGE_TABLE_ISOLATION=y nella configurazione del kernel. Questo indica solo che il kernel è in grado di isolare la tabella delle pagine del kernel. KPTI può essere disabilitato al momento dell'avvio dalla riga di comando del kernel tramite nopti o pti=off opzioni. Su alcuni sistemi, può essere disabilitato in fase di esecuzione scrivendo 0 a /sys/kernel/debug/x86/pti_enabled .


Su un kernel supportato:

dmesg | grep 'Isolamento tabelle pagine kernel/utente'

risulterà abilitato o disabilitato.

Se non ci sono risultati, allora il kernel non supporta KPTI.


Linux
  1. Come controllare la versione di Redhat

  2. Come controllare il fuso orario in Linux

  3. Come controllare la cronologia di accesso di Linux

  4. Come controllare HZ nel terminale?

  5. Come controllare la password con Linux?

Come controllare la versione di Kali Linux

Come controllare la versione del kernel Linux su Ubuntu e Linux Mint

Come controllare la versione di Linux

Come controllare la versione del kernel in Linux

Come verificare quale versione del kernel Linux sto utilizzando

Come controllare lo spazio di scambio in Linux