暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

RDP中的安全协议

启明星辰金睛安全研究团队 2020-05-11
1309
RDP作为微软在Windows中实现的远程桌面协议,跟随着Windows已经改良更新了多个版本。作为Windows自带的模块,它允许用户通过网络对远程主机进行控制,由于Windows在世界范围内的广泛使用和最近疫情的影响,数以百万计的人都在使用RDP作为远程办公的手段,所以为了保护远程主机的安全,我们来适当了解了RDP的安全验证部分。
首先,由于RDP版本的影响,RDP的安全协议大致分为两种:
1、标准型RDP安全性
2、增强型RDP安全性
所有版本的RDP都默认支持标准型RDP安全性,但是低版本无法使用高版本中支持的部分增强型安全协议。其中标准型安全性作为低版本RDP中使用的加密方式,存在四个加密等级,如图:

通过该字段双方协商出的结果,也就可以确定后面的加密应该是按照客户端还是服务端所支持的加密方式进行。而加密方式的可选值如下:

此时,如果服务端无法选择要使用的加密方法,则会发送密码协商失败。如:双方在加密等级中选择低,此时加密方法的选择应该是按照客户端所支持的最高等级来定,这个时候如果服务端仅支持40bit和56bit的加密方式,而客户端支持40bit、56bit和128bit的加密方式,由于服务端无法支持128bit,协商就会出错。
由上可见,标准型RDP安全的数据加密核心还是依靠双方交换的随机数所生成的RC4密钥作为加解密的手段。这种做法缺点是显而易见的,公开的密钥生成手段和双方明文交换的随机数带来的后果就是极大程度的提升了中间人攻击的机会。
而增强性的RDP则是将所有的安全性操作(如交换数据的加解密、完整性检查、服务端的身份验证等)都交给了外部协议去实现,具体如图:

所以对比标准型,使用增强型所带来的一个显而易见的好处就是减少了中间人攻击的风险,另外就是RDP相关开发人员可以不再手动去实现安全协议。与此同时,在使用CredSSP作为外部认证的协议时,服务端还可以对客户端实现网络级别的身份验证,也就是常说的NLA。开启NLA之后,在攻击者未获取到正确的用户名和密码的情况下,可以极大程度上的暂缓各种RDP漏洞的利用。并且从Windows Vista开始,微软就开始提供强制使用NLA进行RDP连接的选项。
文章转载自启明星辰金睛安全研究团队,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论