RDP は便利だが RCE が怖い:脅威アクターたちが一点突破を狙う脆弱性とは?

A Few More Reasons Why RDP is Insecure (Surprise!)

2023/07/20 TheHackerNews — Remote Desktop Protocol (RDP) が、ずっと昔から存在しているように見えるとしたら、わずか数年の間に栄枯盛衰を繰り返す多くのテクノロジーに比べて、それはそうだと納得できる。RDP 4.0 として知られる初期バージョンは、1996年に Windows NT 4.0 Terminal Server エディションの一部としてリリースされた。それにより、ネットワーク接続を介するユーザーが、Windows ベースのコンピューターにリモート・アクセスし、操作できるようになった。その後の数十年の間に、 RDP は Windows ベースのシステムにおける、リモート・アクセスや管理で広範に利用されるプロトコルとなった。RDP が果たす役割により、リモートワーク/IT サポート/システム管理などが実現されてきた。そして、さまざまなリモート・デスクトップや VDI (Virtual Desktop Infrastructure) ソリューションの基盤となっている。


RDP が広く使用されることで生じる問題は、RDP ゲートウェイにリモート・コード実行 (RCE) の脆弱性が存在すると重大な侵害が発生し、影響を受けるシステムのセキュリティと完全性が損なわれる可能性があることだ。攻撃者の視点から見ると、RCE 脆弱性を悪用することは、影響が生じるシステムへの不正アクセスを実現する方法となる。つまり、システム制御/セキュリティ対策の回避/横方向への移動/データ流出/マルウェア展開/システムの混乱などの、さまざまな悪意のアクションの実行が可能になるのだ。

ただし、脆弱性の性質/攻撃者の意図と能力/標的システムの重要性/実施されているセキュリティ対策などの各種の要因により、その影響の深刻さはが異なる点に注意すべきである。

それでも、不正アクセス/データ漏洩/システム侵害の可能性を考慮すると、RDP における RCE 脆弱性は、早急な対応と緩和が必要な、重大なセキュリティ問題と考えられる。

意外なことに、最近の Microsoft は、このようなシナリオを想定したセキュリティ・アドバイザリを発表している。パッチを当てるべきだ!

RDP を悪用した DLL ハイジャック:CVE-2023-24905

DLL (dynamic link library) ハイジャックを利用して、RDP クライアントが Windows OS のディレクトリではなく、CWD (current working directory) からファイルをロードしようとする際に、RDP クライアントが侵害されるというシナリオだ。

研究者はブログに、「DLL 内のアイコンと文字列を変更することで、読み込まれるリソースを偽装できることが明らかになった。このシナリオでは、攻撃者は DLL 内のアイコンや文字列などの視覚的要素を操作し、ユーザーを欺き、特定のアクションを実行させられる。たとえば、アイコンや文字列を変更することで、攻撃者はエラー・メッセージを正当なシステム通知のように見せかけ、危険なアクション (ファイルのダウンロードなど) を、無害なもの (ソフトウェア・アップデートなど) に見せかけられる。

RCE は、DLL の文字列を悪意のファイルに変更し、それを一般的にアクセスされるファイル共有の場所に置き、ユーザーを騙して実行させることで発生する。興味深いことに、このエクスプロイトは、高度なRISCマシン(ARM)プロセッサ上でWindows OSを実行しているデバイスにのみ影響を与える。RDPとARM上のWindows OSはどちらも、産業用制御システム(ICS)やその他の運用技術(OT)環境で一般的に使用されており、産業企業や重要なインフラがこのエクスプロイトの格好の標的となる。

この RCE は、正当な DLL 文字列を悪意のあるファイルに変更し、一般的にアクセスされるファイル共有の場所に配置し、ユーザーを騙して実行させることから発生する。 興味深いことに、このエクスプロイトは、高度な RISC マシン (ARM) プロセッサで、Windows OS を実行しているデバイスのみに影響を及ぼした。 ARM 上の RDP と Windows OS は、どちらも ICS や OT の環境で普通に使用されており、製造業や重要インフラなどが、この攻撃の主標的となる。

RDP ゲートウェイ・コンプライアンスの脆弱性:CVE-2023-35332

通常、RDP ゲートウェイのプロトコルは、TCP (Transport Control Protocol) と TLS (Transport Layer Security) 1.2 を用いてプライマリ・セキュア・チャネルを作成する。さらに、DTLS (Datagram Transport Layer Security) 1.0 を実装した、UDP (User Datagram Protocol) を用いて、セカンダリ・チャネルを確立する。DTLS 1.0 は、脆弱性とセキュリティ・リスクのため、2021年3月以降において、非推奨となっていることを認識する必要がある。

研究者はブログに、「この RDP ゲートウェイの脆弱性は、深刻なセキュリティ・リスクと重大なコンプライアンス問題を提示している。DTLS 1.0 のような、非推奨かつ時代遅れのセキュリティ・プロトコルの使用は、業界標準やコンプライアンスに対する、不注意な不遵守につながる可能性があり得る」と記している。

セカンダリ UDP チャネルは、特に多くの問題 (DTLS 1.0) を持つプロトコルを使用しているため、懸念すべきものである。最大の問題は、この時代遅れのプロトコルに準拠していることに、事業者が気づかないケースがあることだ。

まとめ

これらの脆弱性の影響を避けるためには、Microsoft がリリースするパッチにより、RDP のクライアントとゲートウェイをアップデートするのが一番だ。しかし、必然的に、RDP 上には、その他の RCE も存在することになる。したがって、次のステップとして、堅牢なアクセス制御を導入することで、脅威要因に先んじることが重要となる。RDP は、パッチ適用が不可能な OT/ICS 環境で広く使用されているため、これらのシステムを運用する組織では、システムの可用性や運用の安全性などに関する特別な要件を満たす、セキュリティ・ツールを見つけることが特に重要となる。

とても便利な RDP ですが、2023/06/13 の「RDP ハニーポットで 350万回のブルートフォース攻撃を分析:脅威アクターたちの動きが見えてきた」には、「さまざまな IP アドレスからの、露出したコネクションに対するアクセスは、毎日平均 37,000 回に達するという実験結果が出た」と記されています。さらに言うなら、2022/11/17 の「RDP ブルートフォース攻撃で狙われる最弱パスワード:Top-10 をリストアップ」には、「RDP ポートなどのポート攻撃データを分析した結果、88% 以上が12文字以下、24% 近くが8文字のみ、19% 弱が小文字のみという、いくつかのパスワード・パターンに属していることが判明した」といデータが整理されています。よろしければ、以下の関連記事も、ご参照ください。

2023/06/20:RDStealer マルウェア:RDP 侵害に特化
2022/10/06:RDP 攻撃が 89% も減少:ESET が分析
2022/07/25:Windows 11 RDP セキュリティ強化
2022/06/20:Windows Server の VPN/RDP/RRAS 接続
2022/06/17:Windows の RDP named pipe 問題