Windows 8.1 および Windows Server 2012 R2 用の .NET Framework 4.5.2 のセキュリティと品質ロールアップについて2017 年 5 月 9 日


概要


この Microsoft .NET Framework 用のセキュリティ更新プログラムは、.NET Framework (および .NET Core) コンポーネントが証明書を完全に検証しない場合にセキュリティ機能のバイパスの脆弱性を解決します。 この脆弱性の詳細については、Microsoft Common Vulnerabilities and Exposures CVE-2017-0248 (英語情報) を参照してください。

この更新プログラムには、Windows Presentation Framework PackageDigitalSignatureManager コンポーネントの SHA256 ハッシュ アルゴリズムが組み込まれたパッケージに署名する機能のセキュリティの強化を目的とする修正も含まれています。

重要

  • 今後の Windows RT 8.1、Windows 8.1、および Windows Server 2012 R2 のすべてのセキュリティ更新プログラムと通常の更新プログラムには、更新プログラム  2919355  がインストールされている必要があります。 将来の更新プログラムをインストールするために、Windows RT 8.1 ベース、Windows 8.1 ベース、 または Windows Server 2012 R2 ベースのコンピューターに 更新プログラム 2919355  をインストールしておくことをお勧めします。
  • この更新プログラムをインストールした後に言語パックをインストールした場合は、この更新プログラムを再インストールする必要があります。 そのため、この更新プログラムをインストールする前に、必要な言語パックをすべてインストールすることをお勧めします。 詳細については、「Windows への言語パックの追加」を参照してください。

このセキュリティ更新プログラムの関連情報


  • 拡張キー使用法 (EKU) については、RFC 5280 のセクション 4.2.1.12 で説明されています。 この拡張機能は、キー使用法の拡張機能で示されている基本目的に加えて、あるいはその代わりとなる認定済みの 公開キーを使用する 1 つまたは複数の目的を示します。 たとえば、クライアント認証のために、サーバーへのクライアントの認証に使用される証明書を設定する必要があります。 同様に、サーバー認証のために、サーバーの認証に使用される証明書を設定する必要があります。

    認証に証明書が使用される場合、認証子によってクライアント証明書が検証され、アプリケーション ポリシー拡張機能の正しい目的のオブジェクト識別子が検索されます。 たとえば、クライアント認証のオブジェクト識別子は 1.3.6.1.5.5.7.3.2 です。 クライアント認証に証明書が使用される場合、問題がある証明書または認証の EKU 拡張機能にこのオブジェクト識別子が存在しているはずです。 EKU 拡張機能がない証明書は引き続き正常に認証されます。

    再発行された証明書に一時的に’正常にアクセスできる場合、接続の影響を避けるために、すべてのコンピューターでセキュリティの変更をオプトインするかまたはオプトアウトするかを選択できます。 これを行うには、お使いのアプリケーションで必要とされる .NET Framework のバージョンに応じて、次のレジストリ キー設定を指定します。


    方法 1: レジストリ キーの更新 (すべてのバージョンに使用可能)

    注: このレジストリ エントリは、DWORD エントリにする必要があります。
     
    • 32 ビット システム上での 32 ビット処理および 64 ビット システム上での 64 ビット処理の場合:
       
      HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319@RequireCertificateEKUs=0
    • 64 ビット システム上での 32 ビット処理の場合:
       
      HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\.NETFramework\v4.0.30319@RequireCertificateEKUs=0
    アプリケーションごとにオプトアウトすることもできます。 アプリケーションの互換性を維持するためにこの変更を無効にするには、次のオプションを使用できます

    方法 2: 個別のアプリケーションのポリシーを無効にする

    注: このレジストリ エントリは、DWORD エントリにする必要があります。 唯一の有効は値は 0 です。 他の値は無視されます。
    • 32 ビット システム上での 32 ビット処理および 64 ビット システム上での 64 ビット処理の場合:
      HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319@System.Net.ServicePointManager.RequireCertificateEKUs
      S:\Prj\console_pg\console_pg45\bin\Release\console_pg45.exe=0
      C:\MyApp\MyApp.exe=0
    • 64 ビット システム上での 32 ビット処理の場合:
      HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\.NETFramework\v4.0.30319@System.Net.ServicePointManager.RequireCertificateEKUs
      S:\Prj\console_pg\console_pg45\bin\Release\console_pg45.exe=0
      C:\MyApp\MyApp.exe=0
    方法 3: 構成 API の使用 (.NET Framework 4.6 以降のバージョンに使用可能)

    .NET Framework 4.6 で開始すると、コード、アプリケーション構成、またはレジストリの変更によって、アプリケーション レベルで設定を変更できます。

    .NET Framework 4.6 でのスイッチの設定

    注: 次の例では、セキュリティ機能を無効にします。
    • プログラム的

      アプリケーションで最初に次のコードを実行する必要があります。 これは、Service Point Manager が 1 回のみ初期化するためです。

       
      private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";private const string DontCheckCertificateEKUsName= @"Switch.System.Net.DontCheckCertificateEKUs";AppContext.SetSwitch(DisableCachingName, true);AppContext.SetSwitch(DontCheckCertificateEKUsName, true);
    • アプリケーションの構成

      アプリケーションの構成を変更するには、次のエントリを追加します。

       
      <runtime><AppContextSwitchOverrides value="Switch.System.Net.DontCheckCertificateEKUsName=true"/></runtime>
    • レジストリ キー (コンピューター グローバル):
       

      レジストリの場所: HKEY_LOCAL_MACHINE\Software\[Wow6432Node\]Microsoft\.NETFramework\AppContext\Switch.System.Net.DontCheckCertificateEKUsName

      種類:  文字列型 (String)
      値: "true"

    注: 既定では、.NET Framework 4.6 以降のバージョンで動作しているすべての .NET Framework 4.x アプリケーションに対して Switch.System.Net.DontCheckCertificateEKUsName = True です
  • このセキュリティ更新プログラムは、Windows 8.1 と Windows Server 2012 R2 に関連しているため、このセキュリティ更新プログラムの詳細情報については、次のマイクロソフト サポート技術情報を参照してください。

    4019114 Windows 8.1 および Windows Server 2012 R2 用の .NET Framework 3.5 Service Pack 1、4.5.2、4.6、4.6.1、4.6.2 更新プログラムのセキュリティと品質ロールアップ: 2017 年 5 月 9 日

更新プログラムの入手方法およびインストール方法


方法 1: Windows Update

この更新プログラムは、Windows Update を介して利用可能です。 自動更新を有効にすると、この更新プログラムは自動的にダウンロードおよびインストールされます。 セキュリティ更新プログラムを自動的に入手する方法の詳細については、「Windows Update: FAQ」のコントロール パネルで自動更新を有効にする方法のセクションを参照してください。

方法 2: Windows Software Update Services (WSUS)

WSUS サーバーで、次の手順を実行します。

  1. [スタート] ボタンをクリックし、[管理ツール] をポイントし、[Microsoft Windows Server Update Services 3.0] をクリックします。
  2. [ComputerName] を展開し、[操作] をクリックします。
  3. [更新のインポート] をクリックします。
  4. ブラウザーのウィンドウが開き、ActiveX コントロールをインストールするようにというメッセージが表示される場合があります。 操作を続行するために、ActiveX コントロールをインストールする必要があります。 
  5. このコントロールを インストールすると、Microsoft Update カタログの画面が表示されます。 [検索] ボックスに「4019114」と入力し、 [検索] をクリックします。
  6. 実際の環境のオペレーティング システム、言語、プロセッサと合う .NET Framework パッケージを選択します。 [追加] をクリックしてバスケットに追加します。
  7. 必要なパッケージをすべて選択したら、[バスケットの表示] をクリックします。
  8. [インポート] をクリックして、WSUS サーバーにパッケージをインポートします。
  9. パッケージのインポートが完了したら、[閉じる] をクリックして WSUS に戻ります。

これで、WSUS 経由で更新プログラムをインストールすることができます。

更新プログラムの展開に関する情報

このセキュリティ更新プログラムの展開の詳細については、以下のサポート技術情報番号をクリックしてください。

20170509 セキュリティ更新プログラムの展開に関する情報: 2017 年 5 月 9 日

更新プログラムのアンインストール情報

注: セキュリティ更新プログラムのアンインストールはお勧めしません。 この更新プログラムを削除するには、コントロール パネルの [プログラムの追加と削除] または [プログラムと機能] を使用します。

更新プログラムに伴う再起動に関する情報

更新対象のファイルがロックされたり使用されていない限り、この更新プログラムを適用した後にシステムを再起動する必要はありません。

更新プログラムの置き換えに関する情報

この更新プログラムを適用しても、これまでにリリースされた更新プログラムが置き換えられることはありません。

このセキュリティ更新プログラムに関するヘルプとサポートを受ける方法


適用対象


この資料は、以下を対象としています。
 
  • Microsoft .NET Framework 4.5.2 を以下のオペレーティング システムと共に使用した場合:
    • Windows Server 2012 R2
    • Windows 8.1