TCP/IPを実装した製品の脆弱性を体系的に検証できるツール
「TCP/IP」は、情報通信の世界で広く使われているネットワーク通信の仕組みです。インターネットに接続するほとんどの電子機器には、TCP/IPを実装したソフトウェアが組込まれています。最近では、情報家電や携帯端末などの組込み機器にも採用され、その用途や利用範囲はますます広がっています。
TCP/IPを実装したソフトウェアには、従来も多くの脆弱性が発見、公表され、対策が施されてきました。しかし、こうした脆弱性を体系的に検証するツールがなかったため、新しいソフトウェアを開発する際に、すでに公表されている脆弱性への対策が行われず、脆弱性が「再発」するケースが見受けられました。
そこでIPAでは、TCP/IP実装製品の開発者向けに「TCP/IPに係る既知の脆弱性検証ツール」を開発し、CD-ROMでの貸出を開始しました。本ツールでは「TCP/IPに係る既知の脆弱性に関する調査報告書(改訂第5版)」※ に記載された30項目のうち、IPv4(Internet Protocol Version4)環境で19項目、IPv6環境で14項目の脆弱性を体系的に検証できます。
本ツールを使用することで、各種TCP/IP利用機器に対して自動的に検証を実行し、脆弱性の有無を簡易判定することができます。また「確認ガイド」を参照することにより、脆弱性の有無をより正確に判断することも可能です。
※TCP/IPに係る既知の脆弱性に関する調査報告書
http://www.ipa.go.jp/security/vuln/vuln_TCPIP.html
検証する機器のIPアドレスなどを設定し、脆弱性の種類を選択してパラメータを設定することで、簡単に検証が行えます。

本ツールには、「脆弱性検証ツール」と「脆弱性確認ツール」の2種類が存在します(図1)。
なお、本ツールで行う脆弱性判定は簡易的なもので、実際の脆弱性の有無の判定は、検証者に確認していただく必要があります。
本ツールでは、TCP/IPを実装したソフトウェアの次のような脆弱性を検証できます。(2010年11月25日現在)
| 種別 | 調査項目 | IPv4 | IPv6 |
|---|---|---|---|
| TCP関連 | TCPの初期シーケンス番号予測の問題 | ○ | ○ |
| TCP接続の強制切断の問題 | − | − | |
| SYNパケットにサーバ資源が占有される問題 (SYN Flood Attack) |
○ | ○ | |
| 特別なSYNパケットによりカーネルがハングアップする問題 (LAND Attack) |
○ | ○ | |
| データを上書きするフラグメントパケットがフィルタリングをすり抜ける問題(Overlapping Fragment Attack) | ○ | ○ | |
| 十分に小さい分割パケットがフィルタリングをすり抜ける問題 (Tiny Fragment Attack, Tiny Overlapping Fragment Attack) |
○ | ○ | |
| PAWS機能の内部タイマを不正に更新することで、TCP通信が強制的に切断される問題 | − | − | |
| Optimistic TCP acknowledgementsにより、サービス不能状態に陥る問題 | − | − | |
| Out of Band(OOB)パケットにより、サービス不能状態に陥る問題 | ○ | − | |
| ウインドウサイズ0のTCP接続過多により、サービス不能状態に陥る問題 | − | − | |
| TCP接続状態を操作し維持させることにより、サービス不能状態に陥る問題 (Naptha Attack) | − | − | |
| ICMP関連 | パケット再構築時にバッファが溢れる問題(Ping of death) | ○ | ○ |
| ICMP Path MTU Discovery機能を利用した通信遅延の問題 | ○ | ○ | |
| ICMPリダイレクトによるサービス応答遅延の問題 | ○ | ○ | |
| ICMPリダイレクトによる送信元詐称の問題 | ○ | ○ | |
| ICMP始点制御メッセージによる通信遅延の問題 | ○ | − | |
| ICMPヘッダでカプセル化されたパケットがファイアウォールを通過する問題(ICMPトンネリング) | ○ | ○ | |
| ICMPエラーによりTCP接続が切断される問題 | ○ | ○ | |
| ICMP Echo リクエストによる帯域枯渇の問題 (Ping flooding, Smurf Attack, Fraggle Attack) |
○ | ○ | |
| ICMPタイムスタンプ要求/ネットマスク要求への応答による問題 | − | − | |
| IPv6実装におけるForwarding Information Baseの更新に関する問題 | − | − | |
| IP関連 | フラグメントパケットの再構築時にシステムがクラッシュする問題 (Teardrop Attack) |
○ | ○ |
| パケット再構築によりメモリ資源が枯渇される問題 (Rose Attack) |
○ | − | |
| IP経路制御オプションが検査されていない問題 | − | − | |
| IPヘッダオプションのデータ長が0のパケットの問題 | ○ | − | |
| IP経路制御機能(ソース・ルーティング機能)により、サービス不能状態に陥る問題 | − | − | |
| IPv6IPCompパケットの処理によるサービス不能状態に陥る問題 | − | ○ | |
| ARP関連 | ARPテーブルが汚染される問題 | ○ | − |
| ARPテーブルが不正なエントリで埋め尽くされる問題 | ○ | − | |
| その他 | 通常でないパケットへの応答によってOSの種類が特定できる問題(TCP/IP Stack Fingerprinting) | − | − |
○:実装 −:未実装 (2010年11月25日現在)
原則として、次の条件を満たすTCP/IPを実装する製品開発者へ検証ツールを貸出します。
費用は無償です。貸出期間は2年間(更新可能)です。
「TCP/IPに係る既知の脆弱性検証ツール」のウェブサイトをご覧ください。
http://www.ipa.go.jp/security/vuln/vuln_TCPIP_Check.html