オフロード対応ミニポート ドライバーのセキュリティ ガイドラインの概要
パフォーマンスを向上させるために、Microsoft TCP/IP トランスポートは、適切な TCP/IP オフロード機能を持つネットワーク インターフェース カード (NIC) にタスクまたは接続をオフロードできます。 オフロードされた TCP/IP ネットワーク通信タスクは、NIC ハードウェアで処理されます。 ミニポート ドライバーは、NIC ハードウェアのさまざまなオフロード機能をオペレーティング システムにアドバタイズし、NIC ハードウェアを構成します。 NIC ハードウェアは、送信および受信ディスパッチ ハンドラー内の送信パケットと受信パケットに対して、アドバタイズされたオフロード タスクを実行します。 ハードウェアは、IP ヘッダー チェックサムの計算などを実行します。
安全な環境を確保するために、ミニポート ドライバーは、NIC ハードウェアが提供できるオフロード機能のみをアドバタイズする必要があります。 ミニポート ドライバーは、アドバタイズされた条件を満たすパケット上でアドバタイズされたタスクをオフロードするハードウェアを構成する必要があります。 送信パスでは、オペレーティング システムは、ミニポート ドライバーがアドバタイズしなかったタスクをオフロードするためにドライバーを必要としません。 受信パスでは、ミニポート ドライバーと NIC は、ミニポート ドライバーがアドバタイズした NIC ハードウェアの機能に含まれていないタスクを実行しないでください。
ミニポート ドライバーまたは NIC が受信パケット上でオフロード タスクを実行できない場合、ミニポート ドライバーは、アクションを実行せずにドライバー スタック上にこのようなパケットを示す必要があります。 この場合、上位ドライバーはパケットを通常のパケットとして処理します。
ミニポート ドライバーは、NIC ハードウェアがサポートしていない機能をアドバタイズしてはいけません。 ミニポート ドライバーは、送信または受信ディスパッチ ハンドラーを使用して、ハードウェアで提供できないオフロード操作のソフトウェア エミュレーションを実行してはいけません。 ミニポート ドライバーがこのようなソフトウェア エミュレーションを提供する場合、ドライバーは、ソフトウェア内のパケット データを検査する必要があります。 ドライバーがソフトウェア内のパケット データを検査すると、コンピューターがセキュリティ攻撃にさらされる可能性があります。
次のトピックでは、セキュリティ攻撃の詳細と NDIS ドライバーのセキュリティの問題を回避する方法について説明します。