RDPの脆弱性- Microsoft 2021年8月のセキュリティアップデート

Microsoftの2021年8月のセキュリティアップデート(Patch Tuesday)がリリースされました。今月パッチが適用されるCVEの数はそれほど多くはないのですが、注目に値する重大な脆弱性に対する更新が含まれています。


脆弱性分析:CVE-2021-34535

そのような脆弱性の1つに、Microsoftの組み込みRDPクライアント(mstsc.exe)によって使用されるmstscax.dllで観察される、リモートデスクトップクライアントソフトウェアのリモートコード実行の欠陥であるCVE-2021-34535があります。この脆弱性は、2020年7月にリリースされたバグCVE-2020-1374と非常に密接に関連しています。このバグも、Microsoftの更新のパッチプロセスを経て発生し、非常に類似した特性を持っていました。この脆弱性は、攻撃者が制御可能なペイロードサイズフィールドによる整数のオーバーフローであり、最終的にはメモリ割り当て中にヒープバッファオーバーフローが発生します。この脆弱性は、RDPビデオリダイレクト仮想チャネル拡張機能[MS-RDPEV]を介してトリガーされる可能性があります。これは通常、ポート3389に展開され、圧縮されたUDPペイロードとTLSを使用した暗号化されたRDPの内部に含まれています。

しかし、この欠陥は、その印象的な9.9 CVSSスコアにもかかわらず、悪名高いBlueKeep(CVE-2019-0708)を含む過去のRDP脆弱性のレベルまで上昇するかというと、それほど速くはなく、考慮すべきいくつかの追加の要因があります。


攻撃シナリオ

何よりもまず、これはクライアント側の脆弱性です。つまり、インターネットの観点からは、自己伝播の実際の機能、つまり「ワームの能力」はありません。最も可能性の高い攻撃シナリオは、悪意のあるRDPサーバーに対してユーザーを認証させるようにすることです。このサーバーでは、サーバーがクライアント側でバグをトリガーする可能性があります。問題の再現中に、クラッシュを簡単にトリガーし、制御されたオーバーフローを使用して後のmemcpyを観察することができました。これにより、悪用が容易になります。この脆弱性に対してエクスプロイトが開発される可能性が高いと思われますが、既知の公開エクスプロイトの前にパッチを入手できると、組織や個人のリスクを軽減するのに役立ちます。

次に、BlueKeepおよびその他の関連するRDPの脆弱性が広範に拡散し、到達しているため、RDPクライアントとサーバーの大部分が無効化されているか、ネットワーク境界から移動されています。これは、バグのクライアント側の性質を考えるとそれほど重要ではありませんが、全体的な攻撃対象領域には役立ちます。

より一般的なリモートデスクトップネットワーク接続であるMicrosoftの組み込みRDPクライアント(mstsc.exe)に加えて、あまり知られていないRDPベクターがこの脆弱性の影響を受けることも確認しています。Microsoft Hyper-V Managerの「拡張セッションモード」とMicrosoft Defenderのアプリケーションガード(WDAG)はどちらも、RDPを使用して画面共有を行い、セキュリティで保護されたブラウザーを表示します。これにより、エンドユーザーは、ホストシステムのコンテキストで分離されたインスタンスのリモートビューを取得できます。Microsoftは、RDPセッション共有機能を再実装するのではなく、既存のRDPクライアントコードベースをHyper-VおよびWDAGに移植しました。RDPクライアントコードはmstscax.dll(ActiveX COMオブジェクト)に自己完結しているため、Hyper-V(vmconnect.exe)およびWDAG(hvsirdpclient.exe)プロセスにロードするだけで、RDPクライアント機能を利用できます。mstsc.exe、vmconnect.exe、hvsirdpclient.exeの3つのプロセスすべてに同じDLLがロードされているため、このコードベースでは攻撃対象領域の削減は行われていないようです。影響を受けるコンポーネントは次のとおりです。

  • Microsoftの組み込みRDPクライアントmstsc.exeは、クライアントがネットワーク経由でRDPサーバーにリモート接続するときに、脆弱なmstscax.dllを使用します。mstsc.exeがクラッシュし、脆弱性がトリガーされる可能性があることを確認した後、クライアントはRDPサーバーに対して認証されました。

緩和策:パッチを適用

  • MicrosoftのHyper-VManagerソフトウェアも、脆弱な機能が存在するmstscax.dllを使用します。「拡張セッションモード」(Hyper-Vマネージャーでデフォルトで有効)を使用する場合、プロセス vmconnect.exeはmstscax.dllをロードします。テストを通じて、Hyper-V Windows 10イメージの内部から脆弱性をトリガーすると、ホスト上のvmconnect.exeがクラッシュすることを確認しました。これは、脆弱性を使用してゲストからホストへのエスケープの対象となることを意味します。(Hyper-Vは、Windows 10ではデフォルトで無効になっています)。

緩和策:「拡張セッションモード」にパッチを適用するか無効に

  • Microsoft DefenderのApplication Guardは、mstscax.dllを使用して、コンテナー化されたEdgeおよびIEブラウザーのビューをユーザーに表示します。「新しいアプリケーションガードウィンドウ」がEdgeからナビゲートされると、mstscax.dllをロードするプロセス hvsirdpclient.exeが起動します。WDAGプロセス hvsirdpclient.exeがクラッシュすることは確認していませんが、同じコードベースを使用しているため、WDAGを使用する場合はパッチを適用することをお勧めします(Windows 10ではWDAGはデフォルトで無効になっています)。

パッチ適用を

組み込みのRDPクライアントとHyper-V / WDAGクライアントは、TCP / IPとVMBusの形式で異なるトランスポートメディアを介して通信しますが、どちらも同じRDPクライアントプロトコル実装を使用します。この欠陥はmstscax.dllに含まれており、自己完結型であるため、この脆弱性は残りのコードベースとともにこれら2つの実装に移植されました。

パッチ適用の緊急性は過去の重大な脆弱性よりもいくらか低いのですが、サイバー攻撃者は、一般的なネットワークプロトコルを活用するこれらの手に負えない成果のいずれかを武器にしようと狙っています。パッチ適用は最優先事項である必要があり、さらに、インターネットに直接接続された内部ネットワーク化されたRDPクライアントとサーバーの包括的かつ継続的なレビューが強く推奨されます。攻撃対象領域を排除または削減することは、脆弱性の悪用に対する最善の対抗攻撃の1つです。

Microsoftは、この問題に関するナレッジベースの記事を、対応するパッチ情報とともにここに公開しています。当面の間、この脆弱性を引き続き注意深く監視しています。悪用が確認された場合、お客様向けに追加のコンテンツをリリースする場合があります。

RDPセキュリティのベストプラクティスについては、https://www.mcafee.com/blogs/other-blogs/mcafee-labs/rdp-security-explained/を参照してください。

 

マカフィーのCedric Cochinに感謝します。

※本ページの内容は2021年8月10日(US時間)更新の以下のMcAfee Enterprise Blogの内容です。
原文:Critical RDP Vulnerabilities Continue to Proliferate
著者: and