ARP (アドレス解決プロトコル) とは何ですか?

IP アドレスの概念についてはご存知かもしれません。 ネットワーク上のすべてのコンピューターには、少なくとも 1 つのコンピューターがあります。 ネットワーク間で通信する場合、これらの IP アドレスはネットワーク トラフィックの発信元と宛先を一意に識別するため、配信と応答を確実に行うことができます。 同じネットワーク上のデバイスと通信する場合、コンピューターは IP アドレスを直接使用しません。 代わりに、その IP アドレスを MAC アドレスに変換します。 ARP は、IP から MAC への変換を管理し、これをネットワーク上で通信するためのプロトコルです。

ARPはアドレス解決プロトコルの略です. これは、ブロードキャスト コンポーネントと要求応答コンポーネントを持つステートレス プロトコルです。 ARP は主に IPv4 ネットワークで使用されますが、他のネットワーク システムでも使用されます。 IPv6 ネットワークは、ARP 機能といくつかの追加機能を NDP で実装します。 または近隣探索プロトコル。

識別された MAC アドレスは、各デバイスの ARP テーブルに格納されます。 ARP テーブルの各エントリは定期的に期限切れになります。 ただし、ARP トラフィックがネットワークにブロードキャストされるときに受動的に更新できるため、必要な ARP トラフィックの総量を最小限に抑えることができます。

ARP プローブと応答

コンピュータがネットワーク パケットを送信する必要がある場合、宛先 IP アドレスを確認します。 別のネットワーク内のデバイスのルーターに送信する必要があることを認識しています。 これにより、パケットを正しいネットワークに転送できます。 パケットがローカル ネットワーク上のデバイスを対象としている場合、コンピューターは送信先の正しい MAC アドレスを認識している必要があります。

コールの最初のポートとして、コンピュータは ARP テーブルをチェックします。 これには、ローカル ネットワーク上のすべての既知のデバイスのリストが含まれている必要があります。 ターゲット IP と MAC アドレスが存在する場合、ARP テーブルを使用してパケットを完成させて送信します。 IP アドレスが ARP テーブルにエントリを持っていない場合、コンピュータは ARP プローブを介して検出する必要があります。

コンピュータは ARP プローブをネットワークにブロードキャストし、「誰が " と 関連する IP アドレスを置き換えました。 このメッセージはブロードキャストであるため、ネットワーク上のすべてのデバイスに表示されます。 彼らに向けられたものではないため、ほとんどの人はそれを無視します。 しかし、その IP アドレスを持つデバイスは、別のブロードキャスト メッセージで応答します。 属する 」 再び それぞれの値に置き換えられます。 その後、元のコンピュータは ARP テーブルを更新し、目的の受信者にパケットを送信します。

ノート: ARP プローブ応答もブロードキャストです。 これにより、他のすべてのネットワーク デバイスは、同一の ARP プローブを作成する必要なく、ARP テーブルを更新できます。 これにより、ARP トラフィックを最小限に抑えることができます。

接続時の ARP プローブ

コンピュータがネットワークに接続するとき、IP アドレスを取得する必要があります。 これは手動で指定できますが、通常は DHCP (動的ホスト制御プロトコル) サーバー。 通常、DHCP サーバーはネットワーク ルーターの機能ですが、別のデバイスで実行することもできます。 手動構成または DHCP を使用して、新しいデバイスに IP アドレスが割り当てられます。 デバイスは、他のデバイスがその IP アドレスを使用していないことをすばやく確認する必要があります。

そのために、デバイスは ARP プローブ パケットをブロードキャストし、新しく割り当てられた IP アドレスを使用するデバイスに応答するように要求します。 期待される応答は沈黙です。 特に DHCP ネットワークでは、他のデバイスが反応することはありません。 少し遅れて、デバイスは同じメッセージを数回ブロードキャストします。 この繰り返しは、競合する IP アドレスを持つデバイスとの間で 1 つのパケットがドロップされた可能性がある場合に役立ちます。 いくつかの ARP プローブに対する応答がなくなると、デバイスは新しい IP アドレスの使用を開始できます。 そのためには、Gratuitous ARP を送信する必要があります。

無償ARP

デバイスは、使用したい IP アドレスが使用されていないと判断すると、Gratuitous ARP を送信します。 これには、単にネットワークへのブロードキャストが含まれます。 もっている 」 これは通常、標準の ARP プローブへの応答であるかのようにフォーマットされますが、ARP プローブがそれを要求することはありません。そのため、「無償 ARP」という名前が付けられています。

Gratuitous ARP 要求も定期的にネットワークに送信され、コンピューターがまだ接続されていて、オンラインであり、IP アドレスを持っていることを他のすべてのデバイスに通知します。

ARP スプーフィング

ARP はステートレス プロトコルであり、接続がなく、すべてのメッセージがネットワーク全体にブロードキャストされます。 すべてのデバイスは、ARP 応答をリッスンし、ARP テーブルにキャッシュします。 ただし、これはシステムの脆弱性につながります。 攻撃者がネットワークに物理的に接続できると仮定すると、攻撃者は不正な Gratuitous ARP 応答パケットを悪意を持ってブロードキャストするソフトウェアを実行できます。 ネットワーク上のすべてのデバイスは、悪意のある ARP パケットを確認し、暗黙のうちにそれらを信頼し、ルーティング テーブルを更新します。 これらの不正確な ARP テーブルは、「ポイズン」と呼ばれます。

これは、トラフィックを間違った方向に向けてネットワークの問題を引き起こすために使用される可能性があります。 ただし、さらに悪いシナリオがあります。 攻撃者がルーターの IP アドレスの ARP パケットをスプーフィングし、それを自分のデバイスに向けると、すべてのネットワーク トラフィックを受信して​​見ることができます。 デバイスにトラフィックを転送するための別のネットワーク接続があると仮定すると、中間者 (MitM) 位置。 これにより、攻撃者は HTTPS ストリッピングなどの厄介な攻撃を実行できるようになり、すべてのネットワーク トラフィックを確認して変更できる可能性があります。

ノート: MitM 攻撃に対するいくつかの保護があります。 攻撃者は、Web サイトの HTTPS 証明書を複製することはできません。 トラフィックが傍受されたすべてのユーザーは、ブラウザー証明書エラーを受け取るはずです。

ただし、特に内部ネットワークでは、重要で暗号化されていない通信が数多くあります。 これは、ホーム ネットワークではあまり当てはまりません。 それでも、Windows 上に構築された企業ネットワークは、ARP スプーフィング攻撃に対して特に脆弱です。

ARP ポイズニングは MitM 攻撃を可能にします – 出典: ウィキペディア

結論

ARPはアドレス解決プロトコルの略です. ローカル ネットワークで必要な場合に、IPv4 ネットワークで IP アドレスを MAC アドレスに変換するために使用されます。 これは、ステートレスなリクエストとレスポンスのブロードキャストで構成されています。 応答またはその欠如により、デバイスはどの MAC アドレスが IP アドレスに関連付けられているか、または IP アドレスが使用されていないかどうかを判断できます。 デバイスは ARP 応答をキャッシュして、ARP テーブルを更新します。

デバイスは、MAC アドレスが IP アドレスに関連付けられていることを無償で定期的にブロードキャストする場合もあります。 認証メカニズムがないため、悪意のあるユーザーは偽の ARP パケットをブロードキャストして ARP テーブルをポイズニングし、トラフィックを自分自身に向けてトラフィック分析や MitM 攻撃を実行できます。