web-dev-qa-db-fra.com

Existe-t-il une solution de contournement pour la faille RFC 5961 Linux TCP?

J'ai récemment lu l'existence de this Linux TCP faille ( CVE-2016-5696 ) qui permet à un attaquant d'interrompre ou de détourner une connexion entre deux ordinateurs exécutant Linux. (par exemple un serveur web et un client). Je comprends que le problème a été introduit en 2012 dans la version 3.6 du noyau Linux et concerne également toutes les versions les plus récentes.

À l'heure actuelle, aucun correctif n'a été publié pour cette raison (au moment d'écrire ces lignes), mais existe-t-il des solutions de contournement car il s'agit d'un bogue majeur?

28
user364819

Remarque: La section Contournement a été conservée pour des raisons historiques. Toutefois, passez à l'étape Correction de la section ci-dessous.

Solution de contournement:

Comme indiqué ici :

La bonne nouvelle - et oui, il y en a une bonne - est qu'il est facile de remédier à la situation. Premièrement, Linux lui-même est corrigé pour arrêter le vecteur d'attaque dans sa trajectoire. Ensuite, vous augmentez simplement la limite de challenge ACK à une valeur extrêmement grande pour rendre pratiquement impossible l'exploitation du problème canal latéral qui a permis à l'attaque de fonctionner.

Comme ce problème concerne à la fois le client et le serveur, ou en fait deux machines Linux parlant sur le réseau, il est important d'implémenter la solution de contournement dans les deux solutions, ainsi que le correctif dès sa publication.

Pour implémenter la solution de contournement, procédez comme suit:

  1. Ouvrez le fichier de configuration avec: sudoedit /etc/sysctl.conf
  2. Insérez la ligne net.ipv4.tcp_challenge_ack_limit = 999999999 dans le fichier et enregistrez-la
  3. Exécutez Sudo sysctl -p pour mettre à jour la configuration.

Vous pouvez également effectuer l'opération directement depuis le terminal:

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

Ou:

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

Puis lancez:

Sudo sysctl -p

Réparer:

Comme indiqué ici :

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.

Et un correctif a été publié:

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 <[email protected]>  Thu, 11 Aug 2016 17:34:14 +0200

Courir:

Sudo apt-get update
Sudo apt-get dist-upgrade

Pour vous assurer que vous avez la dernière version. Ou utilisez Software Updater si vous préférez effectuer la mise à jour à l'aide de l'interface graphique.

Vous pouvez vérifier quelle version vous utilisez et laquelle est disponible avec:

apt-cache policy linux-image-generic
29
user364819