新聞中心
漏洞預警 | Remote Desktop Protocol任意代碼執行漏洞(CVE-2019-07
漏洞信息
漏洞描述
CVE-2019-0708,屬于遠程代碼執行漏洞,當未經身份驗證的攻擊者使用RDP連接到目標系統并發送特制請求時,即可觸發該漏洞。無需用戶交互,成功利用此漏洞的攻擊者可以安裝應用程序,查看、更改、刪除數據或創建具有完全用戶權限的新賬戶。此外,惡意攻擊者還很有可能利用該漏洞專門編寫惡意代碼到定制的惡意軟件,攻擊易受感染的主機并進行病毒傳播。
漏洞分析
漏洞原理
Windows Server 2000使用RDP 5.1定義了32個靜態虛擬信道(Static Virtual Channel, SVC),由于信道數量的限制,進一步定義了動態虛擬信道(Dynamic Virtual Channel, DVC),這些信道包含在專用SVC中。 SVC在會話開始時創建并保持到會話終止,而DVC將會根據是否需要確定是否創建和拋棄。
此次微軟補丁termdd.sys中的_IcaBindVirtualChannels和_IcaRebindVirtualChannels函數用于對這32個SVC進行綁定相關操作。
如下圖所示,RDP連接序列在信道安全屬性設置之前就進行了連接和設置,這為CVE-2019-0708的創建和傳播提供了條件。

漏洞流量分析
下圖展示了一個標準GCC Conference初始化序列的信息。

然而,在GCC Conference初始化期間,攻擊者可以在31之外的信道上設置另一個名為”MS_T120”的SVC,這種行為將會導致堆內存破壞,最終可以實現遠程代碼執行。下圖展示了GCC Conference初始化序列期間的異常信道請求:

漏洞補丁函數分析

通過對微軟更新的CVE-2019-0708補丁的分析,可以發現該補丁修復了RDP驅動程序termdd.sys中的_IcaBindVirtualChannels和_IcaRebindVirtualChannels函數。
下圖補丁函數分析所示,Microsoft補丁針對使用了信道名稱“MS_T120”的情況下,添加了對客戶端連接請求的檢查,并確保它在termdd.sys中的_IcaBindVirtualChannels和_IcaRebindVirtualChannels函數中僅綁定到通道31(1Fh)。


影響范圍
暴露資產情況

由以上數據統計看來,國內RDP的使用基數很高,用戶相當廣泛。其中RDP使用量最高的三個省市是北京,浙江以及廣東。北京的使用量最高,數量達864982臺,浙江省的使用量也達57萬以上,廣東省的使用量達27萬。因此,針對此次RDP的漏洞防范尤為重要。

目前受影響Windows版本
Microsoft Windows Server 2008 R2 for x64-based Systems SP1
Microsoft Windows Server 2008 R2 for Itanium-based Systems SP1
Microsoft Windows Server 2008 for x64-based Systems SP2
Microsoft Windows Server 2008 for Itanium-based Systems SP2
Microsoft Windows Server 2008 for 32-bit Systems SP2
Microsoft Windows Server 2003
Microsoft Windows 7 for x64-based Systems SP1
Microsoft Windows 7 for 32-bit Systems SP1
解決方案
深信服下一代防火墻可輕松防御此漏洞,建議部署深信服下一代防火墻的用戶更新至最新的安全防護規則,可輕松抵御此高危風險。修復建議如下:及時安裝微軟發布的安全更新補?。?/span>
Microsoft官方已經在 2019年5月14日修復了該漏洞,用戶可以通過安裝微軟的安全更新來給系統打上安全補丁,下載地址為:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708同時針對已不受微軟更新支持的系統Windows Server 2003和Windows XP提供的安全更新,下載地址:https://support.microsoft.com/zh-cn/help/4500705/customer-guidance-for-cve-2019-0708
緩解措施(在無法及時安裝微軟安全更新的情況下作為臨時性解決方案)
若用戶不需要用到遠程桌面服務,建議禁用該服務。開啟網絡級別身份驗證(NLA),此方案適用于Windows 7, Windows Server 2008, Windows Server 2008 R2。
暫時性修改RDP的連接端口,默認端口為3389。
使用ACL對RDP的訪問來源進行限制。
使用RDP網關,網關的功能是安全的將流量從遠程客戶端傳遞到本地設備。
使用RDP網關可以防止或最小化遠程用戶訪問,并使組織能夠更好的控制用戶角色,訪問權限和身份驗證需求。
以上緩解措施只能暫時性針對該漏洞對系統進行部分緩解,強烈建議在條件允許的情況下及時安裝微軟安全更新。
參考鏈接
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708https://securingtomorrow.mcafee.com/other-blogs/mcafee-labs/rdp-stands-for-really-do-patch-understanding-the-wormable-rdp-vulnerability-cve-2019-0708/
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/5073f4ed-1e93-45e1-b039-6e30c385867c