FreeBSD セキュリティ勧告 日本語版 ============================================================================= FreeBSD-SA-03:03.syncookies (2003-02-24) * Brute force attack on SYN cookies ============================================================================= このメールは, announce-jp に流れた Subject: ANNOUNCE: FreeBSD Security Advisory FreeBSD-SA-03:03.syncookies From: FreeBSD Security Advisories Date: Mon, 24 Feb 2003 05:05:37 -0800 Message-Id: <200302241305.h1OD5b1v099752@freefall.freebsd.org> X-Sequence: announce-jp 1102 を日本語訳したものです。 原文は PGP 署名されていますが、この日本語訳は PGP 署名されていません。 修正パッチ等の内容が改ざんされていないことを確認するために PGP 署名の チェックを行なうには、原文を参照してください。 日本語訳およびミラーサイト利用の詳細については、文末の「A. FreeBSD セキュリティ勧告 日本語版について」をご覧ください。 [翻訳者: 佐藤 広生 ] --(ここから) ============================================================================= FreeBSD-SA-03:03.syncookies Security Advisory The FreeBSD Project トピック: SYN cookies に対するブルートフォース攻撃 (Brute force attack on SYN cookies) 分類: core モジュール: sys_netinet 告知日: 2003-02-24 クレジット: Mike Silbersack 影響範囲: FreeBSD 4.5-RELEASE 4.6.2-RELEASE-p9 より前の FreeBSD 4.6-RELEASE 4.7-RELEASE-p6 より前の FreeBSD 4.7-RELEASE 修正日より前の FreeBSD 4.7-STABLE 5.0-RELEASE-p3 より前の FreeBSD 5.0-RELEASE 修正日: 2003-02-23 19:04:58 UTC (RELENG_4) 2003-02-23 20:18:48 UTC (RELENG_5_0) 2003-02-23 20:19:29 UTC (RELENG_4_7) 2003-02-24 02:42:06 UTC (RELENG_4_6) FreeBSD に固有か: YES I. 背景 - Background SYN cookies は、SYN flood 攻撃への耐性を向上させるために使われる技術の ひとつです。これは、暗号に使われる手法を使って検査可能な 初期 TCP シーケンス番号 (ISN) を選択することで、SYN flood 攻撃の影響を 低減します。FreeBSD では、この技術がデフォルトで TCP スタックに 実装されています (この実装は `syncookies' と呼ばれています)。 II. 問題の詳細 - Problem Description FreeBSD の syncookie 実装は生成した ISN を、いくつかの定期的に ローテートされる内部秘密鍵のひとつから生成した MAC (訳注: Message Authentication Code。データの改変を検出するための方法のひとつ) を 使って保護します。しかし、この内部秘密鍵は 32 ビットの長さしかなく、 ブルートフォース攻撃が可能です。 III. 影響範囲 - Impact ひとつの syncookie 秘密鍵の復元に成功すると、攻撃者はその秘密鍵が ローテートされるまで (通常は最長でも 4 秒)、有効な ISN を 生成できるようになります。こうして生成した有効な ISN を使うと、 よく知られている ISN 予測攻撃 (参考文献を参照) とまったく同様の 方法で TCP 接続を詐称 (spoof) することができる可能性があります。 TCP 接続を詐称することで、攻撃者は tcp_wrappers や多くの ファイアウォールに実装されている IP ベースのアクセス制御リストを バイパスすることや、SMTP などの接続を偽造して、悪用している ユーザの追跡を困難にすることが可能になるでしょう。また、 syncookie 秘密鍵がひとつ復元できると、同じ 31.25ms 以内に 開始した TCP 接続を攻撃者が reset することも可能になります。 IV. 回避方法 - Workaround syncookies は `net.inet.tcp.syncookies' sysctl(8) 変数を使って 無効にすることが可能です。それには root 権限で次のコマンドを実行します。 # sysctl net.inet.tcp.syncookies=0 システムの起動時に syncookies を無効にするには、sysctl.conf(5) ファイルに 次の行を追加します。 net.inet.tcp.syncookies=0 V. 解決策 - Solution (訳注: 次のいずれか一つに従ってください。) 1) 弱点を持った FreeBSD システムを最新の 4.7-STABLE、もしくは修正日以降の RELENG_4_7 (4.7-RELEASE-p6)、RELENG_4_6 (4.6.2-RELEASE-p9)、 RELENG_5_0 (5.0-RELEASE-p3) セキュリティブランチのいずれかに アップグレードする。 2) 現在のシステムに修正パッチを適用する。 以下の修正パッチは、FreeBSD 4.6、FreeBSD 4.7、FreeBSD 5.0 の各システムに 適用可能なことが確認されています。 a) 以下の場所から修正パッチをダウンロードし、PGP ユーティリティを使って PGP 署名を確認します。 # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:03/syncookie.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:03/syncookie.patch.asc b) 修正パッチを適用します。 # cd /usr/src # patch < /path/to/patch (訳注: /path/to/patch の部分は修正パッチのパス名に置き換えてください) c) に書かれている手順にしたがってカーネルを再構築し、システムを再起動します。 VI. 修正の詳細 - Correction details FreeBSD において今回修正された各ファイルのリビジョン番号は、以下のとおりです。 パス名 リビジョン ブランチ - ------------------------------------------------------------------------- src/sys/conf/newvers.sh RELENG_5_0 1.48.2.4 RELENG_4_7 1.44.2.26.2.8 RELENG_4_6 1.44.2.23.2.26 src/sys/netinet/tcp_syncache.c RELENG_4 1.5.2.13 RELENG_5_0 1.28.2.3 RELENG_4_7 1.5.2.8.2.1 RELENG_4_6 1.5.2.6.2.2 - ------------------------------------------------------------------------- VII. 参考資料 - References A. FreeBSD セキュリティ勧告 日本語版について 日本語訳は FreeBSD 日本語ドキュメンテーションプロジェクト (doc-jp) が 参考のために提供するものです。過去の日本語版セキュリティ勧告は http://www.FreeBSD.org/ja/security/ にまとめられています。 ただし翻訳者および doc-jp は、その内容についていかなる保証も いたしませんのでご注意ください。日本語訳についてのご意見、ご要望、 お問い合わせ等は doc-jp@jp.FreeBSD.org までお願いします。 この勧告の中で紹介されている WWW サイト http://www.FreeBSD.org/ および FTP サイト ftp://ftp.FreeBSD.org/ には, 日本のミラーサイトが存在します。 ネットワークの混雑を緩和するため、まずはミラーサイトの利用を 考慮するようお願いします。 日本のミラーサイトを利用するには、 http://www.FreeBSD.org/ を http://www.jp.FreeBSD.org/www.freebsd.org/ に、 ftp://ftp.FreeBSD.org/ を ftp://ftp.jp.FreeBSD.org/ に、 それぞれ置き換えてください。 他の地域を含むミラーサイトに関する詳細は http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors.html (英文) http://www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/mirrors.html (日本語訳) にまとめられています。 $hrs: announce-jp/FreeBSD-SA/03:03,v 1.4 2003/03/21 22:55:17 hrs Exp $