トップ > スキル : ネットワーク > プロトコル(ICMP)

ネットワーク

ICMPとセキュリティ関係

ICMPを使うときはユーザはほとんど意識しません。ただ、ICMPを利用するかしないかをユーザが考える場面は、ブロードバンド・ルータやパーソナル・ファイアウォールなどの設定画面である。このような設定画面には「ICMPを止めるかどうするか」という項目があるからです。このページではセキュリティとの関係を見ていくことにします。

ICMPの悪用例

利用すると便利なICMPを遮断する設定項目があるのは、セキュリティ確保のためです。ICMPを悪用し不正アクセスなどを試みるクラッカが使う手だからです。では、どのように悪用されるかをまず見ていきます。

ICMPを悪用する代表例には、pingコマンドを使って、サーバに対して大量のICMPエコー要求を送りつける攻撃があります。これを「pingフラッド」と呼びます。攻撃の的となったサーバは、届いたICMPエコー要求に応答することで手一杯になり、本来の通信処理ができなくなり、最後にはネットワーク回線までも利用できない状態に陥ります。

もっと悪質な例として「smurf」という攻撃があります。pingフラッドと似ていますが、違う点は送信するICMPエコー要求に細工がされています。送信元IPアドレスが「攻撃先となるサーバのIPアドレス」に偽装されていて、あて先IPアドレスもサーバではなく、「踏み台となるネットワークのブロードキャスト・アドレス」となっています。sumrf攻撃の流れは、次のようになります。クラッカが偽装したICMPエコー要求パケットを送ると、踏み台にされるネットワークの入り口にあるルータに届きます。ルータは、内部のすべてのパソコンにこのエコー要求を中継します。そのICMPエコー要求パケットを受け取ったすべのパソコンが、これに対してICMPエコー応答をサーバに送りつけることになります。内部にあるパソコンの数が多いほど、その攻撃力は高くなります。大量のエコー応答パケットを送りつけられたサーバには、大きな負荷がかかり、回線が使えなくなる状態に陥ります。このようにICMPパケットが届くことでサーバに対する攻撃になりえるのです。また、ポートスキャンもクラッカが攻撃対象を見つけるための手法になります。

セキュリティのことを考えると、ICMPを使わないようにすればいいのですが、実際に困る場合も出てきます。それは、経路MTU探索の仕組みが利用できなくなることです。先に述べたように、通信経路によってMTUサイズが異なる回線が存在すると、パケットを分割する必要がでてきます。ICMPは、分割できないことを送信元に通知して、パソコン側でサイズを調整して再送信するように促しますが、それができないことになります。ブロードバンド・ルータの設定しだいで、経路MTU探索の仕組みが関係するトラブルでインターネットにアクセスできない現象が発生します。セキュリティ上、WindowsXPから導入されたパーソナル・ファイアウォール機能は、標準で外からのICMPパケットの着信をすべて遮断しています。

ルータは千差万別で、最初からICMPをすべて遮断されていたり、逆に何も設定されていないデフォルト設定がされています。基本的な考え方として、周りのネットワークを考慮して、不要だったり攻撃につながるICMPメッセージだけを遮断するかどうかで判断するべきです。また、サーバに関しては管理者の判断で決めざるを得ないでしょう。

ICMPメッセージ一覧

ICMPメッセージは、タイプとコードの組み合わせで表現されることは先述しました。全部で組み合わせの数は35個あります。中にはほとんど使われていない種類もあります。ICMPメッセージのタイプやコードは、パケット・キャプチャ・ソフトを利用しないと見れませんが、今後の学習で生かされるように表にしました。ご参考にしてください。

【ICMP:ICMPとセキュリティ関係】