Esiste una soluzione alternativa per il difetto TCP TCP RFC 5961?


28

Di recente ho letto di questo difetto di Linux TCP ( CVE-2016-5696 ) che consente a un utente malintenzionato di interrompere o dirottare una connessione tra due macchine che eseguono Linux (ad esempio un server web e un client). Comprendo che il problema è stato introdotto nel 2012 nella versione 3.6 del kernel Linux e riguarda anche tutte le versioni più recenti.

Attualmente non è stata rilasciata una correzione per questo (come al momento della stesura di questo documento), ma esistono soluzioni alternative in quanto si tratta di un bug piuttosto grave?


Ubuntu non ha rilasciato una correzione? Alcune altre distribuzioni avevano pubblicato una correzione prima che il difetto fosse reso pubblico.
Michael Hampton,

@MichaelHampton: Per quanto ho capito, è stata resa disponibile una correzione nel canale proposto, tuttavia non è stata ancora rilasciata una versione stabile.

Penso che stiano pianificando di rilasciare la correzione il 27.

@MichaelHampton: ho aggiornato la mia risposta con le informazioni pertinenti.

Risposte:


29

Nota: la sezione Soluzione alternativa è stata mantenuta per motivi storici, tuttavia passare alla sezione Correggi di seguito.

Soluzione:

Come indicato qui :

La buona notizia - e sì, ci sono buone notizie - è facile da risolvere. Innanzitutto, Linux stesso è stato patchato per fermare il vettore di attacco nella sua traccia. Successivamente, si aumenta semplicemente il "limite ACK di sfida" a un valore estremamente elevato per rendere praticamente impossibile sfruttare il problema del canale laterale che ha permesso all'attacco di funzionare.

Poiché questo problema riguarda sia il client che il server, o in realtà due macchine Linux che parlano in rete, è importante implementare la soluzione alternativa in entrambi e la correzione non appena viene rilasciata.

Per implementare la soluzione alternativa, procedi come segue:

  1. Apri il file di configurazione con: sudoedit /etc/sysctl.conf
  2. Inserisci la linea net.ipv4.tcp_challenge_ack_limit = 999999999nel file e salvala
  3. Esegui sudo sysctl -pper aggiornare la configurazione

Puoi anche eseguire l'operazione direttamente dal Terminale:

sudo bash -c 'echo "net.ipv4.tcp_challenge_ack_limit = 999999999" >>/etc/sysctl.conf'

O:

echo 'net.ipv4.tcp_challenge_ack_limit = 999999999' | sudo tee -a /etc/sysctl.conf

Quindi eseguire:

sudo sysctl -p

fix:

Come indicato qui :

net/ipv4/tcp_input.c in the Linux kernel before 4.7 does not properly
determine the rate of challenge ACK segments, which makes it easier for
man-in-the-middle attackers to hijack TCP sessions via a blind in-window
attack.
...
sbeattie> fix is going to land in Ubuntu kernels in this SRU cycle,  
with a likely release date of Aug 27. Earlier access to the kernels  
with the fix will be available from the -proposed pocket, though they 
come with the risk of being less tested.

E ora è stata rilasciata una correzione:

linux (4.4.0-36.55) xenial; urgency=low

  [ Stefan Bader ]

  * Release Tracking Bug
    - LP: #1612305

  * I2C touchpad does not work on AMD platform (LP: #1612006)
    - SAUCE: pinctrl/amd: Remove the default de-bounce time

  * CVE-2016-5696
    - tcp: make challenge acks less predictable

 -- Stefan Bader <stefan.bader@canonical.com>  Thu, 11 Aug 2016 17:34:14 +0200

Correre:

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

Per assicurarti di avere l'ultima versione. O utilizzare l'Update Software se si preferisce aggiornare tramite la GUI.

Puoi verificare quale versione stai utilizzando e quale è disponibile con:

apt-cache policy linux-image-generic

La correzione rapida (ma non persistente):echo 999999999 > /proc/sys/net/ipv4/tcp_challenge_ack_limit
Ben Voigt
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.