就像照明開關或者ON按鈕,通用隨插即用(Universal Plug and Play,UPnP)協議是終端用戶在網絡設備日常使用中最常用的,但也是經常被忽視的。與廣義的即插即用不同,UPnP允許網絡設備通過IP相互連接,而不需要終端用戶的任何配置。例如,當用戶插入一臺計算機到以太網LAN,UPnP是最有可能用于設備發現的協議。
簡單地把設備插入,不需要終端用戶進行任何配置就可以讓它正常運作,這能給終端用戶帶來更好的體驗。然而,UPnP協議最大的優勢可能也是其最大的弱點。漏洞管理供應商Rapid7的研究人員發現,數百萬終端用戶設備會響應來自互聯網的UPnP發現請求,這個簡單而深刻的發現提高了人們對UPnP安全風險的認識。所以對企業來說,UPnP安全嗎?
UPnP安全風險
通常情況下,UPnP是結合動態主機配置協議(DHCP)服務器使用,雖然它并不一定需要這個服務器。在DHCP為中心的架構中,終端用戶可能通過任何網絡允許的媒介插入設備,如果該終端設備啟用了DHCP,該設備將會立即廣播簡單服務發現協議消息,以定位DHCP服務器。
如果DHCP服務器被找到,將會進行信息交換,終端設備將分配一個IP地址。如果DHCP沒有被找到,終端設備通常會被配置為允許它自動配置IP地址,但不能與網絡上同樣也是自動配置IP地址的其他設備相沖突。
當來自互聯網的合法應用程序試圖進入某個的網絡時,UPnP提供端口映射功能,允許這些設備在防火墻穿過網絡地址轉換機制。這通常在簡單對象訪問協議(SOAP)保護下進行,UPnP這個基于 XML 的協議與HTTP消息結合使用毫無問題。以前人們認為UPnP帶來很多便利,而不是漏洞, 然而Rapid7對該功能進行了研究,其研究結果引起安全專業人士的恐慌。這種恐慌主要圍繞兩個主要問題。
首先, HTTP消息幾乎都是通過TCP端口80來交換。在企業級的防火墻通常會允許端口80的網絡流量,原因在于大多數連接互聯網的企業網絡都有某種Web服務器可供公眾訪問,所以TCP端口80通常是開放的。
其次,UPnP不是特定供應商的協議,所以,任何修復程序、緩解或者更新不是來自某個集中存儲庫而隨后推送到終端用戶處。這些修復程序將由不同供應商發布,但在向后兼容性、跨平臺功能和整體功能等問題上,很少有人去解決。
這看起來很棘手。從企業的角度來看,明智的網絡管理員應該在可行的情況下,禁用所有UPnP功能。除非管理員的網絡要使用網絡電話(VoIP )或其他需要端口轉發的服務(例如網絡地址轉換、SSH通道等),否則都應該禁用UPnP來避免不必要的風險,直到在網絡和IT安全行業的巨頭合作提出可行解決辦法。