长话短说
微软的远程桌面协议(RDP)因其允许使用已更改或撤销的密码登录Windows系统而引发了广泛关注。这一行为被微软归类为设计决策,而非安全漏洞,旨在确保用户在任何情况下都能访问其设备。然而,安全研究员和专家对此提出质疑,认为这违背了用户对密码更改后应立即撤销访问的普遍预期。本文将深入探讨这一问题的背景、机制、影响以及可能的缓解措施。
远程桌面协议(RDP)概述
RDP是微软开发的一种专有协议,自Windows NT 4.0以来一直是Windows系统的核心功能。它允许用户通过网络连接到远程计算机,提供与本地操作相同的图形界面。RDP广泛应用于企业环境中的远程管理和个人用户远程访问家庭或工作计算机。自Windows XP以来,RDP客户端已内置于专业版和服务器版操作系统中。
当用户使用Microsoft或Azure账户登录Windows计算机时,系统会将凭据以加密形式存储在本地硬盘上。这种缓存机制支持离线登录,确保用户即使在无网络连接时也能访问设备。然而,这一机制也导致了当前争议的核心问题。
RDP 配置窗口的屏幕截图显示 Microsoft 账户(用于 Hotmail)具有远程访问权限。然而,即使用户更改了账户密码,该密码在 RDP 登录中仍然有效。Wade 报告称,在某些情况下,多个旧密码仍然有效,而新密码则无效。结果就是:绕过云验证、多因素身份验证和条件访问策略的持久 RDP 访问。
问题的核心:旧密码仍然有效
独立安全研究员Daniel Wade于2025年初向微软安全响应中心报告了这一行为。他提供了详细的步骤,证明即使在用户更改了Microsoft或Azure账户密码后,旧密码仍可用于RDP登录。在某些情况下,多个旧密码可能有效,而新密码却无效。这种行为源于Windows在RDP会话中处理身份验证的方式:
-
初始登录:用户首次使用Microsoft或Azure账户凭据登录时,Windows在线验证密码并将加密的凭据存储在本地。 -
后续RDP登录:系统通过与本地缓存的凭据比较来验证输入的密码,而不一定进行在线重新验证。 -
结果:如果输入的密码与任何先前有效的缓存凭据匹配,即使该密码已在云端更改,系统仍会授予访问权限。
Wade在报告中警告说,这种设计违背了几乎普遍的预期:更改密码应立即阻止使用旧凭据访问任何设备或账户。他写道:“这不仅仅是一个漏洞,而是一次信任的崩塌。人们相信修改密码就能切断未经授权的访问。这是任何人怀疑受到攻击后都会做的第一件事。”
微软的回应:设计而非漏洞
微软对Wade的报告做出了回应,确认此行为是有意设计的,目的是确保即使系统长时间离线,至少有一个用户账户始终能够登录。公司表示,这种设计决策优先考虑了可用性,防止用户被完全锁定在系统之外。微软进一步指出,修改此行为可能破坏与依赖当前RDP功能的应用程序的兼容性。
微软已更新其在线文档,增加了以下警告:
警告当用户执行本地登录时,其凭据会先在本地根据缓存副本进行验证,然后再通过网络与身份提供程序进行身份验证。如果缓存验证成功,即使设备处于离线状态,用户也可以访问桌面。但是,如果用户在云端更改密码,缓存的验证程序不会更新,这意味着用户仍然可以使用旧密码访问本地计算机。
然而,安全专家认为,这一更新不够明确,且未提供清晰的指导,指导用户在Microsoft或Azure账户被盗用时应如何锁定RDP访问。
安全影响与专家观点
这一设计决策引发了安全社区的广泛担忧。Analygence高级漏洞分析师Will Dormann表示:“从安全角度来看,这毫无意义。如果我是系统管理员,我会认为,一旦我更改了账户密码,该账户的旧凭证就无法在任何地方使用了。但事实并非如此。”
以下是这一行为的主要安全风险:
-
持久后门:旧密码的持续有效性为攻击者创建了一个静默的远程后门。如果密码被公开泄露,攻击者可以使用旧密码通过RDP访问系统,而用户可能毫无察觉。 -
绕过安全措施:由于RDP在验证缓存凭据时不依赖云验证,攻击者可以绕过多因素身份验证和条件访问策略。 -
无警报触发:微软的安全工具(如Defender、Entra ID和Azure)不会标记使用旧密码的RDP登录尝试,导致用户无法及时发现异常。 -
广泛影响:数百万用户,包括家庭用户、小型企业和混合工作环境中的员工,可能在不知不觉中面临风险。
Wade在报告中强调:“这会在任何缓存过密码的系统中创建一个静默的远程后门。即使攻击者从未访问过该系统,Windows仍然会信任该密码。”
用户与管理员的缓解措施
尽管微软没有计划更改此行为,用户和管理员可以采取以下措施降低风险:
-
配置RDP使用本地凭据: -
在RDP设置中,将身份验证配置为仅使用本地存储的凭据。这可以通过RDP属性窗口调整,确保远程连接仅验证本地缓存的凭据。 -
微软建议此方法作为主要缓解措施,尽管它可能需要额外的配置工作。 -
加强访问控制: -
实施虚拟专用网络(VPN)以限制RDP访问,仅允许受信任的网络连接。 -
使用多因素身份验证(MFA)增强账户安全性,尽管MFA在本地缓存验证中可能无效。 -
限制RDP访问权限,仅允许特定用户或设备。 -
定期监控与更新: -
定期检查RDP配置,确保其符合安全最佳实践。 -
监控登录日志,识别任何使用旧凭据的异常尝试。 -
在更改密码后,强制本地登录以同步缓存凭据。 -
替代远程访问协议: -
对于高安全需求的场景,考虑使用第三方远程访问工具,这些工具可能提供更严格的凭据管理。
以下表格总结了缓解措施及其优缺点:
措施 | 优点 | 缺点 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
社区与行业反应
这一问题并非首次被发现。微软透露,早在2023年8月,另一位研究人员就报告了类似行为,但公司认为其不符合安全漏洞赏金计划的资格。当时,微软工程师曾考虑修改代码,但最终因兼容性问题放弃了修复尝试。
安全社区对此反应强烈。许多专家认为,微软的决定反映了在便利性与安全性之间优先考虑前者的倾向。Dormann指出,大多数管理员可能难以发现文档更新,且更新内容缺乏明确的操作指导。这种缺乏透明度和行动的情况加剧了用户的不信任感。
此外,网络安全领域的讨论强调了用户教育的重要性。许多用户可能不知道RDP的这一行为,也不知道如何配置系统以降低风险。行业专家呼吁微软提供更清晰的指导和工具,帮助用户检测和修复潜在的漏洞。
结论
微软RDP允许使用旧密码登录的争议凸显了现代计算环境中便利性与安全性之间的微妙平衡。微软的初衷是防止用户被锁定在系统之外,但这一设计无意中为攻击者创造了可利用的漏洞。随着网络威胁的不断演变,微软等科技公司需要持续重新评估其设计决策,确保其与用户对安全性的期望保持一致。
目前,用户和管理员必须保持警惕,采取最佳实践来保护其系统免受此功能潜在滥用的影响。这包括配置RDP以使用本地凭据、实施严格的访问控制以及定期监控系统活动。未来,微软可能需要探索更安全的方法来平衡可用性和安全性,以恢复用户对其远程访问协议的信任。
原文始发于微信公众号(独眼情报):微软RDP允许使用旧密码登录:安全隐患还是必要功能?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论