Stage03で学んだMACアドレステーブルは、容量が無限ではありません。もし誰かが偽物のMACアドレスを大量に送りつけて、テーブルをいっぱいにしてしまったら、スイッチはどうなるでしょうか?
テーブルが溢れたとき、スイッチが「学習・転送・フラッディング」のどの動作に頼らざるを得なくなるか、Stage03の内容を思い出しながら考えてみてください。
L2の世界にも「なりすまし」がある
これまではログインを守るという「装置の玄関」の話でした。しかし攻撃は、玄関だけでなく、スイッチが動くレイヤー2そのものにも仕掛けられます。ちょうど、正面玄関はしっかり施錠していても、裏口の配電盤や郵便受けが無防備だと、そこから侵入されてしまうようなものです。ここでは代表的なL2攻撃と、その対策を見ていきます。
CAMテーブル溢れ攻撃
Stage03で学んだMACアドレステーブル(CAMテーブル)には、実は保存できる件数に上限があります。CAMテーブル溢れ攻撃は、攻撃者が大量の偽のMACアドレスを送りつけてこの上限を超えさせる攻撃です。
テーブルが溢れると、スイッチは新しい正規のフレームの宛先MACを学習できなくなり、宛先が分からないフレームをフラッディング(受け取ったポート以外の全ポートへ送信)せざるを得なくなります。これにより、本来は特定のポートにだけ届くはずの通信が、攻撃者の接続ポートにも流れてしまい、盗聴が可能になります。次のレッスンで学ぶポートセキュリティが、この攻撃への基本的な対策になります。
DHCPスヌーピング
社内ネットワークに、悪意ある(あるいは設定ミスの)不正DHCPサーバーが接続されると、利用者が誤ったIPアドレスやデフォルトゲートウェイを受け取ってしまい、通信が攻撃者経由に誘導されることがあります。これを防ぐのがDHCPスヌーピングです。
DHCPスヌーピングでは、スイッチの各ポートをtrusted(信頼)とuntrusted(非信頼)に分類します。
- trusted: 正規のDHCPサーバーへ接続するポート。DHCPサーバーからの応答(DHCPOFFER・DHCPACKなど)を許可します。
- untrusted: 一般利用者の端末が接続するポート。初期状態はすべてこちらに分類され、DHCPサーバーからの応答を受け取ると破棄します。
こうすることで、一般ユーザーのポートに偽のDHCPサーバーが接続されても、その応答がブロックされ、被害を防げます。
DAI(Dynamic ARP Inspection)
ARPには本来、応答内容の正当性を確認する仕組みがありません。この弱点を突くのがARPスプーフィング(ARPポイズニング)で、攻撃者が偽のARP応答を送り、「このIPアドレスは自分のMACアドレスだ」と周囲に誤認させます。これにより、本来ルーターやサーバーに向かうはずの通信が攻撃者の端末を経由するようになり、中間者攻撃が成立してしまいます。
DAI(Dynamic ARP Inspection)は、DHCPスヌーピングで作られた正規のIP・MACの対応表(バインディングテーブル)を参照し、ARP応答の内容がその対応表と一致するかを検証します。一致しないARP応答は不正とみなして破棄することで、ARPスプーフィングを防ぎます。DAIはDHCPスヌーピングの情報を土台にしているため、通常はDHCPスヌーピングとセットで導入されます。
CAMテーブル溢れ攻撃によってMACアドレステーブルが溢れると、スイッチはどのような動作をせざるを得なくなるでしょうか?
答えを見る
宛先MACアドレスを学習できなくなるため、フレームの宛先が分からないときの動作であるフラッディング(受け取ったポート以外の全ポートへの送信)を行わざるを得なくなります。これにより、本来届かないはずのポートにも通信が流れ、盗聴の危険が生まれます。
試験でのポイント
CCNA試験では、DHCPスヌーピングのtrusted/untrustedの区別と、それぞれのポートでどのメッセージが許可・破棄されるかがよく問われます。「一般ユーザーのポートはuntrustedがデフォルト」という点を押さえておきましょう。また、DAIがDHCPスヌーピングのバインディングテーブルを利用して動作するという依存関係も定番の出題です。CAMテーブル溢れ攻撃とARPスプーフィングは、どちらも「なりすまし・偽装」に関わる攻撃ですが、対象がMACアドレステーブルかARPかという違いを混同しないようにしましょう。
ARPスプーフィング(ARPポイズニング)を防ぐために、DHCPスヌーピングの情報を活用する機能は何でしょうか?
答えを見る
DAI(Dynamic ARP Inspection)です。DHCPスヌーピングで作成された正規のIP・MACの対応表(バインディングテーブル)と照合し、内容が一致しない不正なARP応答を破棄します。
CAMテーブル溢れ攻撃、DHCPスヌーピング(trusted/untrusted)、DAI——スイッチというL2の世界を守る代表的な防御だよ。裏口や配電盤まで気を配る発想、大事だよね。次は、CAMテーブル溢れ攻撃への直接的な対策でもある「ポートセキュリティ」を、実際のIOSコマンドで見ていくよ。