ネットワークワーキンググループ
Request for Comments: 3128
更新: 1858
分類: 情報提供

I. Miller
Singularis Ltd
2001年 6月

English

タイニーフラグメント攻撃の変形に対する防護
(Protection Against a Variant of the Tiny Fragment Attack)

このメモの位置づけ

このメモは、インターネットコミュニティに情報を提供するものです。これは、いかなるインターネット標準をも定めるものではありません。このメモの配布には制限はありません。

著作権表記

Copyright (C) The Internet Society (2001). All Rights Reserved.

要旨

本書は、どのように RFC 1858 準拠フィルタが、この RFC の 3.1 節に記述されている「タイニーフラグメント攻撃」の変形に対して脆弱性を持つ可能性があるかを検討しています。本書は、この攻撃を記述し、矯正手段をとることを推奨しています。

 

1. はじめに English

RFC 1858 は、インターネットファイアウォール上の一連の攻撃についての優れた記述を提供し、対策を提案しています。しかし、これらの対策のひとつである「間接的手法」(3.2.2 節)は、記述されている 2つの攻撃の組み合わせに対して脆弱性をもちます。

この攻撃は、「タイニーフラグメント攻撃」(3節)「オーバーラッピング フラグメント攻撃」(4節)の特徴を組み合わせます。

1.1 この攻撃の余地 English

フィルタリングルールが、マシンに対して入り方向のコネクションを許可しており、かつ、同一ホスト上に出方向コネクションのみを許可する他のポートがある場合、この攻撃は、その出方向のみのポートに対して入り方向コネクションを許してしまいます。

最初のコネクションメッセージだけがフラグメントされる必要があることを銘記してください。ひとたびコネクションが確立されると、その上の以降のトラフィックは正規のものとされます。この弱点の重大さは、適用されているセキュリティポリシーに依存します。

 

2. タイニーオーバーラッピングフラグメント攻撃 English

この攻撃は典型的には 3つのフラグメントから成ります。

フラグメント 1: (フラグメントオフセット = 0; 長さ >= 16)
ヘッダー全体を含み、完全に正規なものです。典型的には、標的ホスト上の入り方向のコネクションを受け取ることが許されているポートに対して新しい TCP コネクションを開始する SYN パケットを表現します。(例:ポート 25 SMTP に対する入り方向コネクション。)
 
フラグメント 2: (フラグメントオフセット = 0; 長さ = 8)
最初の 8バイトだけであり、ヘッダーの他の 8バイトによっては正規のものたりえますが、フラグメント 1 からの対応するバイトと組み合わせると正規なものではありません。このようなフラグメントは、TCP ヘッダーからのポート番号とシーケンス番号だけを含んでいます。典型的には、このパケットは、到達先ポート番号を入り方向コネクションを受け取ることが許可されていないはずの到達先ホストのポート番号に置き換えます。
 
フラグメント 3: (フラグメントオフセット >= 2; 長さ = メッセージの残り)
ヘッダーを含まず、メッセージを完結させます。(この 3番目のフラグメントは、この攻撃の部分ではありません。しかし、フラグメント 1 は、完全なメッセージたりえず、もしくは、フラグメント 2 が到達する前にアプリケーションまで転送される可能性があるので、それゆえ 3番目のフラグメントは必要不可欠です。)

2.1 攻撃の例 English

入り方向パケットについて、次のような平凡な一式のルールを考えます。:

 No   Action   Source
Port
 Dest.
Port
 Flags Purpose 
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 「間接的手法」の失敗 English

間接的手法は、FO=1 でパケットを拒否することのみによって、タイニーフラグメント攻撃とオーバーラッピングフラグメント攻撃の両方を解決しようとしています。しかし、上記のフラグメントには FO=1 を持ったものはなく、それゆえ拒否されるものはありません。

注意深く読めば失敗は明らかです。 3.2.2 節「間接的手法」において、RFC 1858 は述べています。:

間接的手法は、0 オフセットのフラグメントの外に「興味ある」ヘッダーフィールドがあるようにするために TCP パケットがフラグメントされている場合、FO が 1 であるフラグメントが存在しなければならない、という経験則に依拠します。

これは通常、誠意あるソフトウェアによる本物のフラグメントである場合、正しいといえます。しかし、ハッカーが、8バイトの FO=0 フラグメントを作成してしまったので FO=1 フラグメントを作成することを強いられている、というのは単純な誤りです。この脆弱性は、誤った前提から発生しています。

 

3. 対策 English

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. セキュリティについての考慮事項 English

このメモ全体が、フラグメントされた IP パケットをフィルタすることについての、セキュリティの観点からの意味合いに関するものです。

 

5. 著者のアドレス

Ian Miller
Singularis Ltd
32 Stockwell Street
Cambridge
CB1 3ND UK

電話: +44 1223 511943
EMail: Ian_Miller@singularis.ltd.uk

翻訳者のアドレス

宮川寧夫
情報処理振興事業協会
セキュリティセンター

EMail: miyakawa@ipa.go.jp

 

6. 著作権表記全文

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.

謝辞

RFC 編集者のための資金は現在、Internet Society によって提供されています。