Microsoft セキュリティ アドバイザリ 2915720

Windows Authenticode 署名検証の変更

公開日: 2013 年 12 月 10 日 |更新日: 2014 年 7 月 29 日

バージョン: 1.4

一般情報

概要

Microsoft は、Windows Authenticode 署名形式で署名されたバイナリの署名の検証方法を変更するために、サポートされているすべてのリリースの Microsoft Windows の更新プログラムの提供を発表しています。 この変更はセキュリティ情報 MS13-098 に含まれていますが、有効になるのはオプトインベースのみです。 有効にすると、Windows Authenticode 署名検証の新しい動作では、WIN_CERTIFICATE構造内の余分な情報が許可されなくなり、Windows は非準拠バイナリを署名済みとして認識しなくなります。 この動作は、Microsoft Windows の今後のリリースで既定の動作になる可能性があることに注意してください。

推奨。 実行可能ファイルの作成者は、WIN_CERTIFICATE構造に余分な情報が含まれていることを確認して、署名されたすべてのバイナリを新しい検証標準に準拠することを検討することをお勧めします。 また、お客様は、環境での動作を評価するために、この変更を適切にテストすることをお勧めします。 詳細については、 このアドバイザリの「推奨されるアクション」 セクションを参照してください。

アドバイザリの詳細

問題のリファレンス

この問題の詳細については、次のリファレンスを参照してください。

参考文献 [識別]
セキュリティ情報 MS13-098 
一般情報 コード署名 \ WinVerifyTrust 関数 \ Authenticode ポータブル実行可能署名形式の概要
特定の情報 Windows ルート証明書プログラム - 技術要件

アドバイザリに関する FAQ

アドバイザリの範囲は何ですか? 
このアドバイザリの目的は、Microsoft Windows が Authenticode で署名されたバイナリを検証する方法に関するオプションの変更を顧客に通知することです。

なぜこの勧告は2014年7月29日に改訂されたのですか?
このアドバイザリは、2014 年 7 月 29 日に改訂され、ここで説明するより厳密な Windows Authenticode 署名検証動作がオプトインベースで有効になり、サポートされている Microsoft Windows のリリースでは既定の動作が行われないことを通知しました。

Microsoft は、より厳密な Windows Authenticode 署名検証動作をどのように実装しますか?
2013 年 12 月 10 日、Microsoft はセキュリティ情報 MS13-098 をリリースし、より厳密な Authenticode Signature 検証動作の基になるコードを展開しました。 以前、このアドバイザリは、2014 年 8 月 12 日までに、Microsoft が MS13-098既定の機能として実装した変更を有効にすることを発表しました。 しかし、この変更に適応するためにお客様と協力して、既存のソフトウェアへの影響が大きい可能性があると判断しました。 そのため、Microsoft では、より厳密な検証動作を既定の要件として適用する予定はなくなりました。 ただし、より厳密な検証を行う基になる機能メインが用意されており、お客様の判断で有効にすることができます。

新しい署名検証動作を有効にする方法 
新しい Authenticode 署名検証動作を有効にしたいお客様は、システム レジストリでキーを設定することでこれを行うことができます。 キーが設定されている場合、Windows Authenticode 署名検証では、WIN_CERTIFICATE構造体に余分な情報を含む Authenticode 署名を持つバイナリが認識されなくなります。 お客様は、このレジストリ キーを無効にすることで、いつでも機能を無効にすることができます。 手順については、 以下の「推奨されるアクション」 を参照してください。

この変更を有効にしました。既定では適用されないので、何かする必要がありますか?  より厳密な検証動作を既に有効にしており、問題が発生していないお客様は、検証動作を有効のままにすることができます。 新しい動作でアプリケーションの互換性の問題が発生しているお客様、または新しい動作を無効にしたいだけのお客様は、EnableCertPaddingCheck レジストリ キーを削除することで機能を無効にすることができます。 手順については、 以下の「推奨されるアクション」 を参照してください。

この変更を有効にしませんでしたが、既定では適用されないので、何かする必要がありますか?
いいえ。 MS13-098 と共にインストールされたより厳密な検証動作はシステム上に存在しますが、有効になるまで休止状態の機能になります。

新しい検証動作は、既にインストールされているソフトウェアに影響しますか?
新しいより厳密な検証動作は、有効にすると、主に Windows Authenticode 署名形式で署名されたポータブル実行可能 (PE) バイナリに適用されます。 この形式で署名されていないバイナリ、または WinVerifyTrust を使用して署名が新しい動作の影響を受けないことを確認しないバイナリ。 影響を受ける可能性が最も高いバイナリは、ダウンロード時にカスタマイズされたインターネット経由で配布される PE インストーラー ファイルです。 ユーザーが影響を受ける可能性がある最も一般的なシナリオは、新しいアプリケーションのダウンロードとインストール中です。 これは、お客様がより厳密な検証動作を有効にすることを選択した場合にのみ発生します。その後、検証に失敗した署名を含む新しいアプリケーションをインストールしようとすると、ユーザーが警告メッセージを観察する可能性があります。

新しい検証動作は AppLocker ポリシーに影響しますか?
より厳密な検証動作を有効にすることを選択したお客様の場合、署名されているファイルに依存する AppLocker 規則、または特定の発行元を想定している AppLocker 規則は、ファイルの署名がより厳密な Authenticode 署名検証要件を満たしていない場合に影響を受ける可能性があります。

新しい検証動作はソフトウェア制限ポリシーに影響しますか?
より厳密な検証動作を有効にすることを選択したお客様の場合、ファイルの署名に依存するソフトウェア制限ポリシー、または特定の発行元を想定しているソフトウェア制限ポリシーは、ファイルの署名がより厳密な Authenticode 署名検証要件を満たしていない場合に影響を受ける可能性があります。

新しいより厳密な検証動作では、バイナリが非準拠と見なされます。 自分のオプションは何ですか。
バイナリがより厳密な Authenticode 署名検証動作に準拠していないと見なされた場合、Microsoft は既定で厳格な動作を適用していないため、新しい検証動作が有効になっていないシステムでは問題になりません。 ただし、新しい検証動作が有効になっているシステムでバイナリ検証が失敗する問題を修正するには、そのバイナリを Windows Authenticode Signature 形式に厳密に準拠して再署名する必要があり、特にWIN_CERTIFICATE構造に余分な情報を含めないようにする必要があります。

Microsoft が提供していない署名ツールを使用して署名した場合、署名がより厳密な検証プロセスに準拠していないと認識される可能性はありますか。
はい。 お客様がより厳密な検証動作を有効にすることを選択した場合、Microsoft が提供していない署名ツールを使用してバイナリに署名すると、署名がより厳密な検証動作に準拠していないと認識されるリスクが発生します。 Microsoft 製品または Microsoft が提供する署名ツール (signtool.exe など) を使用すると、署名が準拠していると認識されます。

Windows Authenticode とは 
Windows Authenticode は、ソフトウェア バイナリの配信元と整合性を判断するために使用されるデジタル署名形式です。 Authenticode では、公開キー暗号化標準 (PKCS) #7 の署名付きデータと X.509 証明書を使用して、Authenticode で署名されたバイナリをソフトウェア発行元の ID にバインドします。 "Authenticode signature" という用語は、WinVerifyTrust 関数を使用して生成および検証されるデジタル署名形式を指します。

Windows Authenticode 署名の検証とは
Windows Authenticode 署名の検証は、指定されたオブジェクトに対する署名チェックと信頼の検証という 2 つの主要なアクティビティで構成されます。 これらのアクティビティは WinVerifyTrust 関数によって実行され、署名チェック実行され、アクション識別子をサポートする信頼プロバイダー (存在する場合) に問い合わせが渡されます。 WinVerifyTrust 関数に関する詳細情報については、WinVerifyTrust 関数を参照してください

Authenticode の概要については、「コード署名の概要」を参照してください

推奨されるアクション

  • Microsoft ルート証明書プログラムの技術的要件を確認する

    このアドバイザリで説明されているトピックの詳細について学習することに関心があるお客様は、Windows ルート証明書プログラム - 技術要件を確認する必要があります。

  • バイナリ署名プロセスの変更

    Authenticode 署名検証動作の変更の基になる技術的な詳細を確認した後、お客様は Authenticode 署名にWIN_CERTIFICATE構造に余分な情報が含まれていないことを確認することをお勧めします。 また、実行可能ファイルの作成者は、Authenticode で署名されたバイナリを新しい検証標準に準拠することを検討することをお勧めします。 バイナリ署名プロセスを変更し、新しい動作を有効にしたい作成者は、オプトインベースで行うことができます。 ガイダンスについては、「Windows ルート証明書プログラム - 技術要件」を参照してください

  • Authenticode 署名検証の改善をテストする

    完全に実装する前に、Authenticode 署名検証に対するこの変更が環境内でどのように動作するかをテストすることをお勧めします。 Authenticode 署名の検証の機能強化を有効にするには、レジストリを変更して、以下の詳細に従って EnableCertPaddingCheck 値を追加します。

    警告 MS13-098 更新プログラムに含まれる機能の変更を有効にするには、次の手順を実行すると、準拠していないバイナリが署名されていないように見え、したがって、信頼されていないバイナリが表示されます。

    レジストリ エディターを正しく使用しない場合は、オペレーティング システムを再インストールする必要がある重大な問題が発生する可能性があります。 レジストリ エディターの不適切な使用によって生じた問題については、解決を保証できません。 リスクを理解した上でレジストリ エディターを使用してください。

    MS13-098 更新プログラムをインストールした後、次の操作を行います。

    32 ビット バージョンの Microsoft Windows の場合

    メモ帳などのテキスト エディターに次のテキストを貼り付けます。 次に、.regファイル名拡張子 (たとえば、enableAuthenticodeVerification.reg) を使用してファイルを保存します。

    Windows Registry Editor Version 5.00  
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config]   
    "EnableCertPaddingCheck"="1"  
    

    この.regファイルは、ダブルクリックして個々のシステムに適用できます。

    注: 変更を有効にするには、システムを再起動する必要があります。

    64 ビット バージョンの Microsoft Windows の場合

    メモ帳などのテキスト エディターに次のテキストを貼り付けます。 次に、.regファイル名拡張子 (たとえば、enableAuthenticodeVerification64.reg) を使用してファイルを保存します。

    Windows Registry Editor Version 5.00  
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config]   
    "EnableCertPaddingCheck"="1"
    
    [HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config] 
    "EnableCertPaddingCheck"="1"
    

    この.regファイルは、ダブルクリックして個々のシステムに適用できます。

    注: 変更を有効にするには、システムを再起動する必要があります。

    MS13-098 更新プログラムに含まれる機能変更を有効にした場合の影響。 準拠していないバイナリは符号なしとして表示されるため、信頼されていないバイナリがレンダリングされます。

    機能を無効にする方法。 以前に追加したレジストリ値を削除するには、次の操作を実行します。

    32 ビット バージョンの Microsoft Windows の場合は、次のテキストを メモ帳 などのテキスト エディターに貼り付けます。 次に、.reg ファイル名拡張子 (たとえば、disableAuthenticodeVerification.reg) を使用してファイルを保存します。

    Windows Registry Editor Version 5.00  
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config]   
    "EnableCertPaddingCheck"=-
    

    この.regファイルは、ダブルクリックして個々のシステムに適用できます。

    注: 変更を有効にするには、システムを再起動する必要があります。

    64 ビット バージョンの Microsoft Windows の場合は、次のテキストを メモ帳 などのテキスト エディターに貼り付けます。 次に、.regファイル名拡張子 (たとえば、disableAuthenticodeVerification64.reg) を使用してファイルを保存します。

    Windows Registry Editor Version 5.00  
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config]   
    "EnableCertPaddingCheck"=-
    
    [HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config]   
    "EnableCertPaddingCheck"=-
    

この.regファイルは、ダブルクリックして個々のシステムに適用できます。

注: 変更を有効にするには、システムを再起動する必要があります。

その他の推奨されるアクション

  • PC を保護する

    ファイアウォールの有効化、ソフトウェア更新プログラムの取得、ウイルス対策ソフトウェアのインストールに関する Microsoft のコンピューター保護ガイダンスに従うことをお客様に引き続きお勧めします。 詳細については、「Microsoft セーフty & Security Center」を参照してください

  • Microsoft ソフトウェアを最新の状態に保つ

    Microsoft ソフトウェアを実行しているユーザーは、コンピューターが可能な限り保護されていることを確認するために、最新の Microsoft セキュリティ更新プログラムを適用する必要があります。 ソフトウェアが最新かどうかわからない場合は、Microsoft Update にアクセスし、コンピューターで利用可能な更新プログラムをスキャンし、提供されている優先度の高い更新プログラムをインストールします。 自動更新を有効にして、Microsoft 製品の更新プログラムを提供するように構成している場合、更新プログラムはリリース時に配信されますが、インストールされていることを確認する必要があります。

その他の情報

Microsoft Active Protections Program (MAPP)

お客様のセキュリティ保護を強化するために、Microsoft は、毎月のセキュリティ更新プログラムのリリースの前に、主要なセキュリティ ソフトウェア プロバイダーに脆弱性情報を提供します。 セキュリティ ソフトウェア プロバイダーは、この脆弱性情報を使用して、ウイルス対策、ネットワークベースの侵入検出システム、ホストベースの侵入防止システムなどのセキュリティ ソフトウェアまたはデバイスを介して、お客様に更新された保護を提供できます。 セキュリティ ソフトウェア プロバイダーからアクティブな保護を利用できるかどうかを判断するには、Microsoft Active Protections Program (MAPP) パートナーに記載されているプログラム パートナーによって提供されるアクティブな保護 Web サイトを参照してください。

フィードバック

  • Microsoft のヘルプとサポートフォーム、カスタマー サービスのお問い合わせフォームに入力することで、 フィードバックを提供できます。

サポート

  • 米国およびカナダのお客様は、セキュリティ サポートからテクニカル サポート受けることができます。 詳細については、Microsoft のヘルプとサポートを参照してください
  • 海外のお客様は、現地の Microsoft 子会社からサポートを受けることができます。 詳細については、国際サポートを参照してください。
  • Microsoft TechNet Security は、Microsoft 製品のセキュリティに関する追加情報を提供します。

免責情報

このアドバイザリで提供される情報は、いかなる種類の保証もなく「現状のまま」提供されます。 Microsoft は、商品性と特定の目的に対する適合性の保証を含め、明示または黙示を問わず、すべての保証を放棄します。 Microsoft Corporation またはそのサプライヤーは、Microsoft Corporation またはそのサプライヤーがこのような損害の可能性について通知された場合でも、直接的、間接的、付随的、派生的、ビジネス上の利益の損失、または特別な損害を含む一切の損害について一切の責任を負いません。 一部の州では、派生的損害または付随的損害に対する責任の除外または制限が認められていないため、前述の制限は適用されない場合があります。

リビジョン

  • V1.0 (2013 年 12 月 10 日): アドバイザリが公開されました。
  • V1.1 (2013 年 12 月 13 日): Authenticode 署名検証の推奨されるアクションのテストのレジストリ キー情報を修正しました。 推奨されるアクションを適用または適用する予定のお客様は、改訂された情報を確認する必要があります。
  • V1.2 (2014 年 2 月 11 日): MS13-098 で実装された休止中の変更が 2014 年 6 月 10 日に有効になることをお客様に通知するために、アドバイザリを再リリースしました。 この日付を過ぎると、Windows は準拠していないバイナリを署名済みとして認識しなくなります。 詳細については、 このアドバイザリの「推奨事項 」および 「推奨されるアクション 」セクションを参照してください。
  • V1.3 (2014 年 5 月 21 日): 非準拠バイナリが署名済みとして認識されなくなる新しい 2014 年 8 月 12 日の締め切り日を反映するように勧告を改訂しました。 2014 年 6 月 10 日の締め切り日ではなく、MS13-098 で実装された休止中の変更は、2014 年 8 月 12 日に有効になります。
  • V1.4 (2014 年 7 月 29 日): サポートされている Microsoft Windows のリリースでは、Microsoft がより厳密な検証動作を既定の機能として適用する予定はなくなったことをお知らせするために、アドバイザリを改訂しました。 メインオプトイン機能として利用できます。 詳細については、 アドバイザリの FAQ セクションを参照してください。

Page generated 2014-07-29 14:38Z-07:00.