Windows Defender アプリケーションコントロールで追加の制御と保護にコード署名を使用する

Windows Defender アプリケーションコントロールの一部の機能は、特定の Windows バージョンでのみ使用できます。 詳細については、「アプリケーション制御機能の可用性Windows Defender」を参照してください。

コード署名とは何か、なぜ重要なのですか?

コード署名は、アプリケーション制御 (WDAC) などのアプリケーション セキュリティ機能Windows Defender重要な利点を提供します。 最初に、署名されてから、コードの実行が許可される前に、ファイルが改ざんされていないことを暗号化的に検証できます。 次に、ファイルを会社や個々の開発者などの実際の ID に関連付けます。 この ID を使用すると、ポリシーの信頼に関する決定が容易になり、コード署名が悪用されたり、悪意を持って使用されたりした場合の実際の結果が可能になります。 Windows では、ソフトウェア開発者がコードにデジタル署名する必要はありませんが、ほとんどの主要な独立系ソフトウェア ベンダー (ISV) は、コードの大部分にコード署名を使用します。 開発者がファイルのリソース ヘッダーに含むメタデータ (。OriginalFileName や ProductName などの RSRC をファイルの署名証明書と組み合わせて、信頼の決定範囲を制限できます。 たとえば、Microsoft によって署名されたすべてを許可する代わりに、ProductName が "Microsoft Teams" である Microsoft によって署名されたファイルのみを許可するように選択できます。 次に、他のルールを使用して、実行する必要がある他のファイルを承認します。

可能な限り、すべてのアプリ バイナリとスクリプトがアプリの受け入れ条件の一部として署名されているコードである必要があります。 また、内部基幹業務 (LOB) アプリ開発者が、organizationによって制御されるコード署名証明書にアクセスできることを確認する必要があります。

カタログ署名

アプリ バイナリとスクリプトは、通常、埋め込み署名またはカタログ署名です。 埋め込み署名はファイル自体の一部となり、コピーまたは移動された場所でファイルと共に実行されます。 一方、カタログ署名は個々のファイルからデタッチされます。 代わりに、署名する 1 つ以上のファイルのハッシュ値を含む別の "カタログ ファイル" が作成されます。 このカタログ ファイルはデジタル署名され、署名を存在させる任意のコンピューターに適用されます。 署名付きカタログにハッシュ値が含まれるファイルは、カタログ ファイルから署名を継承します。 ファイルには、埋め込み署名とカタログ署名の組み合わせを含む複数の署名が含まれる場合があります。

カタログ ファイルを使用すると、元のソース ファイルへのアクセスを必要とせず、高価な再パッケージ化を行わずに、既存のアプリケーションに署名を簡単に追加できます。 ISV が直接署名するすべての署名を直接信頼したくない場合は、カタログ ファイルを使用して独自の署名を ISV アプリに追加することもできます。 次に、署名されたカタログとアプリをすべてのマネージド エンドポイントにデプロイするだけです。

カタログはハッシュで署名するファイルを識別するため、ファイルを変更すると署名が無効になる可能性があります。 アプリケーションが更新されるたびに、更新されたカタログ署名をデプロイする必要があります。 一般に、コード署名をアプリ開発プロセスまたはアプリデプロイ プロセスと統合するのが最善の方法です。 アプリバイナリは知識がなくても変更される可能性があるため、自己更新アプリに注意してください。

既存のアプリのカタログ ファイルを作成および管理する方法については、「アプリケーションコントロールWindows Defenderサポートするカタログ ファイルをデプロイする」を参照してください。

署名済み WDAC ポリシー

WDAC ポリシーは XML ドキュメントとして開始されますが、デプロイの前にバイナリでエンコードされたファイルに変換されます。 このバイナリ バージョンのポリシーは、他のアプリケーション バイナリと同様にコード署名することができ、署名されたコードに対して上記と同じ利点の多くを提供します。 さらに、署名されたポリシーは WDAC によって特別に扱われ、管理者ユーザーによるポリシーの改ざんや削除から保護するのに役立ちます。

署名付きポリシーの使用の詳細については、「署名付きポリシーを使用して、改ざんからアプリケーション制御Windows Defender保護する」を参照してください。

独自の用途でコード署名証明書を取得する

独自の用途でコード署名証明書を取得する方法には、次のようなものがあります。