none
CVE-2019-0708 (Remote Desktop Service の脆弱性) について RRS feed

  • 全般的な情報交換

  • こんにちは、Windows Commercial User Experience  チームの沖です。

     

    本投稿では 2019 5 14 (米国時間) にアナウンスされた CVE-2019-0708 RDP に関する脆弱性についてお問い合わせを多く頂いておりますので以下に改めてまとめさせて頂きます。

     

    CVE-2019-0708 | Remote Desktop Services Remote Code Execution Vulnerability

    https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708

     

    Prevent a worm by updating Remote Desktop Services (CVE-2019-0708)

    https://blogs.technet.microsoft.com/msrc/2019/05/14/prevent-a-worm-by-updating-remote-desktop-services-cve-2019-0708/

     

    1.  CVE-2019-0708 の対象の OS

     

    対象の OS 及び修正モジュールがリリースされる OS は以下になります。

    • Windows Server 2008 R2 SP1 (x64/Itanium)
    • Windows Server 2008 SP2(x86/x64/Itanium)
    • Windows Server 2003 SP2(x86/x64)
    • Windows 7 SP1(x86/x64/Embedded 含む)
    • Windows Vista(x86/x64)
    • Windows XP SP3 x86
    • Windows XP Professional x64 Edition SP2
    • Windows XP Embedded SP3 x86

     

    本件の脆弱性の対象は基本的には Terminal Service が動作している全ての Windows Server 2008 R2 / Windows 7 以前の OS となり、上記リスト外の OS に関しては該当する可能性があっても該当するかどうかの評価および修正モジュールのリリースは行われません。

     

    また、修正対象のモジュールとしては termdd.sys という RDP に関するモジュールについての脆弱性となり、今回はこちらの実装がセキュリティ更新プログラムにて修正されております。

     

    2.  OS パッチダウンロード先

    Product 

    Article

    Download

    Windows 7 for 32-bit Systems Service Pack 1

    4499164

    Monthly Rollup

     

    4499175

    Security Only

    Windows 7 for x64-based Systems Service Pack 1

    4499164

    Monthly Rollup

     

    4499175

    Security Only

    Windows Server 2008 for 32-bit Systems Service Pack 2

    4499149

    Monthly Rollup

     

    4499180

    Security Only

    Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)

    4499149

    Monthly Rollup

     

    4499180

    Security Only

    Windows Server 2008 for Itanium-Based Systems Service Pack 2

    4499149

    Monthly Rollup

     

    4499180

    Security Only

    Windows Server 2008 for x64-based Systems Service Pack 2

    4499149

    Monthly Rollup

     

    4499180

    Security Only

    Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)

    4499149

    Monthly Rollup

     

    4499180

    Security Only

    Windows Server 2008 R2 for Itanium-Based Systems Service Pack 1

    4499164

    Monthly Rollup

     

    4499175

    Security Only

    Windows Server 2008 R2 for x64-based Systems Service Pack 1

    4499164

    Monthly Rollup

     

    4499175

    Security Only

    Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)

    4499164

    Monthly Rollup

     

    4499175

    Security Only

    Note: Windows Vista Windows Server 2008 のセキュリティ更新プログラム (KB4499149/KB4499180) をご適用頂くことが可能です。

     

    尚、既に現時点でサポートが終了している Windows Server 2003 および Windows XP につきましても今回は特例として以下セキュリティ更新プログラムを公開しております。

     

    Customer guidance for CVE-2019-0708 | Remote Desktop Services Remote Code Execution Vulnerability: May 14, 2019

    https://support.microsoft.com/en-us/help/4500705/customer-guidance-for-cve-2019-0708

     

    3. 影響を受ける可能性のある環境

    本事象は Remote Desktop Service もしくは Termial Service が動作しており、RDP 接続が確立できる環境で影響を受ける可能性がございます。

    具体的には以下の 3 つの条件をすべて満たしてしまっている環境の場合に CVE-2019-0708 の影響を受ける可能性がございます。

     

       A.Remote Desktop Services もしくは Terminal Service(Win2003/XP の場合) サービスが有効で、”起動” 状態となっている、RDP 接続を許可している

       B. CVE-2019-0708 に対応する更新プログラムが適用されていない

       C. ネットワーク レベル認証 (NLA) が強制されていない

    ※ 上記 A) につきましては後述致します "対処策" が実施されていない場合となります。

    上記 C) NLA は悪意のあるユーザがアカウント/パスワードを把握している場合、 NLA が強制されていても RDP リモートデスクトップ接続可能なため影響を受けます。

    ※ 上記 C) につきましては後述致します "5. 緩和策" の "NLA の有効化方法" が設定されていない場合となります。

     

    4. 対処策

    上記パッチの適用が対処となりますが、パッチ適用ができないシステムおよびパッチがリリースされていない対象 OS の場合はリモートデスクトップ接続を確立できないようにすることが対処となります。その場合以下のいずれかの対処を行ってください。

     

    Remote Desktop Service/Terminal Service の無効化方法

    1. 管理者権限のあるコマンドプロンプトを起動します。
    2. 以下のコマンドにて "Remote Desktop Services"(Win2003/XP の場合は "Terminal Services") を停止及び無効化します。

    sc config TermService start= disabled

    net stop TermService /y   // TermService は依存関係を持っていることがあるため sc コマンドではなく net stop で停止します。

    RDP 接続を受け付けないように設定する方法

        1.システムのプロパティを起動します。

        2. 対象 OS にてそれぞれ以下の設定を行います。

           Windows Server 2008 / 2008 R2 / Vista /7:

                 "このコンピューターへの接続を許可しない" を選択

           Windows Server 2003 / XP :

                 "このコンピューターにユーザーがリモートで接続することを許可する" のチェックを外す

    5. 緩和策

    本件はリモートデスクトップ接続のコネクションが確立時に脆弱性の影響を受けるものとなります。よって緩和策として NLA(Netwrok Level Authentication) を有効にすることでリモートデスクトップ接続が確立される前に事前認証を発生させ、ログオンアカウントを知らない悪意のある攻撃者からシステムを保護することもできます。悪意のあるユーザがアカウントおよびパスワードを把握している場合にはこの緩和策(NLA 有効化)は意味を持たなくなりますのでご注意ください。

     

    NLA の有効化方法

    以下のいずれかの設定を RD セッションホスト(ターミナルサーバ)もしくはクライアント OS の場合には RDP 接続先にて実施することで NLA を有効化できます。

     

      A. ポリシーで設定する場合

      [コンピューターの構成] - [管理用テンプレート] - [Windows コンポーネント]

        - [リモート デスクトップ サービス] - [リモート デスクトップ セッション ホスト] - [セキュリティ]

      "リモート接続にネットワークレベル認証を使用したユーザー認証を必要とする" "有効" とします。

     

      B. コントロール パネルにて設定する場合

      [コントロール パネル] - [システムとセキュリティ] - [システム] - [リモートの設定] [リモート] タブにて、

      "ネットワーク レベル認証でリモートデスクトップを実行しているコンピューターからのみ接続を許可する

      (セキュリティのレベルは高くなります) " を選択します。

      

      C. レジストリで設定する場合

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

    REG_DWORD: UserAuthentication

    Value: 1

     

    Command:

    REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /T REG_DWORD /V UserAuthentication /D 1 /F

     

    上記 A) - C) いずれの場合も設定後再起動は不要です。

     

    6. よくある QA 集

        

    1. CVE-2019-0708 の脆弱性にだけ対応した更新プログラムは提供されていますか?

     

        => 誠に恐れ入りますが、CVE-2019-0708 のみを修正している更新プログラムにつきましては公開しておりません。

     

    2. リモートアシスタンスは本脆弱性の影響を受けますか?

        => リモートアシスタンス利用時は問題となっている脆弱性のあるコードは通過しないため影響を受けません。

     

    3. 2018 年 5 月に公開された下記 CVE-2018-0086 の対応として NLA を無効化してしまっているのですがどう対処したらよろしいでしょうか。

        2018 年 5 月の更新プログラム適用によるリモート デスクトップ接続への影響

        https://blogs.technet.microsoft.com/askcorejp/2018/05/02/2018-05-rollup-credssp-rdp/

     

       => この場合、仮に本件(CVE-2019-0708)の対処を取って NLA を有効にした場合、逆に CVE-2018-0086 の回避策を解除してしまうことになりますので場合によってはリモートデスクトップ接続できなくなる可能性がありますのでご注意ください。この場合どちらかの対処を取ればどちらかの脆弱性を受けることになるというトレードオフの状況が起こりますので、対処としては回避策ではなく上記の更新プログラムを提供して対処頂くようお願いします。

     

    4. システムのプロパティ画面で、RDP 接続を受け付けないように設定することでも事象の回避は可能ですか。

     

       => 可能でございます。本脆弱性につきましては、対象の OS それぞれで以下のような設定となっている場合に影響を受ける可能性がございます。Windows Server 2008 / 2008 R2 / Vista / 7 につきましては "このコンピューターへの接続を許可しない" (RDP 接続が行えないようにする) 又は "ネットワークレベル認証でリモート デスクトップを実行しているコンピューターからのみ接続を許可する" (NLA を強制する) を選択することで、脆弱性の影響を軽減することが可能です。Windows Server 2003 / XP については、NLA の機能自体利用することができないため、”このコンピューターにユーザーがリモートで接続することを許可する” のチェックを外す (RDP 接続ができないようにする) ことで脆弱性の影響を緩和することが可能です。

     

    // 影響を受ける可能性あるの設定 (Windows Server 2008 / 2008 R2 / Vista / 7 )

    // 影響を受ける可能性のある設定 (Windows Server 2003 / XP)


    5. ネットワーク レベル認証(NLA) とは何ですか。

     

       =>  ネットワーク レベル認証 (NLA) は、Windows Vista 以降で標準で有効となって いる機能でございます。Windows XP / Windows Server 2003 までの OS では、リモート デスクトップ接続を行う際、先に接続先コンピューターへセッションを確立し、その後ユーザー名 / パスワードを用いて、ログオンを行っておりました。

    しかしながら、先にセッションを確立できるため、大量のセッションを確立させ、ポートを枯渇させるなどのセキュリティ上の問題がございました。そこで、Windows Vista 以降の OS では、ネットワーク レベル認証が採用されております。

    ネットワークレベル認証は、接続元コンピューターにて、事前に接続先コンピューターへログオンするユーザーの認証を実施します。事前にユーザー認証が行われ、認証されたセッションのみが確立されるため、  リソースの削減やセキュリティ面が向上しております。

    参考情報:

    Windows Server 2008 R2: ネットワーク レベル認証を使用すべき理由

    https://technet.microsoft.com/ja-jp/library/hh750380.aspx


    6. NLA を強制することの影響について教えてください。

     

       => NLA を強制することの影響につきましては、例えば、以下のようなことがあげられます。

     

    (1) NLA につきましては Windows Server 2008 / Vista 以降から追加されている機能となり、Windows XP および Windows Server 2003 以前の OS では利用できません。そのため、NLA を強制することで Windows XP や Windows Server 2003 から NLA が強制されている OS へRDP 接続ができなくなります。

     

    (2) RDP 接続を行う際に .rdp ファイルを使用している場合に "enablecredsspsupport:i:0 " を記載して NLA で使用する CredSSP プロトコルを使用しないようにしている場合には、NLA を使用しないで RDP 接続を行うこととなるため RDP 接続に失敗いたします。

     

    (3) ログオン ユーザーのプロパティの [アカウント] タブの [ログオン先] にてログオン可能な端末やサーバーを指定している場合には、RDP 接続元の端末が [ログオン先] に追加されていない場合には RDP 接続が失敗いたします。

     

      // 補足説明

      NLA につきましては、サーバーとクライアントの間でセッションを確立する前に認証処理を行い、認証が完了してから RDP のセッションを確立するといった動作となります。そのため、NLA が有効な場合には認証処理の要求元が接続元のクライアントとなりますので、[ログオンできるワークステーション] に接続元のクライアント端末が含まれていない場合には、ログオンが許可されていない端末として認識されるため認証は失敗し RDP 接続が失敗します。

     

    (4) NLA を使用する場合と、使用しない場合とでは RDP 接続を行う場合の資格情報の入力画面が異なります。例えば、NLA を使用して接続をする場合には、"1 NLA使用時" が表示されますが、NLA を使用しない場合にはセッションを確立してから資格情報を入力するため、"2 NLA未使用時"といった画面が表示されます。

     

       1 NLA 使用時

        

       2 NLA 未使用時

       

    7. 各バージョンにて前提パッチおよび前提条件がありますでしょうか。

     

       =>適用するための前提パッチや条件等はございません。ただし、最新のサービススタック更新プログラム (SSU) をインストールすることを強くお勧めします。KB の適用に失敗する場合には、まずは SSU を最新としていただきますようお願いいたします。

     

    8. 各バージョンにて Service Pack が適用されていないと当パッチは適用不可でしょうか。

     

       => はい。各 OS の最新の Service Pack の適用が必要となります。

     

    9.当パッチに同梱されているpciclearstalecache.exeもしくはpcicompatforserialnumber.exeは適用必須でしょうか?

     

       => Pciclearstalecache.exe 及び pcicompatforserialnumber.exe は WSUS/Windows Update での配信時に必要になるものとなり、手動で適用される場合には、.msu のみを適用いただければ問題ありません。(.msu のなかに Pciclearstalecache.exe 及び pcicompatforserialnumber.exe が含まれています)

     

    10. 適用後に再起動は必要ですか。

     

       => はい。再起動が必要となりますので適用のタイミングを考慮願います。






    2019年5月17日 3:57
    所有者