マイクロソフトが実行可能ファイルの署名の代わりにデジタル署名カタログを使用するのはなぜですか?



Why Does Microsoft Use Digital Signature Catalog Instead Signature Executable



解決:

カタログファイルは、実際にはWindows 2000 / XP以降に存在しています。これらは、すべての単一のバイナリに署名するのではなく、1つの署名をカタログファイルに添付するため、単一のバイナリに署名する代わりになります。どちらを使用しても同じ効果が得られますが、ファイルの大規模なコレクションにはカタログファイルの方が効率的です。

Microsoftは通常、サードパーティのバイナリからのハッシュをカタログファイルに含めません。ただし、それらがOSまたはMicrosoftアプリケーションの一部として含まれていて、それらのファイルに署名する意思がある場合を除きます。これに対する例外は、この投稿で説明されているWindows10のカーネルモードドライバーです。サードパーティがMicrosoftが署名したファイルを、再度署名せずに変更する可能性はほとんどありません。




'WHY'には、他にも興味深い利点がいくつかあります。

  1. 実行可能ファイル以外の署名をカタログ化できます。 inf、iniなど...埋め込みAuthenticode署名では不可能です。 PE以外のファイルが改ざんされていないことを確認したい場合があります。



  2. システムAでバイナリを取得してシステムBにコピーする場合、必要なカタログがない場合は署名が壊れます。これは、ユーザー入力を伴う特定のクラスのエクスプロイトを防ぐのに役立ちます。