[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[stalk:00558] Re: [FYI] RFC 3128 on Protection Against a TinyFragment Attack




みやかわです。 とりあえず。 # フラグメントA、B のくだりは原文がバグってるような・・・。 At 午後 12:59 01/06/29 +0900, Yasuo Miyakawa wrote: >週末に訳そうかな・・・。 -- Network Working Group I. Miller Request for Comments: 3128 Singularis Ltd Updates: 1858 2001年 6月 Category: Informational タイニーフラグメント攻撃の変形に対する防御 (Protection Against a Variant of the Tiny Fragment Attack) このメモの位置づけ このメモは、インターネット コミュニティに情報を提供するものです。これは、 いかなるインターネット スタンダードをも定めるものではありません。このメ モの配布には制限はありません。 著作権表記 Copyright (C) The Internet Society (2001). All Rights Reserved. 概要 この文書は、どのように RFC 1858 準拠フィルタがこの RFC の 3.1 節に記述さ れている「タイニーフラグメント攻撃」の変形に対して脆弱性を持つ可能性があ るかを検討しています。 この文書は、この攻撃を記述し、矯正手段をとること を推奨しています。 1. はじめに RFC 1858 は、インターネットファイアウォール上の一連の攻撃についての優れ た記述を提供し、対策を提案しています。 しかしながら、これらの対策のひと つである、「間接的手法」(3.2.2 節)は、記述されている 2つの攻撃の組み合 わせに対して脆弱性をもちます。 この攻撃は、「タイニーフラグメント攻撃」(3節)と「オーバーラッピング フ ラグメント攻撃」(4節)の特徴を組み合わせます。 1.1 この攻撃の余地 フィルタリングルールが、マシンに対して入り方向のコネクションを許可してお り、かつ、同一ホスト上に出方向コネクションのみを許可する他のポートがある 場合、この攻撃は、その出方向のみのポートに対して入り方向コネクションを許 してしまいます。 最初のコネクションメッセージだけがフラグメントされる必要があることを銘記 してください。ひとたびコネクションが確立されると、その上の以降のトラフィ ックは正規のものとされます。この弱点の重大さは、適用されているセキュリテ ィポリシーに依存します。 2. タイニーオーバーラッピングフラグメント攻撃 この攻撃は典型的には 3つのフラグメントから成ります。 フラグメント 1: (フラグメント オフセット = 0; 長さ >= 16) ヘッダー全体を含み、完全に正規なものです。典型的には、標的ホスト上の入り 方向のコネクションを受け取ることが許されているポートに対して新しい TCP コネクションを開始する SYN パケットを表現します。例、ポート 25 SMTP に対 する入り方向コネクション。 フラグメント 2: (フラグメント オフセット = 0; 長さ = 8) 最初の 8バイトだけであり、ヘッダーの他の 8バイトによっては正規のものたり えますが、フラグメント 1 からの対応するバイトと組み合わせると正規なもの ではありません。このようなフラグメントは、TCP ヘッダーからのポート番号と シーケンス番号だけを含んでいます。典型的には、このパケットは、到達先ポー ト番号を入り方向コネクションを受け取ることが許可されていないはずの到達先 ホストのポート番号に置き換えます。 フラグメント 3: (フラグメント オフセット >= 2; 長さ = メッセージの残り) ヘッダーを含まず、メッセージを完結させます。(この 3番目のフラグメントは、 この攻撃の部分ではありません。しかし、フラグメント 1 は、完全なメッセー ジたりえず、もしくは、フラグメント 2 が到達する前にアプリケーションまで 転送される可能性があるので、それゆえ 3番目のフラグメントは必要不可欠です。 ) 2.1 攻撃の例 入り方向パケットについて下記のような平凡な一式のルールを考えます。: +---+-------+-------+-------+-------+-----------------------+ | No|Action | Source| Dest. | Flags | Purpose | | | | Port | Port | | | +===+=======+=======+=======+=======+=======================+ | 1 |Permit | >1023 | SMTP | ANY | Incoming E-mail | +---+-------+-------+-------+-------+-----------------------+ | 2 |Permit | >1023 | ANY | Ack=1| Existing FTP data | | | | | | channel connections. | +---+-------+-------+-------+-------+-----------------------+ | 3 |Deny | ANY | ANY | ANY | Default deny | +---+-------+-------+-------+-------+-----------------------+ フラグメント 1: 攻撃者(1234) -> 標的(SMTP) Ack=0 これは新しい SMTP コネクションであり、ルール 1 によって許可されます。 フラグメント 2: 攻撃者(1234) -> 標的(Telnet=23) Ack=absent すべてのフィールドは、 FTP パケットの開始である可能性があるので、ルール 2 への準拠を表現しています。 標的マシンの IP スタック中の精密なフラグメント再構築の実装によっては、フ ラグメント B は、下記のことを行うためにフラグメント A を上書きすることが できます。: 攻撃者(1234) -> 標的(Telnet) Ack=0 (新しい telnet コネクション) 2.2 「間接的手法」の失敗 間接的手法は、FO=1 でパケットを拒否することだけによって、タイニーフラグ メント攻撃とオーバーラッピングフラグメント攻撃の両方を解決しようとしてい ます。しかし、上記のフラグメントには have FO=1 を持ったものはなく、それ ゆえ拒否されるものはありません。 注意深く読めば失敗は明らかです。 3.2.2 節「間接的手法」において、RFC 1858 は述べています。: 間接的手法は、0 オフセットのフラグメントの外に「興味ある」ヘッダーフィー ルドがあるようにするために TCP パケットがフラグメントされている場合、FO が 1 であるフラグメントが存在しなければならない、という経験則に依拠しま す。 これは通常、誠意あるソフトウェアによる本物のフラグメントである場合、正し いといえます。しかし、ハッカーが、8バイトの FO=0 フラグメントを作成して しまったので FO=1 フラグメントを作成することを強いられている、というのは 単純な誤りです。この脆弱性は、誤った前提から発生しています。 3. 対策 RFC 1858 の間接的手法は、一見とてもエレガントではありますが、頑健ではあ りません。FO=1 パケットをブロックすることに加えて、不完全なヘッダーを保 持する FO=0 をブロックすることが必要不可欠です。 if FO=0 and PROTOCOL=TCP and TRANSPORTLEN < tmin then DROP PACKET if FO=1 and PROTOCOL=TCP then DROP PACKET 4. セキュリティに関する考慮事項 このメモ全体が、フラグメントされた IP パケットをフィルタすることについて の、セキュリティの観点からの意味合いに関するものです。 5. 著者のアドレス Ian Miller Singularis Ltd 32 Stockwell Street Cambridge CB1 3ND UK Phone: +44 1223 511943 EMail: Ian_Miller@xxxxxxxxxxxxxxxxx 翻訳者 宮川寧夫 IPA セキュリティセンター EMail: miyakawa@xxxxxxxxx 6. Full Copyright Statement Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 謝辞 Funding for the RFC Editor function is currently provided by the Internet Society. -- - このメイリングリストに関する質問・問い合せ等は - <security-talk@xxxxxxxxxx>までお知らせください -- ------------------------------------------------------------------------             まだいる? 梅雨前線。                   http://tenki.infoseek.co.jp/gms_b.html?svx=971122