Windowsのリモートデスクトッププロトコルは変更済みの古いパスワードでもログイン可能&Microsoftは公式の仕様としているため永続的に存在するバックドアになるとの指摘

セキュリティ

Windowsのリモートデスクトッププロトコル(RDP)は、変更済みの古いパスワードでもログイン可能であることが明らかになっています。Microsoftはこれを「公式の仕様」としており、変更するつもりはないと述べているため、セキュリティ専門家からは「永久に存在するバックドア」と指摘されています。

Windows RDP lets you log in using revoked passwords. Microsoft is OK with that. - Ars Technica

https://arstechnica.com/security/2025/04/windows-rdp-lets-you-log-in-using-revoked-passwords-microsoft-is-ok-with-that/

パスワードの変更は、パスワードが漏えいしたり認証情報が侵害されたりした場合に最初に取るべき対策です。パスワードを変更すればデバイスやアカウントにアクセスできなくなると誰もが思うはずです。しかし、WindowsのRDP(リモートユーザーがマシンに直接アクセスしているかのようにログインして操作できるようにするWindowsに独自のメカニズム)は、ユーザーがパスワードを変更した後でも、変更前のパスワードを信頼し続けることが明らかになりました。また、Microsoftはこの仕様を「ユーザーがログアウトされないようにするための公式設計」と説明しており、変更する予定はないと述べています。

RDPの脆弱(ぜいじゃく)性を発見したのは、独立系セキュリティ研究者のダニエル・ウェイド氏です。同氏は2025年4月の初めにMicrosoft Security Response Center(MSRC)に脆弱性を報告しました。ウェイド氏は脆弱性を再現するための手順を詳細に説明し、パスワードを変更しても、関連付けられたデバイスやアカウントにアクセスできなくなることは一切ないと、MSRCに警告しています。

ウェイド氏は報告書の中で、「これは単なるバグではありません。信頼の崩壊です」「人々はパスワードを変更すると、不正アクセスを遮断できると信じているはずです」と言及しています。

ウェイド氏の指摘に対して、Microsoftはこの動作を「システムがオフラインになってからどれだけ時間が経過しても、少なくともひとつのユーザーアカウントが常にログインできるようにするための設計上の決定です」と説明しました。Microsoftはこの動作はセキュリティ上の脆弱性の定義を満たしていないため、これを修正する予定はないとしています。 なお、「変更済みのパスワードを使用してRDP経由でログインできる」という仕様は、MicrosoftアカウントまたはAzureアカウントでサインインしたWindows端末がリモートデスクトップアクセスを有効にしている場合に利用可能です。 ユーザーはローカルに保存された認証情報と照合される専用のパスワードを使用し、RDP経由でMicrosoftアカウントまたはAzureアカウントにログインできるだけでなく、端末へのサインインに使用したオンラインアカウントの認証情報を使用してこれらのアカウントにログインすることも可能です。

ウェイド氏によると、複数の古いパスワードが有効であるのに、新しいパスワードは有効にならないケースもあるとのこと。そのため、クラウド認証、多要素認証、条件付きアクセス ポリシーを回避した永続的なRDPアクセスが可能になります。この仕様について、ウェイド氏は「MicrosoftアカウントやAzureアカウントが侵害された場合、RDPの仕様を悪用することで大きな損失につながるサイバー攻撃を実現できる可能性がある」と指摘しました。 認証情報が侵害された場合、最初にやるべきことは、認証情報を利用して機密情報にアクセスされることを防ぐために、パスワードを変更することです。パスワードを変更すれば、攻撃者はMicrosoftアカウントやAzureアカウントにログインすることはできなくなりますが、古いパスワードを使えばRDP経由でユーザーのWindows端末にアクセスすることは可能となってしまいます。 ウェイド氏はRDPのこの仕様について、「パスワードがキャッシュされたことのあるあらゆるシステムに、ひっそりとリモートバックドアが作られているようなものです」と指摘しました。 セキュリティ企業Analygenceの上級脆弱性アナリストであるウィル・ドーマン氏は、「セキュリティの観点から見て、これは意味をなしません。もしも私がシステム管理者なら、アカウントのパスワードを変更した瞬間に、そのアカウントの古い認証情報はどこにも使えなくなると期待します。しかし、現実ではそうではありません」と述べ、RDPの仕様に疑問を呈しています。

RDPが古いパスワードでもログインできるようになっている理由は、ローカルマシンのハードドライブに資格情報をキャッシュしているためです。ユーザーがMicrosoftアカウントあるいはAzureアカウントの資格情報を使用して初めてログインすると、RDPはパスワードの有効性をオンラインで確認します。その後、Windowsは資格情報を暗号化された形式でローカルマシンに保存し、それ以降はローカルに保存された資格情報とログイン時に入力されたパスワードを検証するのみで、オンラインでの検証は行われません。そのため、変更済みの古いパスワードでログインできてしまうわけです。

なお、ウェイド氏の報告を受け、MicrosoftはRDP関連の公式トピック上に以下の注意書きを追加しています。

注意事項

ユーザーがローカル ログオンを実行すると、そのユーザーの資格情報は、ネットワーク経由で ID プロバイダーによって認証される前に、キャッシュされたコピーに対してローカルで検証されます。 キャッシュ検証が成功すると、デバイスがオフラインであってもユーザーはデスクトップにアクセスできるようになります。 ただし、ユーザーがクラウドでパスワードを変更しても、キャッシュされた資格情報は更新されません。つまり、古いパスワードを使用してローカル コンピューターに引き続きアクセスできることになります。

しかし、ドーマン氏はMicrosoftの注意表記はほとんどの管理者にとって見分けにくく、十分に明確なものではないと指摘。また、MicrosoftアカウントまたはAzureアカウントが侵害された場合にRDPをロックダウンするためにユーザーが取るべき手順が明確ではないとして、Microsoftの対応を批判しています。唯一の対策はRDPをローカルに保存された認証情報でのみ認証するよう設定することです。 なお、Microsoftの広報担当者によると、RDPの仕様を脆弱性として伝えたのはウェイド氏が初めてではないそうです。

・関連記事 Microsoftが2025年5月27日をもってWindows用リモートデスクトップアプリのサポートを終了することを発表、Windows Appへの移行を求める - GIGAZINE

MicrosoftがMac・iOS・iPad・Windows PC向けにリモートPCアプリ「Windows App」をリリース - GIGAZINE

特別な設定なしにPCのリモート操作やファイルのやり取りが行えるリモートデスクトップソフトウェア「RustDesk」 - GIGAZINE

超初心者でも他人のPCを簡単にリモート操作できるWindows標準機能「クイック アシスト」の使い方 - GIGAZINE

関連記事: