インターネット上の制御に関する通知を行うプロトコルの脆弱性を悪用し、大量のパケットを送り付けてネットワークの帯域をあふれさせるフラッド攻撃の一種。広義には、DoS(サービス拒否)攻撃の一種。
ICMPは一般的なインターネットプロトコルで、データグラム処理における誤りの通知や通信に関する情報の通知など、さまざまなエラーメッセージを送信するために使用される。その際には認証を必要とせず、1方向の通信を前提に設計されている。
- ICMP通知の例
- ・エコー要求/応答
- ・宛先到達不能
- ・送出抑制要求
- ・経路変更要求
- ・ルーター広告/要求
- ・時間超過
- ・不正引数
- ・タイムスタンプ要求/応答
- ・情報要求/応答
- ・アドレスマスク要求/応答
このうち、何らかの原因でインターネットがつながらなくなったときに通信状態を確認するために送られる「エコー要求/応答」を悪用するのが「ICMP攻撃」である。
攻撃の流れ
1 IPアドレスの送信元を標的のサイト(ネットワーク)のアドレスに偽装
2 ICMP エコー要求パケットを送り付ける
3 エコー要求パケットに反応して各端末が応答パケットを送る
IPアドレス(IPv4)を使ったネットワークにおいては「ブロードキャストアドレス」という機能がある。このアドレスを使えば、ネットワークにつながっている全ての端末にデータを一斉送信する。
ICMP にはブロードキャスト指示機能があるため、ICMP エコー要求パケットの発信元のアドレスに標的の IP アドレスを設定し、宛て先にブロードキャストアドレスを設定して送信すると、このパケットを受け取った多数のホストが一斉に標的のホストに ICMP エコー応答パケットを送り付け、ネットワーク帯域の渋滞をもたらすことになる。
別名の「スマーフ」(Smurf)攻撃は、攻撃者が利用する攻略プログラム名に端を発しているが、スマーフ自体はベルギーの漫画家ピエール・クリフォールが創作した森の妖精のキャラクター名に由来する。
対策
ファイアウォールを導入してブロードキャスト宛てのパケットを遮断することで、この攻撃を防ぐことができる。