为了让IT人员能通过网络远程于工作站、服务器大量部署Windows操作系统,微软在服务器操作系统提供了Windows部署服务(Windows Deployment Services,WDS)的功能,但有研究人员发现,这项服务存在拒绝服务(DoS)漏洞,可能导致企业网络遭到瘫痪,而且,过程中完全无需通过身份验证,也不需用户互动。

此消息引发Daily CyberSecurity等安全媒体报道,通报此事的中国华中科技大学(HUST)副教授彭峙酿表示,他在今年2月发现WDS的安全弱点,攻击者有机会远程大量消耗内存,而能在未经身份验证的情况下,让WDS停摆。由于WDS在企业环境广泛运用,这样的弱点很有可能造成严重的灾难。彭峙酿向微软通报此事,4月下旬得到回复,微软认定这项弱点为中度风险,并未达到安全服务水平而不给处理。对此,彭峙酿指出,由于目前没有其他的缓解措施,因此企业最好暂停使用WDS。

对于一般用户而言,可能会通过DVD光盘或USBU盘,安装或重装Windows,而对于企业IT人员来说,他们可能要应对数百、数千台计算机,势必要通过自动化部署机制,大量交付操作系统安装文件并执行相关设置。而这种部署机制的运行,大致上是用户计算机通过预先启动执行环境(Preboot Execution Environment,PXE)开机,然后向提供WDS服务的服务器发出请求,通过网络取得操作系统的镜像文件。WDS服务器收到请求后,便通过TFTP及多播(multicast)通信协议,向用户计算机提供相关的镜像文件。

而彭峙酿发现的弱点,原因就在WDS使用了69端口,并通过UDP通信协议创建TFTP服务,然后利用PXE向用户计算机发送Windows安装所需的镜像文件。但在用户计算机与WDS服务器创建连接的过程里,服务器会分配名为CTftpSession的对象,却没有限制连接(Session)的数量,而让攻击者有机可乘,只要伪造用户计算机IP地址及连接端口,并重复创建连接,就可能让服务器的系统资源耗尽。

为了验证这项弱点,彭峙酿设置具有8 GB内存的计算机,并不断发送恶意UDP封包来触发漏洞,当内存使用量达到15 GB后,就出现服务中断的现象。上述过程研究人员耗时7分钟,但若是通过多线程进行,将会加快攻击的速度。

另一方面,由于UDP服务器无法验证封包的来源,攻击者还能使用随机的IP地址及连接端口,强迫服务器在内存内产生更多连接阶段对象。