サイト内の現在位置を表示しています。

TCP実装におけるICMPエラーメッセージ処理に関する脆弱性について

-技術情報

第4版: 2005/08/29
第3版: 2005/08/29
第2版: 2005/05/18
第1版: 2005/04/12

「確立済状態のTCPコネクションに対して、コネクション切断条件に合致したICMPエラーメッセージを送信することにより、TCPコネクションを強制的に終了させることができる。」という問題が報告されています。

1. 出典

NISCC Vulnerability Note VU#532967
Date:April 11, 2005
Topic:NISCC Vulnerability Advisory ICMP - 532967
http://www.cpni.gov.uk/Products/alerts/1053.aspx

US-CERT Vulnerability Note VU#222750
Date:April 11, 2005
Topic:Multiple TCP/IP implementations do not adequately validate ICMP error messages
http://www.kb.cert.org/vuls/id/222750

2. 概要

TCPプロトコル(Transmission Control Protocol,RFC793)は、高信頼なIP通信を行うための、トランスポート層のプロトコルです。TCPを使用したアプリケーションを実行中に、当該TCPセッション間で発生したように成りすましたICMPエラーメッセージにて攻撃をされると、コネクション切断やスループットが低下する場合があります。

3. IP8800における影響

装置がIPv4/IPv6TCPコネクションを利用している通信(telnetやBGPなど)に対して、遠隔の第三者からの攻撃が成功する可能性があります。特に、BGPのように比較的長い時間に渡って同一のTCPコネクションを維持するプロトコルの場合は、コネクションのDoS攻撃が成功する危険性が高まります。
報告されている各種ICMPメッセージについての本製品への影響を以下に示します。なお、本装置を経由するIPv4/IPv6パケットの中継処理については影響ありません。

1.スループット低下に関する脆弱性について

下記のエラーメッセージにて攻撃された場合、パスMTUが置き換えられるため、不要なフラグメントに よるスループット低下が発生する可能性があります。
ICMPエラーメッセージ タイプ3 コード4(ハードエラー)
- Destination Unreachable - Fragmentation Needed and Don't Fragment
ICMPv6エラーメッセージ タイプ2 コード0
- Packet Too Big
また、以下のエラーメッセージにて攻撃されてもスループットの低下は殆ど発生しません。
ICMPエラーメッセージ タイプ3 コード0,1,5(ソフトエラー)
- Destination Unreachable - Net Unreachable
- Destination Unreachable - Host Unreachable
- Destination Unreachable - Source Route Failed Unreachable
ICMPエラーメッセージ タイプ4 コード0
- Source Quench
ICMPエラーメッセージ タイプ11 コード0,1
- Time Exceeded - Time to Live exceeded in Transit
- Time Exceeded - Fragment Reassembly Time Exceeded
ICMPエラーメッセージ タイプ12
- Parameter Problem

2.TCPコネクションの切断に関する脆弱性について

下記のエラーメッセージにて攻撃されても、TCPコネクションが切断されることはありません。
ICMPエラーメッセージ タイプ3 コード2,3(ハードエラー)
- Destination Unreachable - Protocol Unreachable
- Destination Unreachable - Port Unreachable
ICMPエラーメッセージ タイプ3 コード4(ハードエラー)
- Destination Unreachable - Fragmentation Needed and Don't Fragment
ICMPv6エラーメッセージ タイプ1 コード1,4(ICMPのハードエラー相当)
- Destination Unreachable - communication with destination administratively prohibited
- Destination Unreachable - port unreachable
ICMPv6エラーメッセージ タイプ2 コード0
- Packet Too Big

4. 対策

1.設定による回避方法

BGPなど長時間コネクションを維持するものについては、本装置宛のICMPエラーメッセージを廃棄するようなフィルタ設定を行って下さい。

2.対策版ソフトウェアの適用

本脆弱性に対し耐性を高めたソフトウェアをリリース致しました。本対策版のソフトウェアは、従来のTCP実装と比較して、攻撃を成功させることが困難となり耐性が高まります。

装置シリーズ名 対象ソフトウェア
製品略称
対策バージョン
IP8800/R400 OS-R
OS-RE
09-03
IP8800/S400 OS-SW
OS-SWE
09-03
IP8800/S300 OS-SW
OS-SWE
09-03