RFC 5961 Linux TCPの欠陥の回避策はありますか?


28

最近 Linux TCPの欠陥(CVE-2016-5696)について読みました。この脆弱性により、攻撃者はLinuxを実行している2台のマシン(Webサーバーとクライアントなど)間の接続を切断またはハイジャックできます。この問題は2012年にLinuxカーネルバージョン3.6で発生し、すべての新しいバージョンにも影響することを理解しています。

現在、この修正は(この記事の執筆時点では)リリースされていませんが、これは非常に大きなバグであるため、回避策はありますか?


Ubuntuは修正プログラムをリリースしていませんか?他の特定のディストリビューションでは、欠陥が公開される前に修正が公開されていました。
マイケルハンプトン

@MichaelHampton:私が知る限り、修正案は-proposedチャンネルで利用可能になっていますが、安定したリリースはまだ行われていません。

彼らは27日に修正プログラムをリリースする予定だと思います。

@MichaelHampton:回答を関連情報で更新しました。

回答:


29

注:「回避策」セクションは歴史的な理由から保持されていますが、以下の「修正」セクションまでスキップしてください。

回避策:

ここで述べたように

良いニュース-そして、はい、良いニュースがあります-それは修正が簡単です。第一に、Linux自体にパッチが適用され、攻撃経路を阻止しています。次に、「チャレンジACK制限」を非常に大きな値に上げるだけで、攻撃を有効にしたサイドチャネルの問題を悪用することが事実上不可能に なります。

この問題はクライアントとサーバーの両方、または実際にはネットワークを介して通信する2台のLinuxマシンの両方に影響するため、両方に回避策を実装し、リリース後すぐに修正することが重要です。

回避策を実装するには、次を実行します。

  1. 構成ファイルを開きます: sudoedit /etc/sysctl.conf
  2. net.ipv4.tcp_challenge_ack_limit = 999999999ファイルに行を挿入して保存します
  3. 実行sudo sysctl -pして構成を更新します

ターミナルから直接操作を行うこともできます。

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

または:

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

次に実行します:

sudo sysctl -p

修正:

ここで述べたように

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.

そして、修正がリリースされました。

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

実行:

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

最新バージョンを使用していることを確認します。または、GUIを使用して更新する場合は、Software Updaterを使用します。

実行しているバージョンと使用可能なバージョンを確認するには、次のコマンドを使用します。

apt-cache policy linux-image-generic

速い(しかし、永続的ではない)修正:echo 999999999 > /proc/sys/net/ipv4/tcp_challenge_ack_limit
ベンフォークト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.