2018/06/01

リモート デスクトップ アプリ(UWP)と CredSSP 脆弱性対策の影響(追記:最新アプリは対策済み)

再び、以下に関連した件。

GW 開けの WU では RDP 接続エラーに注意(というか予告)(2018/04/25)
Windows Updateは適切な更新サイクルで――CredSSP脆弱性対策について @IT (2018/05/15)
 [URL] http://www.atmarkit.co.jp/ait/articles/1805/15/news011.html

追記) SCVMM における CredSSP 脆弱性対策の影響について (201/06/04)
[URL] https://blogs.technet.microsoft.com/systemcenterjp/2018/06/04/scvmm-credssp/

 Windows 10 と Windows 8.1 には、標準のリモート デスクトップ接続クライアント(mstsc.exe)だけでなく、ストア アプリ(UWP)版の「 Microsoft リモート デスクトップ」アプリもあったので、これらのアプリからネットワーク レベル認証(NLA)を使用する RDP 接続への CredSSP 脆弱性対策の影響など。ちょっと面白いことも発見。

(先に行っておくと、Windows/Android/iOS/Mac 向けアプリは最新バージョンはすべてCredSSP 脆弱性に対策済みです。5月の更新の mstsc.exe の挙動と同じだったのかどうかの話です。)



2018 年 5 月の累積更新での CredSSP 脆弱性対策の既定の動作(ポリシー未構成の時の動作)の変更の影響で、未パッチ(3 月以降の累積更新が未パッチ)の Windows への NLA による RDP 接続は既定でブロックされちゃうようになったわけですが、Windows 10 の「Microsoft リモート デスクトップ」アプリで試すと、以下のように接続できてしまう(Windows Vista にはパッチ未提供=未パッチ)。つまり、既定の挙動がアプリに影響していない???

アプリのバージョンは 10.1.1042.0(Windows 10 Ver 10536.0 以降向け)。左は mstsc.exe(接続不能)、右は UWP アプリ(接続可能)。


Windows 8.1 の同アプリのバージョンは 6.3.9600.16419。で同じことを試すと...

左は mstsc.exe(接続不能)、右は UWP アプリ(接続不能)。Windows 10 でもこういう挙動を期待していたのですが...

Windows 8.1 のアプリを Procexp で調べてみると、mstsc.exe と同じ mstscax.dll(リモート デスクトップ サービス ActiveX コントロール)を使っている。
Windows 10 のアプリはというと、mstscax.dll は読み込んでいない。完全に独自の世界(Windows Runtime)と Appx パッケージ内のバイナリだけで動いているようです。下の例は Windows 10 初期リリース(=未パッチ)への RDP 接続。


Windows 10 向けの UWP アプリの更新バージョンが出ると、状況は変わる可能性がありますが、現状は CredSSP 脆弱性対策の影響は受けないようです(「更新済みクライアントの強制」ポリシー設定で排除されることもない) 。追記しましたが、アプリは CredSSP 脆弱性対策済みです。Mstsc.exe の未パッチへの接続ブロックの仕様はないってことみたい。注:UWP アプリを使用した場合に CredSSP 脆弱性があるのかどうかは知りませんし、マイクロソフトがこの問題に関して UWP アプリを考慮しているのかどうかも知りません。Android や iOS 版アプリの状況も知りません。(正直なところ、CredSSP に脆弱性がありそうな接続は意図的に閉じた環境で作っている↑だけなので、脆弱性の有無自体は気にしていません。)

追記) Windows/Android/Mac/iOS版アプリは CredSSP 脆弱性(CVE-2018-9886)に対策済み。iOS版 は Apple Store の情報。HTML5 ベースの Remote Desktop web client(現在、プレビュー中 → https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-web-client-admin)も対策済みでした。

What's new for the Remote Desktop client on Windows?
Updates for version 10.1.42(Published date: 04/02/2018) 
 [URL] https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/windows-whatsnew
What's new for the Remote Desktop client on Android?Updates for version 8.1.60(Published date: 04/30/2018)[URL] https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/android-whatsnew
What's new for the Remote Desktop client on macOS?
Updates for version 10.1.7(Published date: 04/05/2018)以降
[URL] https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/mac-whatsnew 
iOS 向け Microsoft リモート デスクトップ(Apple Store プレビューの説明より)
8.1.41(2018年3月29日)

What's new for the Remote Desktop web client?

Updates for version 0.8.1(Published date: 05/17/2018) 
[URL] https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/web-client-whatsnew 
"Updates to address CredSSP encryption oracle remediation described in CVE-2018-0886."

Google Play にも Apple Store プレビュー にもちゃんとリモート デスクトップ アプリが CredSSP 脆弱性対策済みなこと書いてるのに、Microsoft Store のバージョン情報だけ適当で残念。Microsoft Store にはアプリの最新バージョンのバージョン番号が書いてないし、"バグ修正”だけしか書いてないし、上記のドキュメントともバージョン表記が違うし(10.42が1042ってことらしい)。気が付かなかったじゃあないか。
 (左 Google Play、中 Apple Store、右 Microsoft Store)

おまけ

Windows 10 の「Microsoft リモート デスクトップ」アプリが、mstsc.exe とはまったく別世界で動いているということは、つまり、Windows Update の影響で mstsc.exe による RDP 接続で不具合が発生しても、UWP 版アプリで回避できる...んではないかなんて思います。

例えば、5 月の累積更新のあと、RDP 接続できなくなって騒ぎになったようですが、UWP アプリ版を使っていれば気が付かなかったはず。また例えば、Windows 10 のバージョンや品質更新の影響で、RemoteApp の挙動や IME の入力でトラブルが発生することがあるみたいですが、そんなときは UWP 版アプリでとりあえず回避できるかもです(UWP 版アプリは RemoteApp のフィードに対応)。

いざというときにお試しあれ。ただし、UWP アプリ版はデスクトップ(マウス&キーボード)だと使いづらいかもしれませんけど。

0 件のコメント: