VLAN Hopping(VLANホッピング)攻撃とは、攻撃者が本来アクセス権のない VLAN に不正に侵入し、異なるセグメントへ横移動を行う攻撃手法です。 スイッチ環境を用いた企業ネットワークでは、VLAN は最も基本的なセキュリティ境界であり、この攻撃を防ぐための正しい設定は非常に重要です。
本記事では、VLAN Hopping の仕組み・発生原因、代表的な 2つの攻撃手法、そして実務で必ず実装すべき防御設定を体系的に解説します。
1. VLAN Hopping 攻撃とは
VLAN Hopping とは、攻撃者が自分の接続する VLAN から別の VLAN にパケットを送信し、スイッチに誤認識させて他 VLAN へ侵入する攻撃です。 通常 VLAN 間は L3 ルーティングでのみ通信可能ですが、L2 スイッチの設定不備・仕様を悪用することで L2 だけで VLAN を跨ぐことが可能になります。
● VLAN Hopping が危険な理由
- ネットワーク境界(セグメント)を容易に突破される
- L2 の攻撃であるため、FW・ACL では防ぎにくい
- 誤設定が原因のため、検知されず内部から攻撃されやすい
- 成功すると全 VLAN に侵入されるリスクがある
2. VLAN Hopping の代表的な攻撃手法
● (1) スイッチ・トランキング攻撃(Switch Spoofing)
攻撃者が PC をスイッチのように振る舞わせ、DTP (Dynamic Trunking Protocol) を使用した「意図しないトランク自動確立」を悪用する攻撃です。
攻撃の流れ:
- 攻撃者のPCが DTPパケットを送信し、スイッチに「私はトランクポートです」と偽装
- スイッチが誤ってトランクを確立
- 攻撃者は全 VLAN のタグを送信できるようになる
- 結果 → 他VLAN に進入可能
実務では古いスイッチ・誤設定環境で今なお発生します。
● (2) ダブルタグ攻撃(Double Tagging Attack)
VLANタグを「二重」に挿入(Double Tag)したパケットを送信し、スイッチの処理仕様を悪用して別VLANへ入り込む攻撃です。
攻撃の仕組み:
- 攻撃者が VLAN タグを2つ付ける(外側・内側)
- 最初のスイッチが外側のタグのみを削除し転送
- 次のスイッチが “内側のタグ” に従い、ターゲットVLAN に転送
- 結果 → 本来アクセスできない VLAN に侵入成功
この攻撃は、「ネイティブVLAN未設定」「タグなしVLANを許可」の構成で特に有効です。
3. VLAN Hopping 攻撃が起こる原因
- アクセスポートが “動的” にトランクへ変化する状態
- DTP 無効化やトランク固定設定をしていない
- ネイティブ VLAN がデフォルトのまま(VLAN 1)
- ネイティブ VLAN のタグなし通信が許可されている
- 異常な VLAN タグをフィルタリングしていない
- ユーザーポートをトランクとして動作させてしまう設定漏れ
つまり、設定ミスが防げば攻撃の大半を無効化できます。
4. VLAN Hopping 対策(スイッチで行う実務設定)
● (1) アクセスポートは必ず「access」固定にする
interface Gi1/0/10
switchport mode access
switchport access vlan 10
spanning-tree portfast
→ “動的トランク” を防止。
● (2) DTP(Dynamic Trunking Protocol)を完全無効化する
DTPを使うとアクセスポートが自動でトランクになる危険があるため、必ず無効化します。
interface Gi1/0/10
switchport nonegotiate
※ 重要:トランク設定済みポートでも nonegotiate を推奨。
● (3) ネイティブVLANを変更し、タグ付き通信に強制
デフォルトの VLAN 1 をネイティブとして使うのは非常に危険です。
interface Gi1/0/1
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,30
VLAN 999 のように、未使用の VLAN をネイティブVLANに設定するのが実務の鉄板です。 さらに、可能であればネイティブ VLAN も「タグ付き」に強制するのが最善策です。
● (4) トランクポートは「許可VLAN」を厳格に制限
デフォルトでは全VLANが通るため、攻撃面が広がります。
switchport trunk allowed vlan 10,20,30
→ 使っていない VLAN を絶対に通さない。
● (5) BPDU Guard / Root Guard をユーザーポートに適用
L2 攻撃対策の一環として、STP関連の攻撃を防ぐための設定も必須です。
interface Gi1/0/10
spanning-tree portfast
spanning-tree bpduguard enable
BPDU Guard によって攻撃者のスイッチ接続を無効化できます。
● (6) VLAN 1 を管理・データ用に「絶対に使わない」
- ネイティブ VLAN になりやすい
- 管理VLANとして狙われやすい
- Cisco 機器では多くが VLAN1 をデフォルトに使おうとする
VLAN 1 は無効化または隔離し、必ず別の管理 VLAN(例:VLAN 100, 200)を定義すること。
● (7) Private VLAN / Port Isolation を活用
攻撃者同士が同一 VLAN 内で水平移動(Lateral Movement)するのを防ぐために有効です。
- 同一 VLAN 内のホスト間の通信を拒否
- ゲストWiFi、監視カメラ、入退室装置などの隔離に効果的
● (8) 802.1X / MAB によるポート認証を導入
不正デバイスがユーザーポートに接続されること自体を防ぐ手段として、認証ベースのアクセス制御が有効です。
- 802.1X(端末証明書)
- MAB(MAC 認証)
→ VLAN Hopping 自体を “入り口で” 防ぐ強固な対策。
5. 実務でよくある誤設定パターン
以下のような環境は VLAN Hopping の温床になります。
- ユーザーポートが “dynamic auto” のまま
- ネイティブ VLAN が VLAN 1 のまま
- トランクで allowed VLAN を絞っていない
- DTP を無効化していない
- BPDU Guard が未設定
- 管理VLAN が VLAN 1
- 無線APやIP電話がトランクに接続されている
このような誤設定は現場でも非常に多く、攻撃が成功する大きな要因となります。
6. VLAN Hopping 防御構成テンプレート(Cisco例)
以下は現場でよく利用される最適構成テンプレートです。
! --- アクセスポート
interface Gi1/0/10
description User Port
switchport mode access
switchport access vlan 10
switchport nonegotiate
spanning-tree portfast
spanning-tree bpduguard enable
! --- トランクポート
interface Gi1/0/1
description Uplink to Core
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,30,999
switchport nonegotiate
7. まとめ
VLAN Hopping は VLAN を使うネットワークで必ず考慮すべきセキュリティリスクであり、設定不備によって簡単に成立してしまう攻撃です。 しかし、正しく対策すればほぼ 100% 防ぐことができます。
- アクセスポートは必ず access 固定
- DTP 無効化(nonegotiate)は絶対
- ネイティブ VLAN は VLAN1 から変更し、タグ付き強制
- トランクは許可 VLAN を厳格に制限
- BPDU Guard / Root Guard を併用
- VLAN1 を使わない(管理VLANは別で設計)
- 802.1X/MAB で不正端末接続を防ぐ
これらの対策はすべて企業ネットワークで必須の設定であり、導入することで VLAN セグメント間の境界を強固に保護できます。



