8. セキュリティに関する考慮事項
UDPとSCTPのセキュリティに関する考慮事項は、参照されているRFCで提供されています。
8.1. プローブ頻度制御
過度な負荷を避けるため、個々のプローブパケット間の間隔は少なくとも1 RTTでなければならず (MUST)、プローブラウンド間の間隔はPMTU_RAISE_TIMERによって決定されます。
8.2. プローブパケット確認の保護
PL送信者は、プローブパケットの受信を確認するために使用される方法が、パス外の攻撃者がパスにパケットを注入することから保護できることを保証する必要があります。この保護は、ランダムに初期化されたシーケンス番号を使用するIETF定義のプロトコル (TCP、SCTPなど) で提供されます。[BCP145]のセクション5.1は、UDPを使用する場合にこれを行う1つの方法の説明を提供しています。
8.3. PTBメッセージの検証
ポリシー、設定、または機器設計により、パケット過大 (PTB) メッセージが配信されない場合があります (セクション1.1参照)。したがって、この方法はPTBメッセージの受信に依存しませんが、送信者がメッセージを受信した場合はそれを利用できます。
PTBメッセージ攻撃からの保護
PTBメッセージは、ノードに不適切にPLPMTUを削減させるために使用される可能性があります。DPLPMTUDをサポートするノードは、PTBメッセージのペイロードを適切に検証して、これらがPL層によって実際に送信されたデータグラムに応答して受信されることを保証する必要があります (MUST) (つまり、実際に送信されたデータグラムに対して発生したエラー状態に対応する、セクション4.6.1参照)。
パス上攻撃の軽減
PTBメッセージを作成できるパス上の攻撃者は、有効な引用IPパケットを含むPTBメッセージを偽造する可能性があります。このような攻撃は、PLPMTUを削減するために使用される可能性があります。パス上のデバイスは同様に、設定されたサイズより大きいパケットをドロップするポリシーを実装することにより、PLPMTUの削減を強制する可能性があります。
軽減方法:
-
ベースライン保護: PL送信者がPTBメッセージの受信のみに応答してベースサイズ以下にPLPMTUを削減しないことを保証します。これは、そのようなメッセージを受信したときに最初にBASE状態に入ることによって達成されます。
-
プローブ検証: PTBメッセージの処理を必要としないように設計されています。PL送信者は、PTBメッセージの処理を中断できます (例えば、後続のプローブがPTB_SIZEより大きいサイズがパスでサポートされていることを実際に確認した後の堅牢性モードで)。
8.4. サービス拒否攻撃からの保護
処理オーバーヘッドの制限
PTBメッセージ内の引用パケットの解析は、PL送信者で追加のパケットごとの処理を導入する可能性があります。この処理は、任意のヘッダーが存在する場合にサービス拒否攻撃を回避するために制限されるべきです (SHOULD)。処理のレート制限により、PLがPTBメッセージを受信しない可能性がありますが、DPLPMTUD方法はそのような損失に対して堅牢です。
ICMPメッセージ処理
ICMPメッセージの成功した処理は、報告されたPTBサイズが有効な場合にプローブをトリガーできますが、これはパスのPLPMTUを直接更新しません。これにより、パスでサポートされているサイズより大きいサイズを示すことによってデータをブラックホール化しようとするメッセージが防止されます。
8.5. パス情報の不安定性
パスに関する情報は不安定である可能性があります。これは、異なる実際のPMTUを持つ複数のパスを介した転送の結果、または変動するPMTUを提示する単一のパスの結果である可能性があります。
軽減: DPLPMTUD実装の設計は、変動するパス情報の影響を軽減する方法を考慮すべきです (SHOULD)。1つの可能な軽減策は、MPSの振動を避けるために方法に堅牢性を提供することです (セクション5.4参照)。
8.6. パディングデータのセキュリティ
DPLPMTUD方法は、データグラムの長さをプローブパケットに必要な合計サイズに膨張させるためにパディングデータを導入できます。プローブパケットの合計サイズには、送信されるペイロードデータに追加されたすべてのヘッダーとパディングが含まれます (AEADタグやTLSレコード層パディングなどのセキュリティ関連フィールドを含む)。パディングデータの値はDPLPMTUD検索アルゴリズムに影響を与えないため、PLのポリシーと一致する方法で設定する必要があります。
暗号化保護要件
PLが暗号化機密性またはデータ整合性メカニズムを使用できる場合、設計は、これらの暗号化メカニズムによって保護されていないものをDPLPMTUDプローブパケットに追加すること (パディングなど) を回避する必要があります。
8.7. セキュリティベストプラクティスの要約
- すべてのPTBメッセージを検証: 使用前にPTBメッセージの発信元と内容を検証します
- 処理レートを制限: PTBメッセージ処理によるリソース枯渇を防ぎます
- プローブ確認を保護: 推測が困難な識別子を使用します
- パディングデータを暗号化: プローブパケット内のすべてのデータが暗号化によって保護されることを保証します
- パスの安定性を監視: パス情報の異常な変化を検出して応答します
- レート制限を実装: プローブパケットの送信頻度を制御します
これらのセキュリティに関する考慮事項により、DPLPMTUDは悪意のある攻撃者が存在する場合でも安全かつ確実に動作できることが保証されます。