概要

ARPスプーフィングによる中間者攻撃の対策として、Dynamic ARP Inspectionがあります。レイヤ2スイッチでARPメッセージの整合性を検証する機能です。Dynamic ARP Inspectionについて解説します。

ARPの仕組みおよびARPのメッセージフォーマットを詳しく知っておくと理解が深まります。

関連記事

ARPスプーフィングについて、以下の記事もあわせてご覧ください。

ARPの仕組みとメッセージフォーマットについて、以下の記事もあわせてご覧ください。

Dynamic ARP Inspectionとは

Dynamic ARP Inspectionとは、レイヤ2スイッチでARPメッセージの整合性を検証する機能です。Dynamic ARP Inspectionにより、ARPメッセージを偽装してパケットを不正に取得するARPスプーフィングに対抗できます。

ARPによって、IPアドレスとMACアドレスの対応を動的に求めることができます。ただし、ARP自体にIPアドレスとMACアドレスの対応が正しいことを検証するような仕組みは備わっていません。そのため、ARPリプライを偽装するARPスプーフィングの攻撃が成立してしまう可能性があります。

そこで、レイヤ2スイッチでDynamic ARP InspectionによってARPメッセージのIPアドレスとMACアドレスの対応が正しいことをチェックします。そのためには、正しいIPアドレスとMACアドレスの対応がわかっておかなければいけません。Dynamic ARP Inspectionで、ARPメッセージのチェックに利用するための正しいIPアドレスとMACアドレスの情報源は、次の2つです。

  • DHCPスヌーピングバインディングテーブル
  • 手動設定(ARP ACL)

DHCPクライアントのIPアドレスとMACアドレスの対応の整合性をチェックするために、DHCPスヌーピングバインディングテーブルを利用します。つまり、DHCPスヌーピングも有効にしておく必要があります。

そして、スタティックにIPアドレスを設定しているホストについては、IPアドレスとMACアドレスの正しい対応をARP ACLでスタティックに設定します。

図 Dynamic ARP Inspectionの概要
図 Dynamic ARP Inspectionの概要

Dynamic ARP Inspection : ARPメッセージの検証の仕組み

Dynamic ARP InspectionによるARPメッセージ検証の仕組みについて、詳しくみていきましょう。

Trustインタフェース

まず、ARPメッセージを検証するインタフェースを決めます。Dynamic ARP Inspectionの設定のときに、インタフェースを以下の2つに分類します。

  • Trust
  • Untrust

Trustとして設定したインタフェースでは、ARPメッセージの検証を行いません。デフォルトゲートウェイや正規のDHCPサーバが接続されているインタフェースなど攻撃者が接続する可能性がないインタフェースをTrustとして設定します。

Untrustのインタフェースで受信したARPメッセージの内容を検証します。デフォルトは、Untrustです。

図 Dynamic ARP Inspection Trust Untrust
図 Dynamic ARP Inspection Trust Untrust

ARPメッセージの基本チェック

Dynamic ARP InspectionでのARPメッセージの基本的なチェックは、ARPメッセージのSender IP AddressとSender MACアドレスが正しい対応であるかを見ることです。ARPリクエスト、ARPリプライの両方を対象にします。以下の図は、ARPリクエストのチェックを示しています。

図 Dynamic ARP Inspection 基本チェック
図 Dynamic ARP Inspection 基本チェック

この図では、攻撃者がARPリクエストを偽装していることを想定しています。Sender IP:10.1.1.1、Sender MAC:PC-Hackとしています。SW1は、受信したARPメッセージの内容をチェックします。DHCPバインディングテーブルに登録されているIPアドレスとMACアドレスのペアと異なっているので、ARPメッセージを破棄します。また、一致する情報がない場合も破棄します。

送信元MACアドレスのチェック

ARPメッセージのSender MACとイーサネットヘッダの送信元MACアドレスが一致しているかをチェックすることもできます。ARPリクエスト/リプライの両方が対象です。

宛先MACアドレスのチェック

ARPメッセージのTarget MACとイーサネットヘッダの宛先MACアドレスが一致しているかをチェックすることもできます。ARPリプライのみ対象です。

IPアドレスのチェック

ARPメッセージのTarget IPが以下の範囲のIPアドレスであるかをチェックすることもできます。ARPリプライのみ対象です。

  • 1.0.0.0 ~ 126.255.255.255
  • 128.0.0.1 ~ 223.255.255.255

ARPメッセージの制限

Dynamic ARP Inspectionを有効にすると、レイヤ2スイッチはUntrustで受信するARPメッセージをすべてチェックすることになります。そのため、過剰なARPメッセージによってスイッチにかかる負荷が大きくなってしまいます。受信するARPメッセージの数を制限することができます。

まとめ

ポイント

  • Dynamic ARP Inspectionとは、レイヤ2スイッチでARPメッセージの整合性を検証する機能です。
  • DHCPスヌーピングバインディングテーブルまたはスタティック設定による正しいIPアドレスとMACアドレスの対応に基づいてARPメッセージをチェックします。
  • Untrustのインタフェースで受信したARPメッセージをチェック対象とします。TrustインタフェースではARPメッセージをチェックしません。

セキュリティの基礎