6. Security Considerations (セキュリティの考慮事項)
このセクションでは, PIM-SM プロトコルに関連するさまざまな可能性のあるセキュリティ上の懸念について説明します。PIM-SM およびマルチキャストセキュリティのさらなる議論については, [8], [14], および [15] を参照してください。
PIM は PIM の外部で設定される MRIB に依存していることに注意してください; したがって, MRIB への変更のソースを保護することが推奨されます (RECOMMENDED)。
6.1. Attacks Based on Forged Messages (偽造メッセージに基づく攻撃)
可能な損害の程度は, 受け入れられる偽造メッセージのタイプによって異なります。次に, 偽造リンクローカルメッセージ (Join/Prune, Hello, および Assert) および偽造ユニキャストメッセージ (Register および Register-Stop) を含む, 可能な偽造の影響を考察します。
6.1.1. Forged Link-Local Messages (偽造リンクローカルメッセージ)
Join/Prune, Hello, および Assert メッセージはすべてリンクローカル ALL-PIM-ROUTERS マルチキャストアドレスに送信されるため, 準拠ルーターによって転送されません。このタイプの偽造メッセージは, ローカルホストによって送信されるか, 侵害された非準拠ルーターによって LAN に許可された場合にのみ LAN に到達できます。
-
偽造された Join/Prune メッセージは, 正当なリクエスタがないリンクにマルチキャストトラフィックが配信される原因となり, そのリンクで帯域幅を浪費する可能性があります。マルチアクセス LAN での偽造された leave メッセージは, 通常 PIM において重大な攻撃ではありません。なぜなら, LAN 上の正当に参加しているルーターは, 上流ルーターが LAN へのデータの転送を停止する前に, join で leave を上書きするからです。
-
Hello メッセージを偽造することにより, 無許可のルーターは LAN 上で指定ルーター (Designated Router) として自身を選出させることができます。LAN 上の指定ルーター (アサートがない場合) は, ローカルメンバーに代わって LAN へのトラフィック転送を担当します。指定ルーターはまた, LAN 上のホストから発信されたパケットを RP に Register カプセル化する責任があります。したがって, ローカルホストがマルチキャストトラフィックを送受信する能力は, 偽造された Hello メッセージによって損なわれる可能性があります。
-
マルチアクセス LAN 上で Assert メッセージを偽造することにより, 攻撃者は正当な指定フォワーダーに LAN へのトラフィック転送を停止させる可能性があります。このような偽造は, その LAN の下流にあるホストがトラフィックを受信することを妨げます。
6.1.2. Forged Unicast Messages (偽造ユニキャストメッセージ)
Register メッセージと Register-Stop メッセージは, 中間ルーターによって通常の IP 転送を使用して宛先に転送されます。データ発信元認証がない場合, ネットワーク内のどこかに位置する攻撃者は Register または Register-Stop メッセージを偽造できる可能性があります。次に, これらのメッセージそれぞれの偽造の影響を考察します。
-
Register メッセージを偽造することにより, 攻撃者は RP に偽造トラフィックを共有マルチキャストツリーに注入させることができます。
-
Register-Stop メッセージを偽造することにより, 攻撃者は正当な DR がパケットを RP に登録することを妨げることができます。これは, その LAN 上のローカルホストがマルチキャストパケットを送信することを妨げる可能性があります。
上記の 2 つの PIM メッセージは中間ルーターによって変更されず, 意図された受信者によってのみ検査される必要があります。したがって, これらのメッセージはエンドツーエンドで認証できます。Register および Register-Stop メッセージへの攻撃は, PIM-SSM のみの実装には適用されません。これらのメッセージは PIM-SSM に必要ないためです。
6.2. Non-cryptographic Authentication Mechanisms (非暗号化認証メカニズム)
PIM ルーターは, Join/Prune, Assert, および Hello メッセージを受け入れるネイバーのセットを制限するオプションを提供すべきです (SHOULD)。IP アドレスの静的設定または IPsec セキュリティアソシエーションのいずれかを使用できます。さらに, PIM ルーターは, 有効な Hello メッセージをまだ受信していないルーターからのプロトコルメッセージを受け入れるべきではありません (SHOULD NOT)。
指定ルーターは, パケットの送信元アドレスがパケットを受信したサブネットの正当なアドレスでない限り, パケットを Register カプセル化して RP に送信してはなりません (MUST NOT)。同様に, 指定ルーターは, IP 送信元アドレスがローカルドメインの有効な RP アドレスでない Register-Stop パケットを受け入れるべきではありません (SHOULD NOT)。
実装は, RP が Register カプセル化パケットを受け入れる送信元アドレスの範囲を制限できるメカニズムを提供すべきです (SHOULD)。
パケットを受け入れるアドレスの範囲を制限するすべてのオプションは, デフォルトですべてのパケットを許可しなければなりません (MUST)。
6.3. Authentication (認証)
この文書は RFC 5796 [8] を参照しています。これは, IPsec カプセル化セキュリティペイロード (Encapsulating Security Payload, ESP) または (オプションで) 認証ヘッダー (Authentication Header, AH) を使用して PIM-SM リンクローカルメッセージを認証するメカニズムを指定しています。また, 非リンクローカルの PIM-SM メッセージ (つまり Register および Register-Stop メッセージ) は, 2 つの通信者間の通常のユニキャスト IPsec セキュリティアソシエーション (Security Association, SA) によって保護できることを指摘しています。
6.4. Denial-of-Service Attacks (サービス拒否攻撃)
偽の PIM プロトコルメッセージを生成するか, 偽のトラフィックを生成することによって引き起こされる可能性のある, PIM に対するサービス拒否攻撃がいくつかあります。PIM プロトコルトラフィックを認証することで, これらの攻撃の一部 (すべてではない) を防ぐことができます。可能な攻撃のうちの 2 つには, 次のものが含まれます:
-
多数の異なるグループアドレスに迅速にパケットを送信することは, それ自体がサービス拒否攻撃になる可能性があります。これにより, 多数の Register カプセル化パケットが発生し, DR, RP, および DR と RP 間のルーターに負荷がかかります。
-
偽の Join メッセージはマルチキャストツリーが構築される原因となる可能性があります。多数の偽の join はルーターのリソースを消費し, サービス拒否につながる可能性があります。