Address Resolution Protocol(ARP)ポイズニングは、ローカルエリアネットワーク経由でスプーフィングされたARPメッセージを送信する攻撃です。としても知られています ARPスプーフィング、ARPポイズニングルーティング、ARPキャッシュポイズニング.
これらの攻撃は、トラフィックを元のホストから攻撃者に迂回させようとします。 ARPポイズニングは、攻撃者のメディアアクセス制御(MAC)アドレスをターゲットのIPアドレスに関連付けることでこれを行います。 ARPを使用するネットワークに対してのみ機能します.
ARPポイズニングは、中間者攻撃の一種であり、 ネットワークトラフィックの停止、変更、または傍受. このテクニックは、次のような攻撃を開始するためによく使用されます。 セッションハイジャックまたはサービス拒否.
アドレス解決プロトコル(ARP)とは?
ARPは、特定のIPアドレスを関連する物理マシンのリンク層アドレスに関連付けるプロトコルです。 IPv4は依然として最も一般的に使用されているインターネットプロトコルであるため, ARPは通常、32ビットIPv4アドレスと48ビットMACアドレスのギャップを埋めます. 双方向に機能します.
特定のMACアドレスとそのIPアドレスの関係は、ARPキャッシュと呼ばれるテーブルに保持されます。 LAN上のホストに向かうパケットがゲートウェイに到達すると、ゲートウェイはARPを使用してMACまたは物理ホストアドレスをその相関IPアドレスに関連付けます.
次に、ホストはARPキャッシュを検索します。対応するアドレスが見つかると、そのアドレスを使用して形式とパケット長が変換されます。正しいアドレスが見つからない場合、ARPは要求パケットを送信し、ローカルネットワーク上の他のマシンが正しいアドレスを知っているかどうかを尋ねます。マシンがアドレスで応答する場合、同じソースからの将来の要求がある場合、ARPキャッシュはそれで更新されます.
ARPポイズニングとは?
基礎となるプロトコルについての理解が深まったので、ARPポイズニングについてさらに詳しく説明します。 ARPプロトコルは効率的であるように開発されました。 セキュリティの欠如 その設計に。これにより、ターゲットのローカルネットワークにアクセスできる限り、誰かがこれらの攻撃を比較的簡単に実行できます。.
ARPポイズニングには送信が含まれます ローカルネットワークを介したゲートウェイへのARP応答パケットの偽造. 攻撃者は通常、ArpspoofやArppoisonなどのスプーフィングツールを使用して作業を簡単にします。ターゲットのアドレスと一致するようにツールのIPアドレスを設定します。次に、ツールはホストのIPアドレスとMACアドレスについてターゲットLANをスキャンします.
攻撃者がホストのアドレスを取得すると、ローカルネットワークを介してホストへの偽造ARPパケットの送信を開始します. 不正なメッセージは、攻撃者のMACアドレスをターゲットとするマシンのIPアドレスに接続する必要があることを受信者に伝えます.
これにより、受信者は攻撃者のアドレスでARPキャッシュを更新します。受信者が将来ターゲットと通信するとき, それらのメッセージは実際には攻撃者に送信されます.
この時点で、攻撃者は密かに通信の途中にいて、この位置を利用してトラフィックを読み取ってデータを盗むことができます。攻撃者は、ターゲットに到達する前にメッセージを変更したり、通信を完全に停止したりすることもできます。.
攻撃者はこの情報を使用して、サービス拒否やセッションハイジャックなどのさらなる攻撃を仕掛けることができます。
- サービス拒否 –これらの攻撃は、多数の個別のIPアドレスをターゲットのMACアドレスにリンクできます。十分なアドレスがターゲットにリクエストを送信している場合、トラフィックで過負荷になり、サービスが中断されて使用できなくなります。.
- セッションハイジャック – ARPスプーフィングは、ハッカーがシステムやアカウントへの侵入に使用するセッションIDを盗むために活用できます。一度アクセスすると、ターゲットに対してあらゆる種類の大混乱を引き起こすことができます.
ARPポイズニングを検出する方法
ARPポイズニングは、いくつかの異なる方法で検出できます。 Windowsのコマンドプロンプト、Wiresharkなどのオープンソースパケットアナライザー、またはXArpなどの独自のオプションを使用できます。.
コマンド・プロンプト
ARPポイズニング攻撃に苦しんでいると思われる場合は、コマンドプロンプトで確認できます。まず、管理者としてコマンドプロンプトを開きます。最も簡単な方法は、 Windowsキー スタートメニューを開きます。 「cmd」を押してから Crtl, シフト そして 入る 同時に.
クリックするとコマンドプロンプトが表示されますが、 はい アプリに変更を加える許可を与えるため。コマンドラインで、次を入力します。
arp -1
これにより、ARPテーブルが得られます。
*上の画像のアドレスは、プライバシー上の理由から部分的に黒く塗りつぶされています.*
表の左側の列にはIPアドレスが、中央にはMACアドレスが表示されます. テーブルに同じMACアドレスを共有する2つの異なるIPアドレスが含まれている場合、ARPポイズニング攻撃を受けている可能性があります.
例として、ARPテーブルに多数の異なるアドレスが含まれているとします。スキャンすると、2つのIPアドレスが同じ物理アドレスを持っていることがわかります。実際に汚染されている場合は、ARPテーブルに次のようなものが表示される場合があります。
インターネットアドレス物理アドレス
192.168.0.1 00-17-31-dc-39-ab
192.168.0.105 40-d4-48-cr-29-b2
192.168.0.106 00-17-31-dc-39-ab
ご覧のとおり、最初と3番目のMACアドレスの両方が一致しています。これは、192.168.0.106 IPアドレスの所有者が攻撃者である可能性が高いことを示しています.
他のオプション
Wiresharkを使用して、パケットを分析することでARPポイズニングを検出できますが、手順はこのチュートリアルの範囲外であり、おそらくプログラムの経験がある人に任せるのが最善です.
XArpなどの市販のARP中毒検出器により、プロセスが容易になります。 ARPポイズニングの開始時にアラートを送信できるため、攻撃が早期に検出され、被害を最小限に抑えることができます.
ARPポイズニングを防ぐ方法
ARPポイズニングを防ぐために、それぞれ独自の長所と短所を持ついくつかの方法を使用できます。これらには、静的ARPエントリ、暗号化、VPN、およびパケットスニッフィングが含まれます.
静的ARPエントリ
このソリューションには多くの管理オーバーヘッドが伴うため、小規模なネットワークにのみお勧めします。ネットワーク上のすべてのマシンのARPエントリを個々のコンピューターに追加する必要があります.
静的IPおよびMACアドレスのセットでマシンをマッピングすると、マシンがARP応答を無視できるため、スプーフィング攻撃を防ぐのに役立ちます。残念ながら, このソリューションは、より単純な攻撃からのみ保護できます.
暗号化
HTTPSやSSHなどのプロトコルも、ARPポイズニング攻撃が成功する可能性を減らすのに役立ちます。トラフィックが暗号化されている場合、攻撃者はターゲットのブラウザを不正な証明書を受け入れるように仕向ける追加の手順に進む必要があります。しかしながら, これらのプロトコルの外部に送信されるデータは依然として脆弱です。.
VPN
VPNは個人にとって合理的な防御策になりますが、一般的に大規模な組織には適していません。空港で公共のWi-Fiを使用するなど、潜在的に危険な接続を行っているのが1人だけの場合は、 VPNは、クライアントと出口サーバーの間を移動するすべてのデータを暗号化します. 攻撃者は暗号文しか見ることができないので、これはそれらを安全に保つのに役立ちます.
各コンピューターと各サーバー間でVPN接続を確立する必要があるため、組織レベルでは実現不可能なソリューションです。これはセットアップと保守が複雑になるだけでなく、その規模での暗号化と復号化もネットワークのパフォーマンスを妨げるでしょう.
パケットフィルター
これらのフィルターは、ネットワーク経由で送信される各パケットを分析します。彼らはできる 悪意のあるパケットを除外してブロックする, IPアドレスが疑わしいものも同様です。また、パケットフィルターは、パケットが実際に外部から発信されたときに内部ネットワークからのものであると主張するかどうかを判断できるため、攻撃が成功する可能性を減らすことができます。.
ARPポイズニングからネットワークを保護する
ネットワークをARPポイズニングの脅威から保護する場合、最良の計画は、上記の防止ツールと検出ツールの組み合わせです。. 予防方法には、特定の状況で欠陥がある傾向があります, そのため、最も安全な環境でさえ攻撃を受けている可能性があります.
アクティブな検出ツールも用意されている場合は、ARPポイズニングが開始されるとすぐに知ることができます。ネットワーク管理者がアラートを受け取ったらすぐに行動する限り、一般的に 多くの損害が発生する前にこれらの攻撃を停止します.
0x55534CによるARPスプーフィングに基づく画像設計 CC3.0