次の方法で共有


付録1: カーネル デバッグ モードでのカーネル モード署名検証の適用

カーネル デバッグ モードでのカーネルモードの署名の検証の適用

『Installing an Unsigned Driver during Development and Test』からの抜粋:

場合によっては、カーネル デバッガーがアタッチされているときに、開発者が読み込み時署名の適用を有効にする必要がある場合があります。 たとえば、ドライバー スタックに、読み込みに失敗する署名されていないドライバー (フィルター ドライバーなど) があり、スタック全体が無効になる場合があります。 デバッガーをアタッチすると、署名されていないドライバーを読み込めるので、デバッガーがアタッチされるとすぐに問題が消えます。 この種の問題のデバッグは困難な場合があります。

このような状況のデバッグを容易にするために、カーネル モード コード署名ポリシーでは、次のレジストリ値がサポートされています。

HKLM\SYSTEM\CurrentControlSet\Control\CI\DebugFlags

このレジストリ値はREG_DWORD型であり、次の 1 つ以上のフラグのビットごとの OR に基づいて値を割り当てることができます。

0x00000001

このフラグ値は、ドライバーが署名されていない場合にデバッガーに分割するカーネルを構成します。 その後、開発者またはテスト担当者は、デバッガープロンプトで「g」と入力して、署名されていないドライバーを読み込むことができます。

0x00000010

このフラグ値は、デバッガーの存在を無視し、常に署名されていないドライバーの読み込みをブロックするようにカーネルを構成します。

このレジストリ値がレジストリに存在しない場合、または前に説明したフラグに基づいていない値がある場合、カーネルは、ドライバーが署名されているかどうかに関係なく、常にカーネル デバッグ モードでドライバーを読み込みます。

注 : このレジストリ値は、既定ではレジストリに存在しません。 カーネル モード署名検証をデバッグするには、値を作成する必要があります。