ELAM ドライバー提出プロセス

次の手順を使用して、早期起動マルウェア対策 (ELAM) ドライバーを提出することができます。

  1. ドライバーが ELAM ドライバーの文書化された要件に準拠していることを確認します。 詳細については、「ELAM ドライバーの要件」および「INF SignatureAttributes セクション」を参照してください。

  2. ハードウェア ロゴ キット (HLK) とハードウェア認定キット (HCK) を使用して、ドライバーを検証します。 ドライバーを Windows 8 と Windows 10 の両方で使用する場合は、両方のバージョンのキットを実行する必要があります。 提出物に結果を含めます。 詳細については、「HLK ツールのテクニカル リファレンス」を参照してください。 必要な HCK テストの詳細については、以下を参照してください。

  3. ドライバー署名ポリシー」トピックに記載されているカーネル モード ドライバー署名ポリシーに従います。

  4. Windows ハードウェア デベロッパー センターで、評価のために、ドライバー パッケージを提出します。

各ドライバー .sys ファイルは、早期起動 AM ドライバーであることを示す特別な証明書を使用して、Microsoft によってコード署名されている必要があります。

AM ドライバーは 1 つのバイナリである必要があります (他の DLL をインポートしないでください)。

ハードウェア認定キットのテスト

Windows 10 より前のオペレーティング システムを対象とする各ドライバーは、ISV によって管理される次の HCK テストに合格する必要があります。

性能テスト

  • コールバックのレイテンシー - 各早期起動 AM ドライバーは、カーネルからドライバー バリデーション コールバックを .5 ミリ秒以内に返す必要があります。 この時間は、カーネルがドライバーにコールバックを発行してから、ドライバーがコールバックを返すまで測定されます。
  • メモリ割り当て - 各早期起動 AM ドライバーは、ドライバー イメージとその構成 (署名) データの両方について、メモリ内のフットプリントを 128 KB に制限する必要があります。
  • アンロード ブロック - 各早期起動 AM ドライバーは、最後のブート ドライバーが初期化された後、AM ドライバーがアンロードされることを示す同期コールバックを受け取ります。 AM ドライバーは、これを "クリーンアップ" を実行し、ランタイム AM ドライバーで使用できる状態情報を保存する必要があることを示すために使用できます。 ただし、早期起動 AM ドライバーは、ドライバーをアンロードし、ブートを続行するためのコールバックを返す必要があります。
  • 署名データ テスト - 各早期起動 AM ドライバーは、マルウェアの署名データを 1 つの既知の場所から取得し、他の場所から取得する必要はないようにする必要があります。 これにより、Windows によるそのデータの測定と保護が可能になります。 このテストでは、各 AM ドライバーが、そのドライバー用に作成されたレジストリ ハイブから、構成データのみを読み取ることを確認します。
  • バックアップ ドライバー テスト - 早期起動 AM ドライバーは、インストール時に、ドライバーのバックアップ コピーを、バックアップ ドライバー ストアにインストールする必要があります。 この要件は、プライマリ ドライバーが破損した場合の修復に役立ちます。 このテストでは、インストールされている早期起動 AM ドライバーに対応するドライバーが、バックアップ ストアにあることを確認します。