ICMP 攻撃: 知っておくべきことすべて

公開: 2023-09-19

単純なソフトウェアから、私たちが知っているインターネットの構造を支える最も基本的なプロトコルに至るまで、ハッカーがあらゆるものの弱点を見つけようとするのは驚くことではありません。 インターネット プロトコル スタックの重要なコンポーネントの 1 つであるインターネット コントロール メッセージ プロトコルは、グローバル メッセージ キャリアとして機能し、ワールドワイド Web を形成するネットワーク デバイスとネットワーク全体の状態に関する重要な情報を伝達します。

ICMP は非常に貴重な通信ツールですが、攻撃者がその設計に固有の弱点を利用する潜在的な手段となります。 悪意のある攻撃者は、ICMP メッセージに含まれるネットワーク デバイスの信頼性を悪用して、被害者のホストが展開するセキュリティ システムを回避しようとし、ネットワーク運用に混乱を引き起こし、最終的にはサービス妨害につながる可能性があります。

ICMP 攻撃は、サービス拒否攻撃の別個のグループとして、攻撃者のツールボックスの主要なツールではなくなりました。 しかし、彼らはオンライン ビジネスに大損害を与え続けています。 Ping フラッド攻撃、スマーフ攻撃、いわゆる ping of death はすべて、ICMP 攻撃のさまざまなバリエーションであり、依然として世界中のネットワーク運用に脅威を与える可能性があります。

この ICMP 攻撃ガイドでは、ICMP とは何か、ハッカーがそれをどのように利用してサーバーやネットワーク全体にサービス妨害を引き起こすのかを学びます。 ICMP 攻撃の根底にあるメカニズムを詳しく掘り下げて、ICMP 攻撃がもたらす損害からビジネスを守るために必要な知識とツールを提供します。

icmp攻撃

ICMPとは何ですか?

インターネット コントロール メッセージ プロトコル (ICMP) は、ネットワーク デバイスが動作情報を相互に通信するために使用するネットワーク プロトコルです。 ICMP はメッセージが IP ペイロードとして伝送されるため、IP プロトコルの一部とみなされることがよくありますが、インターネット コントロール メッセージ プロトコルはそのすぐ上にあり、IP データグラムの上位層プロトコルとして指定されています。 ただし、その活動は依然として、ネットワーク層として知られるインターネット プロトコル スイートの 3 番目の層に限定されています。

各 ICMP メッセージには、メッセージが生成される原因となった元の要求の一部だけでなく、メッセージが伝達する情報の種類とその目的を指定するタイプとコード フィールドがあります。 たとえば、宛先ホストに到達できなくなった場合、元の要求を渡すことができなかったルーターは、指定したサーバーへのパスが見つからなかったことを知らせる ICMP タイプ 3 コード 1 メッセージを生成します。

ICMP は何に使用されますか?

ほとんどの場合、ICMP は、宛先ネットワークまたはエンド システムに到達できなかった状況でのエラー報告を処理するために使用されます。 「宛先ネットワークに到達できません」などのエラー メッセージはどちらも ICMP に由来しており、リクエストが意図した処理を完了しなかった場合に表示されます。 ICMP メッセージには元のリクエストの一部が含まれているため、システムはそれを正しい宛先に簡単にマッピングします。

エラー報告はインターネット コントロール メッセージ プロトコルの主要なアプリケーションの 1 つですが、ICMP は 2 つの基本的なネットワーク診断ツールである ping とtraceroute の機能を支えています。 どちらのユーティリティも、ネットワーク接続のテストや、ネットワークとエンド システムを削除する経路の追跡に広く使用されています。 また、ping とtraceroute は同じ意味で使用されることがよくありますが、その操作方法は大きく異なります。

Ping と Traceroute

Ping は、宛先ホストからのエコー応答を期待して、エコー要求タイプの一連の ICMP メッセージを送信します。 各要求が応答を受信した場合、Ping は送信元システムと宛先システムの間でパケット損失がないことを報告します。 同様に、ネットワークの輻輳により一部のメッセージが宛先に到達しない場合、ユーティリティはそれらのパケットを損失として報告します。

Traceroute はより複雑なメカニズムを備えており、別の目的のために作成されました。 エコー要求を目的のホストに送信する代わりに、目的の宛先に到着すると期限切れになる IP パケットのバーストを送信します。 このようにして、受信ルーターまたはホストは、送信元に送り返される Time to Live (TTL) 期限切れの ICMP メッセージを生成するように強制されます。 元のパケットごとに ICMP 応答メッセージを受信すると、Traceroute は、宛先ホストへのルートを形成するパケット スイッチの名前と、元のパケットがそれぞれのパケットに到達するまでにかかった時間を取得します。

ICMP が悪用されやすい理由は何ですか?

ICMP はオープン システム相互接続 (OSI) モデルのネットワーク層に限定されているため、そのリクエストは送信前に接続を確立する必要がありません。これは、TCP によって導入され、TLS によって増幅される 3 ウェイ ハンドシェイクの場合に当てはまります。 SSL/TLS 証明書の使用。 これにより、あらゆるシステムに ping リクエストを送信できるようになり、悪用が容易になります。

ご覧のとおり、ICMP はグローバル ネットワークの貴重なコンポーネントであることが証明されていますが、悪意のある目的に使用しようとするサイバー犯罪者の注目も集めています。 悪意のある攻撃者は、ICMP の実装に存在する弱点を悪用して、ネットワークや個々のホストに混乱を引き起こします。 ICMP 攻撃を実行するハッカーは、ICMP を重要なネットワーク診断ツールからネットワーク停止の根本原因に変えます。

危険性の低いタイプのサービス拒否 (DoS) としての ICMP 攻撃

ICMP 攻撃は、インターネット コントロール メッセージ プロトコルの機能を悪用して、標的のネットワークやデバイスをリクエストで圧倒し、いわゆる帯域幅フラッディングを引き起こします。これは、被害者の着信トラフィックを処理する能力を使い果たすことを目的としたサービス妨害 (DoS) の一種です。 ICMP 攻撃は、ネットワーク操作を中断するための主要なツールとして ICMP メッセージを使用するサービス拒否攻撃として定義できます。

ICMP 攻撃は、他のほとんどの種類のサービス拒否攻撃よりも危険性が低く、防御が簡単であると考えられています。 ICMP 攻撃は依然として重大な損害を引き起こす可能性がありますが、通常、次のような理由により、検出と軽減がより簡単になります。

  • ICMP 攻撃はネットワーク層に焦点を当てています。 ICMP はインターネット プロトコル スタックの下位レベルで動作し、ICMP メッセージが運ぶペイロードは、他のサービス拒否攻撃で使用されるデータ量の多いペイロードに比べて小さいです。 これにより、悪意のある ICMP トラフィックを識別しやすくなります。
  • ICMP 攻撃は独特のパターンを示します。 悪意のある ICMP メッセージは、同じ送信者からの大量のエコー リクエストや特定のエラー メッセージなど、独特のパターンを示すことがよくあります。
  • ICMP トラフィックは制限しやすくなります。 ネットワーク管理者は、受信および送信する ICMP トラフィックを制限したり、完全に無効にしたりすることができます。これにより、通常の運用に目立った混乱が生じることはありません。

ICMP 攻撃の 3 つの主なタイプ

ICMP 攻撃の 3 つの主なタイプには、ping フラッド、Smurf 攻撃、ping of death 攻撃が含まれます。 それぞれが異なるメカニズムを使用していますが、主な違いはサイバー犯罪者が使用する ICMP メッセージの種類です。

すでに説明したように、エコー リクエストを生成して宛先に送信する Ping ユーティリティを除き、ICMP メッセージは通常、特定の問題の発信元に警告するために宛先システムによって生成されます。 こうすることで、攻撃者は、ICMP パケットの大量発生を被害者のシステムに向ける代わりに、攻撃の被害者を別の被害者の目には攻撃者に見せるなど、より高度なテクニックを利用できるようになります。

最も蔓延している 3 つのタイプの ICMP 攻撃をそれぞれ詳しく見て、顕著な防御メカニズムが広く導入される前に、これらの攻撃がどのようにしてインターネットに大規模な混乱を引き起こしたのかを見てみましょう。

Ping フラッド

Ping フラッドは、ICMP 攻撃の最も単純かつ最も一般的なバリエーションであり、悪意のある攻撃者が過剰な量のエコー リクエストを被害者のシステムまたはネットワークに送信します。 サイバー犯罪者は、Ping ユーティリティの通常のアクティビティをシミュレートして、宛先ホストの帯域幅をターゲットにします。

同じ方向に大量の ICMP リクエストが送信されると、ターゲットのアクセス リンクが詰まり、正当なトラフィックが宛先に到達できなくなります。 また、各エコー要求ごとに ICMP エコー応答メッセージが期待されるため、ping フラッド攻撃によって CPU 使用率が大幅に増加し、エンド システムの速度が低下し、完全なサービス拒否が発生する可能性があります。

他のタイプの DoS と同様に、悪意のある攻撃者は複数のホストを利用して ping フラッド攻撃を実行し、分散型サービス拒否 (DDoS) 攻撃に変えることができます。 複数の攻撃元を使用すると、攻撃の影響が増幅されるだけでなく、攻撃者が発見を回避し、その身元を隠すことにも役立ちます。

分散型サービス拒否攻撃は通常、ボットネット (侵害されたエンドポイントと攻撃者が制御するネットワーク デバイスのネットワーク) を利用します。 ボットネットは、被害者のデバイスを特殊なタイプのマルウェアに感染させることによって作成および拡張され、ボットネットの所有者が侵害されたシステムをリモートで制御できるようになります。 指示を受けると、感染したデバイスは、正当な所有者の認識や同意なしに、ICMP エコー要求メッセージで ping フラッド攻撃のターゲットを圧倒し始めます。

最も有名な大規模な ping フラッド攻撃の 1 つは、2002 年に発生しました。サイバー犯罪者はボットネットを利用して、トラックに積まれた ICMP エコー リクエスト メッセージを 13 台の DNS ルート ネーム サーバーのそれぞれに送りました。 幸いなことに、ネーム サーバーの背後にあるパケット スイッチは、受信した ping メッセージをすべて破棄するようにすでに構成されていたため、この攻撃は世界的なインターネット エクスペリエンスにほとんど影響を与えませんでした。

スマーフ・アタック

スマーフ攻撃は、ICMP エコー リクエストが別のソースから送信されたものであるかのように見せることで、被害者を攻撃者とみなします。 送信者アドレスをスプーフィングして、攻撃者は、エコー応答によって実際の被害者のホスト (元の ping 要求で送信元として指定されたシステム) を圧倒させることを期待して、大量の ICMP メッセージを 1 つまたは複数のデバイスのネットワークに送信します。

スマーフ攻撃は、破壊の可能性が非常に大きいため、かつてはコンピューター ネットワークに対する大きな脅威と考えられていました。 ただし、現時点では、この攻撃ベクトルが使用されることはほとんどなく、一般的には解決済みの脆弱性であると考えられています。 これは、絶対多数のパケット フィルタがブロードキャスト アドレスに送信される ICMP メッセージを自動的にドロップするためです。つまり、メッセージは宛先ネットワーク上のすべてのデバイスに送信されます。 このようなルールを指定すると、ネットワークが Smurf サービス拒否攻撃に使用されることが防止され、事実上、攻撃が終了します。

死のピング

ping フラッド攻撃とスマーフ攻撃はボリュームベースのサービス拒否攻撃とみなされますが、ping of death は、巧妙に作成された ICMP メッセージを宛先に送信することで被害者のシステムを動作不能にすることを目的とした脆弱性攻撃です。 この ICMP 攻撃は、以前に説明した他の 2 つの DoS 攻撃よりも蔓延していないと考えられています。 それにもかかわらず、破壊の可能性が最も高くなります。

ICMP メッセージは IP データグラムで伝送されますが、サイズには制限があります。 不正な形式またはサイズが大きすぎるメッセージをホストに送信すると、メモリ オーバーフローが発生し、場合によってはシステム全体がクラッシュする可能性があります。 危険に聞こえるかもしれませんが、最新のシステムのほとんどには、そのような異常を検出する十分な手段が装備されており、不正な ICMP メッセージが宛先に到達するのを防ぎます。

ICMP 攻撃を検出して軽減するにはどうすればよいですか?

特に大規模な DDoS 攻撃の場合、ハッカーはターゲットとなる Web サイトやサーバーを選びません。 「なぜハッカーが私の Web サイトを攻撃するのでしょうか?」と疑問に思っている場合は、理由に関係なく、オンライン プレゼンスのセキュリティを維持するには、ICMP 攻撃を軽減するための知識を持つことが不可欠であることを覚えておくことが重要です。

ICMP 攻撃の軽減 (特に ping フラッドの場合) は、他の種類のサービス拒否攻撃の軽減と変わりません。 重要なのは、悪意のあるトラフィックを特定し、その送信元をブロックして、攻撃者によるサーバーへのアクセスを効果的に拒否することです。

ただし、従来のステートレス パケット フィルターから高度な侵入検知システム (IDS) に至るまで、ほとんどのセキュリティ ソリューションは、ICMP トラフィックをレート制限し、ICMP 攻撃を効果的に軽減するように設定されているため、ネットワーク トラフィックを手動で観察して分析する必要はほとんどありません。 最新のセキュリティ ソリューションの進歩により、ping フラッドやその他の種類の ICMP 攻撃は、サーバーや Web サイトにとって大きな脅威ではなくなりました。

ICMP 攻撃から防御するにはどうすればよいですか?

ICMP 攻撃に対する効果的な防御戦略は、レート制限や受信および送信 ICMP トラフィックの完全な無効化など、強力なパケット フィルタリング ルールを実装することから始まります。 サーバーに出入りするすべての ICMP メッセージをブロックすると、サーバーへのルートを追跡したり、ping リクエストがサーバーに到達したりすることができなくなりますが、サーバーや Web サイトの操作にはほとんど影響しません。

多くの場合、アウトバウンド ICMP トラフィックはデフォルトでソフトウェア ファイアウォールによって制限されているため、ホスティング プロバイダーがすでに制限を行っている可能性が高くなります。 LiquidWeb と Nexcess が提供するすべてのフルマネージド ホスティング ソリューションには、ICMP 攻撃を防御するための調整をほとんどまたはまったく必要としない強力なファイアウォール ルールが付属しています。

一般に、サーバーを Ping および Traceroute ユーティリティによってグローバル ネットワーク上で検出可能な状態にしておく場合は、受信および送信 ping リクエストのレート制限を選択できます。 ほとんどのソフトウェア ファイアウォールのデフォルト設定では、受信する ICMP エコー リクエストの数を IP アドレスごとに 1 秒あたり 1 件に制限しています。これが適切な出発点です。

ping フラッドやその他の ICMP 攻撃からサーバーを防御する優れた方法は、コンテンツ配信ネットワーク (CDN) を使用することです。 最新の CND は強力なファイアウォール ルールを実装し、ディープ パケット インスペクションを実行することで、サーバーに到達する悪意のあるリクエストの数を大幅に削減します。 ICMP 攻撃の場合、CDN によって展開されるデフォルトのファイアウォール ルール セットでも、ICMP 攻撃に対する効果的な防御に役立ちます。

iThemes Security Pro で WordPress ウェブサイトを保護する

プロトコル スタック内のインターネット制御メッセージの実装を悪用すると、サイバー犯罪者はインターネットの基本コンポーネントを、企業や個人に同様に大混乱をもたらす危険な武器に変えることができます。 ping フラッド攻撃やスマーフ攻撃などの ICMP 攻撃は、ターゲットのホストやネットワーク デバイスを大洪水や悪意のある ICMP メッセージで圧倒することによってサービス妨害を引き起こすことを目的としています。 ボットネットを活用し、送信元アドレスをスプーフィングすることで、ハッカーは ICMP 攻撃をさらに効果的にし、破壊の可能性を大幅に高めることができます。

幸いなことに、最新のセキュリティ ソリューションが ping フラッドの防止と軽減に役立つ優れた防御メカニズムを提供しているため、ICMP 攻撃は Web サイトやサーバーに対する大きな脅威ではなくなりました。 ICMP 攻撃は、プロトコル スタックのアプリケーション層を標的とする他​​のサービス拒否 (DoS) 攻撃よりも危険性が低いと考えられます。

iThemes Security Pro と BackupBuddy は、WordPress を常に保護し、サイバーセキュリティの脅威から一歩先を行くことを保証します。 柔軟なバックアップ スケジュールとワンクリック復元により、WordPress Web サイトのクリーンな作業コピーが、ハッカーが到達できない遠隔地に安全に保存されるので、安心できます。 高度なブルート フォース保護、多要素認証、ファイル整合性監視、脆弱性スキャンにより、攻撃対象領域が大幅に減少し、あらゆる脅威を簡単に軽減できます。