0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【セキュリティ】ARP解説:テーブル確認・改修・スプーフィングと対策まとめ

Last updated at Posted at 2025-09-09

1. ARPとは?

ARP(Address Resolution Protocol)は、
IPアドレス ↔ MACアドレスの対応関係を解決するプロトコルです。

  • ネットワーク層(IP)とデータリンク層(Ethernetなど)の橋渡し役
  • LAN内で「このIPは誰?」とブロードキャスト → 該当ホストがMACを返す

イメージ:
IP = 部屋番号
MAC = 顔写真
ARP = 「部屋番号〇〇の人は誰?」と呼びかけて「私です」と返事する仕組み。


2. ARPの仕組み

2.1 基本動作

  1. 送信元PCは、相手のIPは知っているがMACは知らない

  2. ブロードキャストで ARPリクエスト を送信

    「192.168.1.1 は誰? MACを教えて!」

  3. 対応するIPを持つ機器が ARPリプライ を返答

    「192.168.1.1 は私。MACは 00:11:22:33:44:55 です」

  4. 送信元PCはこの情報を ARPキャッシュ(テーブル) に保存し、以降は直接MAC宛に送信


2.2 ARPテーブルの性質

  • 動的エントリ:ARP通信で学習、自動的に追加・削除される(一定時間で消える)
  • 静的エントリ:管理者が手動登録、削除するまで残る

2.3 特殊なARPの動き

Proxy ARP
  • あるIPに対するARPリクエストに、代理でルータが応答する仕組み
  • 利用シーン:サブネットを意識せず通信させたい場合(古いネットワーク環境など)
  • 問題点:セキュリティ上のリスク(偽のProxy ARPによる攻撃に利用され得る)
Gratuitous ARP
  • 「誰かに聞かれていないのに」自分のIPとMACを ブロードキャストで通知する仕組み
  • 利用シーン:
    • IPアドレスの重複検知(同じIPを持つ機器がいたら反応が返る)
    • Failover時のARPキャッシュ更新(HA構成のルータ切替など)
  • 問題点:悪用するとARPスプーフィングの一種に

2.4 ARPパケットのフォーマット(概要)

+---------------------+---------------------+
| ハードウェア種別    | プロトコル種別     |
+---------------------+---------------------+
| ハードウェア長      | プロトコル長       |
+---------------------+---------------------+
| オペレーション(1=Req,2=Rep)             |
+---------------------+---------------------+
| 送信元MACアドレス                        |
+---------------------+---------------------+
| 送信元IPアドレス                         |
+---------------------+---------------------+
| 宛先MACアドレス                          |
+---------------------+---------------------+
| 宛先IPアドレス                           |
+------------------------------------------+

3. ARPテーブル確認・改修(Linux/macOS)

# 確認
arp -a
ip neigh show

# 静的ARP追加
sudo arp -s 192.168.1.1 00:11:22:33:44:55
sudo ip neigh add 192.168.1.1 lladdr 00:11:22:33:44:55 dev en0

# 削除
sudo arp -d 192.168.1.1
sudo ip neigh del 192.168.1.1 dev en0

# 全削除
sudo ip neigh flush all

4. ARPスプーフィングとは?

攻撃者が「私はルータ(ゲートウェイ)のMACだ」と 偽のARP応答 を送り、
被害者のARPテーブルを書き換えて通信を奪う攻撃。

目的:盗聴(Sniffing)、改ざん、通信遮断(DoS)

攻撃例:Man-in-the-Middle (MITM) 攻撃

攻撃フロー図(簡易)

4.1 ARPスプーフィングの実現(実験環境限定)

専用ツール

arpspoof(Kali Linux に入っている dsniff パッケージ)

# Kali Linux (dsniff パッケージ)
sudo arpspoof -i eth0 -t 192.168.1.100 192.168.1.1

→ 被害者 192.168.1.100 に対して「ゲートウェイ(192.168.1.1)は私だよ」と偽装

ettercap
GUI/CLIでARPスプーフィングとMITMを簡単に実現

Python + Scapy(教育用)
from scapy.all import ARP, send

victim_ip = "192.168.1.100"
gateway_ip = "192.168.1.1"

arp_response = ARP(op=2, pdst=victim_ip, hwdst="ff:ff:ff:ff:ff:ff", psrc=gateway_ip)
send(arp_response, loop=1, inter=2)

⚠️ 実ネットワークでは違法行為になるため、必ず 仮想環境やTryHackMeなどの演習環境 でのみ実行してください。


5. ARPスプーフィング阻止の対策

対策 効果 デメリット
静的ARP 大規模環境では管理困難
arpwatch / XArp 検知止まり
Dynamic ARP Inspection 高価スイッチ依存
VPN/TLS暗号化 オーバーヘッド発生
VLAN分離 構成変更が必要
IDS/IPS(Snort等) 導入コスト大

6. IPv6ではARPはどうなる? → NDPへ

IPv6ではARPは廃止され、代わりに Neighbor Discovery Protocol (NDP) が利用されます。

6.1 NDPの役割

  • IPv6アドレス ↔ MACアドレス解決
  • ルータ発見、アドレス自動設定、重複検知なども担当
  • ARPより機能が拡張されている

6.2 ARP vs NDP 比較表

項目 IPv4 (ARP) IPv6 (NDP)
アドレス解決 IP ↔ MAC (ARP Request/Reply) IPv6 ↔ MAC (Neighbor Solicitation/Advert)
通信方式 ブロードキャスト マルチキャスト
追加機能 なし ルータ発見、アドレス自動設定、重複検知
攻撃リスク ARPスプーフィング NDPスプーフィング (同様の脅威あり)

ARPスプーフィング → NDPスプーフィング と、攻撃の形は変わってもリスクは残るため、
IPv6環境でも RA GuardSEND (Secure NDP) などの対策が必要。

6.3 動作フロー比較(ARP vs NDP)

IPv4 ARP フロー
IPv6 NDP フロー

ポイント
  • ARPは ブロードキャスト で全体に聞く
  • NDPは マルチキャスト で必要なノードだけに届ける(効率化)
  • どちらも「問い合わせ → 応答 → 通信開始」の流れ

7. 攻撃と対策の比較(ARP vs NDP)

項目 IPv4 (ARP) IPv6 (NDP)
主な攻撃手法 ARPスプーフィング / ARPポイズニング NDPスプーフィング / Rogue RA(不正ルータ広告)
攻撃の結果 MITM(盗聴・改ざん)、DoS MITM、DoS、偽ルータによるトラフィック誘導
主な検知・防御手段 静的ARP、arpwatch、DAI、VPN/TLS RA Guard、SEND (Secure NDP)、VPN/TLS
ネットワーク機器対策 Dynamic ARP Inspection (DAI) RA Guard、DHCPv6 Guard
家庭LANでの対策 arpwatch + ゲートウェイ固定 + VPN ルータでRA Guardを有効化 + VPN

8. 実践シナリオ別の推奨対策

  • エンタープライズ環境
    • IPv4:Dynamic ARP Inspection (DAI) + DHCP Snooping
    • IPv6:RA Guard + SEND
    • VLANでネットワーク分離、IDS/IPSによる検知
  • 家庭LAN / 小規模環境
    • IPv4:arpwatch で監視、ゲートウェイを静的ARPで固定
    • IPv6:ルータでRA Guardを有効化、VPN/TLSで通信暗号化

まとめ

  • ARPはIPv4で必須、IPv6ではNDPに置き換え
  • どちらも「偽の応答にだまされる」攻撃リスクあり
  • 防御の基本は「制御・監視・暗号化」
  • 企業:DAI / RA Guard / IDS/IPS
  • 家庭:arpwatch / VPN

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?