Che cos'è il bug "Dirty COW" e come posso proteggere il mio sistema da esso?


22

Ho appena sentito parlare di questo bug "Dirty COW" che consente a qualsiasi utente con accesso in lettura ai file di scrivere anche su di loro e ottenere accesso amministrativo. Come proteggo da questo errore?

Risposte:


20

The Ancient Dirty COW Bug

Questo bug esiste dalla versione 2.6.22 del kernel. Consente a un utente locale con accesso in lettura di ottenere i privilegi di amministratore. È stato emesso un avviso ( Softpedia: Linux Kernels 4.8.3, 4.7.9 e 4.4.26 LTS Out to Patch "Security Dirty COW" ) e gli utenti sono invitati ad aggiornare a Kernel Linux kernel 4.8.3, Linux kernel 4.7. 9 e kernel Linux 4.4.26 LTS. QUESTO LINK È IN CORSO perché queste versioni del kernel non sono supportate da Ubuntu.

Questa risposta è su misura per gli utenti Ubuntu e ti dice:

  • Versioni del kernel consigliate per gli utenti Ubuntu
  • Come visualizzare la versione del kernel corrente
  • Come applicare la correzione per i kernel supportati di Ubuntu
  • Come applicare la correzione per i kernel Ubuntu non supportati

Gli utenti di Ubuntu "Dirty COW" raccomandavano i kernel

Ubuntu ha rilasciato aggiornamenti di sicurezza il 20 ottobre 2016 per correggere il kernel utilizzato da tutte le versioni di Ubuntu supportate: Softpedia: Canonical Patches Antico bug del kernel "Dirty COW" in tutti i sistemi operativi Ubuntu supportati

Canonical sollecita tutti gli utenti a correggere immediatamente i propri sistemi installando:

  • linux-image-4.8.0-26 (4.8.0-26.28) per Ubuntu 16.10
  • linux-image-4.4.0-45 (4.4.0-45.66) per Ubuntu 16.04 LTS
  • linux-image-3.13.0-100 (3.13.0-100.147) per Ubuntu 14.04 LTS
  • linux-image-3.2.0-113 (3.2.0-113.155) per Ubuntu 12.04 LTS
  • linux-image-4.4.0-1029-raspi2 (4.4.0-1029.36)

Anche il kernel HWE Xenial per Ubuntu 14.04 LTS è stato aggiornato alla versione linux-image-4.4.0-45 (4.4.0-45.66 ~ 14.04.1) e il kernel Trusty HWE per Ubuntu 12.04 LTS alla versione linux-image -3.13.0-100 (3.13.0-100.147 ~ preciso1).

Aggiornare immediatamente le installazioni di Ubuntu seguendo le istruzioni fornite da Canonical all'indirizzo: https://wiki.ubuntu.com/Security/Upgrades .

Mostra la tua versione attuale del kernel

Per visualizzare la versione corrente del kernel in esecuzione, apri il terminale con Ctrl+ Alt+ Te quindi digita:

uname -a

La versione del kernel avviata viene quindi visualizzata in questo modo:

Linux dell 4.8.1-040801-generic #201610071031 SMP Fri Oct 7 14:34:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Ricorda che dopo aver installato il nuovo kernel con le patch, puoi comunque avviare le versioni del kernel precedenti da Grub. Alle versioni precedenti non verrà applicata la patch, come nel caso di questa versione del kernel 4.8.1.

Ancora una volta ricordare che la versione 4.8.1 del kernel non è supportata da Ubuntu.

Come risolvere i kernel supportati da Ubuntu

Poiché Ubuntu ha rilasciato la correzione del bug, tutto ciò che gli utenti devono fare è aggiornare il proprio sistema. Se gli aggiornamenti di sicurezza giornalieri sono abilitati, l'aggiornamento del kernel è già stato eseguito. Controlla la versione del tuo kernel nell'elenco dei kernel sopra.

Se Ubuntu non ha aggiornato automaticamente la versione del tuo kernel, esegui:

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot

Dopo il riavvio, controllare la versione corrente del kernel ripetendo le istruzioni della sezione precedente.

Come risolvere i kernel Ubuntu non supportati

Alcune installazioni con hardware più recente potrebbero utilizzare un kernel non supportato come 4.8.1o superiore. In tal caso, dovrai aggiornare manualmente il kernel. Anche se il link di segnalazione bug sopra riportato dice di utilizzare Kernel 4.8.3, al 30 ottobre 2016 4.8.5è il più recente e questo è come installarlo:

cd /tmp
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-headers-4.8.5-040805_4.8.5-040805.201610280434_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-headers-4.8.5-040805-generic_4.8.5-040805.201610280434_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-image-4.8.5-040805-generic_4.8.5-040805.201610280434_amd64.deb
sudo dpkg -i *.deb
sudo reboot

Dopo il riavvio, controllare la versione corrente del kernel ripetendo le istruzioni due sezioni indietro.


Invece di "questo link è fuorviante", che mi sembra una parola troppo forte, direi qualcosa del tipo "quelle istruzioni non si applicano agli utenti di Ubuntu".
fkraiem,

@ WinEunuuchs2Unix stavo per suggerire "Questo link, così com'è, è fuorviante, perché le versioni del kernel menzionate non sono supportate da Ubuntu." Inoltre, non sei sicuro del motivo per cui hai appuntamenti audaci ovunque?
Thomas Ward

Avendo Ubuntu 16.04 LTS, ho trovato questo comando che mi ha mostrato che tutto andava bene: apt list --installed | grep linux-image-4.4.0-45- è tornato linux-image-4.4.0-45-generic/xenial-updates,xenial-security,now 4.4.0-45.66 amd64 [installed,automatic].
user643722

1

Non sono affatto un esperto, ma avendo letto un po 'di "Dirty COW", ho sentito di voler davvero verificare se sto bene dopo aver completato il mio aggiornamento più recente solo un paio d'ore fa.

Dai risultati della mia ricerca per parole chiave ho scelto questo articolo e la discussione come promettenti. Ora, sono riuscito facilmente a verificare lo stato "Patch COW" del mio sistema Xenial Xerox seguendo prima le istruzioni dell'articolo precedente per visualizzare la versione del kernel corrente (risulta, è :) linux-image-4.4.0.-45. Sebbene uname -anon descriva in dettaglio le patch, ha visualizzato la versione del kernel attualmente installata, che mi ha permesso di seguire il suggerimento dell'utente 643722 - e con successo:

apt list --installed | grep linux-image-4.4.0-45

Anche se è stata visualizzata una linea extra inaspettata ...

WARNING: apt does not have a stable CLI interface. 
Use with caution in scripts.

... le informazioni sperate seguite nella riga successiva:

linux-image-4.4.0-45-generic/xenial-updates,xenial-security,now 4.4.0-45.66 amd64  [Installiert,automatisch]

Grazie a tutti - per l'implementazione rapida di soluzioni negli aggiornamenti da parte dei collaboratori di Linux / Ubuntu e la rapida diffusione della conoscenza tra gli utenti.


1
L'avvertimento scompare se si utilizza apt-getinvece aptda solo.
WinEunuuchs2Unix il

Grazie, @ WinEunuuchs2Unix. Sto imparando ogni giorno, sempre ...
Ano Nyma,

1

Devi aggiornare i tuoi pacchetti usando apt-get:

sudo apt-get update && sudo apt-get dist-upgrade

Inoltre puoi abilitare il servizio livepach :

Per coincidenza, poco prima che la vulnerabilità fosse pubblicata, abbiamo rilasciato il servizio Canonical Livepatch per Ubuntu 16.04 LTS. Le migliaia di utenti che hanno abilitato canonical-livepatch sui loro sistemi Ubuntu 16.04 LTS con quelle prime ore ricevute e hanno applicato la correzione a Dirty COW, automaticamente, in background e senza riavviare!

  1. Vai su https://ubuntu.com/livepatch e recupera il token livepatch Installa lo snap canonical-livepatch

    $ sudo snap install canonical-livepatch

  2. Abilita il servizio con il tuo token

    $ sudo canonical-livepatch enable [TOKEN]

  3. controlla lo stato in qualsiasi momento utilizzando:

    $ canonical-livepatch status --verbose

  4. Aggiornamento

    `$ sudo apt installa aggiornamenti automatici

  5. Le versioni precedenti di Ubuntu (o sistemi Ubuntu aggiornati a 16.04) potrebbero aver bisogno di abilitare questo comportamento usando:

    $ sudo dpkg-riconfigurare gli aggiornamenti automatici

`


Le tue parole fanno sembrare che lavori per Canonical, se è così grazie per le informazioni privilegiate :)
WinEunuuchs2Unix

@ WinEunuuchs2Unix solo un utente Newbie Linux :)
GAD3R

Vabbè grazie comunque per la tua risposta. Temo che dovrai convivere con il falso commento sull'essere un dipendente canonico per 11 ore fino a quando non torno a casa e posso cancellarlo dal mio computer.
WinEunuuchs2Unix

$ sudo snap install canonical-livepatch error: cannot install "canonical-livepatch": snap not foundAiuto?
Hershey Gamer,
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.