GNU/Linux >> Linux の 問題 >  >> Linux

TCP/IP 攻撃 – ARP キャッシュ ポイズニングの基礎の説明

「A」と「B」がとても仲が良く、「A」がすべての秘密を「B」と共有しているとします。

ここで、男「C」が入ってきて、あたかも「B」であるかのように偽ったとします。何が起こるか想像できますか?はい、「A」は自分のすべての秘密を「C」に伝えることができ、「C」はそれを悪用する可能性があります。

素人の言葉で言えば、これが ARP キャッシュ ポイズニングの意味です。

ARP ポイズニングは多くの深刻なネットワークの問題を引き起こす可能性があり、ネットワーク管理者はこの攻撃がどのように機能するかを知っておく必要があります。

ARP プロトコル

ARP キャッシュ ポイジングの説明に移る前に、まず ARP プロトコルがどのように機能するかを復習しましょう。 ARP プロトコルは、次の 4 つの基本メッセージで構成されます:

<オール>
  • ARP リクエスト :コンピュータ「A」がネットワーク上で「この IP を持っているのは誰?」と尋ねます
  • ARP 応答:要求された IP を持つコンピューターを除いて、他のすべてのコンピューターは要求を無視します。このコンピュータは、たとえば「B」は、要求された IP アドレスを持っており、これが私の MAC アドレスであると言います。
  • RARP リクエスト:これは ARP リクエストとほぼ同じですが、このメッセージでは MAC アドレスがネットワーク上でブロードキャストされる点が異なります。
  • RARP 応答:同じ概念。コンピュータ「B」は、要求された MAC が私のものであり、ここに私の IP アドレスがあることを示しています。
  • ネットワークに接続されているすべてのデバイスには、ARP キャッシュがあります。このキャッシュには、このホストが既に通信したネットワーク デバイスのすべての MAC アドレスと IP アドレスのマッピングが含まれています。

    ARP キャッシュ ポイズニングの概念

    ARP プロトコルはシンプルかつ効率的に設計されましたが、プロトコルの主な欠陥は認証の欠如です。その実装には認証が追加されていないため、ARP 応答で IP から MAC アドレスへのマッピングを認証する方法がありません。さらに、ホストは、ARP 応答メッセージを受信して​​いる ARP 要求を送信したかどうかもチェックしません。

    素人の言葉で言えば、コンピューター「A」が ARP 要求を送信し、ARP 応答を取得した場合、ARP プロトコルは、ARP 応答の情報または IP から MAC へのマッピングが正しいかどうかを確認できません。また、ホストが ARP 要求を送信せずに ARP 応答を受け取った場合でも、応答の情報を信頼して ARP キャッシュを更新します。これは、ARP キャッシュ ポイズニングとして知られています。

    したがって、ARP プロトコルのこの弱点を悪用するのは簡単であることがわかります。悪意のあるハッカーは、任意の IP がハッカーが選択した任意の MAC アドレスにマッピングされた有効な ARP 応答を作成し、このメッセージをネットワーク全体に送信できます。ネットワーク上のすべてのデバイスはこのメッセージを受け入れ、新しい情報で ARP テーブルを更新します。これにより、ハッカーはネットワーク内の任意のホストとの間の通信を制御できます。

    ARP キャッシュ ポイズニングの結果

    ハッカーが ARP キャッシュ ポイズニングの可能性を認識した後、攻撃者はさまざまな攻撃手法を使用して、被害者のマシンに危害を加えたり、制御を取得したりできます。ここでそれらのいくつかについて説明しましょう:

    1) サービス拒否

    ハッカーは、間違ったまたは存在しない MAC アドレスを持つネットワーク上の IP アドレスをマッピングする ARP 応答を送信できます。たとえば、ネットワークのルーター IP を存在しない MAC にマッピングする偽の ARP 応答は、ルーターの IP に送信されたパケットが MAC アドレスを持つマシンに送信されるため、ネットワーク全体と外界との接続を切断します。

    2) 中間者

    名前が示すように、ハッカーは自分のマシンをあなたのシステムとネットワーク上の他のシステムとの間の通信のちょうど中間に置くことができます。このようにして、ハッカーは両方のマシンとの間のすべてのトラフィックを傍受できます。

    これを実現するには、マシンがホスト「A」で、ネットワーク ルーターがホスト「B」であるとします。 「A」には IP-A と MAC-A があり、「B」にはそれぞれ IP アドレスと MAC アドレスとして IP-B と MAC-B があります。ここで、ハッカーは、あなたの IP (IP-A) を彼のマシンの MAC アドレスにマッピングするルーターに ARP 応答を送信し、別の ARP 応答を、ルーターの IP を彼のマシンの MAC アドレスにマッピングするあなたのマシンに送信します。これで、マシンからルーターに、またはルーターからマシンに送信されたメッセージはすべて、ハッカーのマシンに到達します.ハッカーは自分のマシンで「IP 転送」機能をオンにできるようになりました。これにより、ハッカーのマシンはすべてのトラフィックをマシンとルーターの間で転送できます。このようにして、ハッカーのマシンはちょうど真ん中に位置し、トラフィックを傍受したりブロックしたりできます.

    3) MAC フラッディング

    ネットワーク上のスイッチの場合、MAC フラッディングは、使用される ARP キャッシュ ポイズング手法です。過負荷になると、多くのネットワーク スイッチがハブのように機能し始め、ネットワークに接続されているすべてのホストにすべてのネットワーク トラフィックをブロードキャストし始める可能性があります。そのため、ハッカーは偽の ARP 応答でスイッチをフラッディングし、スイッチをハブのように動作させることができます。この役割では、スイッチはすべてのネットワーク トラフィックをブロードキャストする「ポート セキュリティ」機能を有効にしません。これを利用して、ハッカーはネットワークのパケットを盗聴できます。

    ARP キャッシュ ポイズニングの緩和テクニック

    ネットワークへの物理的なアクセスまたはネットワーク内のいずれかのマシンの制御が必要なため、ARP キャッシュをリモートでポイズニングするのは少し困難です。必ずしも簡単ではないため、ARP 攻撃は頻繁に耳にすることはありません。いずれにせよ、薬を飲むよりも予防​​策を講じる方がよいでしょう。ネットワーク管理者は、この種の攻撃が行われないように注意する必要があります。いくつかの軽減ポイントを次に示します:

    • 小規模なネットワークでは、静的 ARP エントリを維持できます。静的とは不変を意味するため、名前が示すようにこれらのエントリは変更できないため、ハッカーがマッピングを変更しようとしても失敗します。これは小規模なネットワークには適していますが、ネットワークに追加されたすべての新しいデバイスのマッピングを手動で行う必要があるため、大規模なネットワークには適していません。
    • 大規模なネットワークの場合、ネットワーク スイッチのポート セキュリティ機能を調べることができます。一部の機能をオンにすると、スイッチの物理ポートごとに 1 つの MAC アドレスのみを許可するようにスイッチが強制されます。この機能により、マシンは MAC アドレスを変更できず、複数の MAC をマシンにマッピングできないため、「中間者」などの攻撃を防ぐことができます。
    • 一般に、ネットワークで悪意のある ARP アクティビティが発生した場合、ARPwatch などの監視ツールを導入してアラートを受け取ることができます。

    結論として、この記事では、ARP プロトコルの基本、その抜け穴、これらの抜け穴を悪用する方法、およびそれらを軽減する方法について説明しました。

    このシリーズの次の記事は、TCP シーケンス番号予測と TCP リセット攻撃です。


    Linux
    1. システム ARP キャッシュへの静的エントリの追加 (CentOS/RHEL)

    2. デフォルトの arp キャッシュ タイムアウト

    3. ネットワーク ポートは開いていますが、プロセスが接続されていませんか?

    1. 15の一般的に使用されるネットワークポートの説明

    2. 最も一般的なワイヤレスネットワーク攻撃に対する防御

    3. Unix ソケットと TCP/IP ホスト:ポート

    1. プログラムで localhost TCP/IP 通信を使用する - 常に安全ですか?

    2. できればターミナルを使用して、接続されたネットワーク内のすべての IP を一覧表示するにはどうすればよいですか?

    3. STALE arp エントリが使用されていないときに FAILED になるのはいつですか?