SysinternalsユーティリティのSigCheckは、1つ以上のファイルやフォルダー構造に対してセキュリティ関連の機能を実行する、多目的なコンソールユーティリティです。最も重要な役割は、ファイルが信頼できる証明書によってデジタル署名されているかどうかを検証することです。
セキュリティに関連するファイル情報をチェックする
図1で確認できるように、SigCheckはカタログ署名に使用されたカタログファイルや署名者の情報、複数のハッシュアルゴリズムを使用したファイルハッシュの計算、詳細なバージョン情報の表示も可能です。ファイルに埋め込まれたマニフェストの表示や、署名されていないファイルをフォルダーから検索する機能、カンマ区切り値(CSV)形式によるレポート出力にも対応しています。
ファイルに関連付けられたデジタル署名は、ファイルの信頼性と整合性を確認するのに役立ちます。検証された署名は、そのファイルの出所がコード署名証明書の所有者であり、署名されてから変更されていないことを示しています。コード署名証明書によって提供される保証は、次の3点に大きく依存しています。
- 所有者を認証する証明書を発行した証明機関(CA)の信用
- 証明書のプライベートキーを公開していないという証明書の所有者の信用
- および署名を検証するシステムが不正なルートCA証明書のインストールを許さないこと
正当なソフトウェアの提供元の大部分は、ビジネスを遂行し、顧客に安心を提供するためのコストの一部として、VeriSign社やThawte社といった信頼されたCAからコード署名証明書を購入して、顧客のコンピューターに配布するファイルに署名します。正規の発行元と称していながら、有効な証明書が欠如している実行可能ファイルは、疑うべきです。