知名路由器D-Link、NETGEAR、TP-LINK上重要驅動組件NetUSB被曝存在嚴重的遠程溢出漏洞,影響數以百萬計的路由和嵌入式設備。NetUSB技術由臺灣企業盈碼科(KCodes)開發。
NetUSB技術
NetUSB技術由臺灣企業盈碼科(KCodes)開發,旨在提供設備上的USB功能。它依賴Linux內核驅動器啟動與運行Windows 或OS X電腦系統軟件中客戶端通信的服務器。該功能允許用戶連接USB設備(打印機、硬盤驅動器)。不同廠商對此有不同的稱呼,包括“ReadySHARE”、“USB分享端口”或“打印分享”等。
漏洞描述
這個漏洞是由奧地利安全公司SEC Consult的研究員Stefan Viehbock提交的,漏洞的編號為CVE-2015-3036,當客戶端發送計算機名到網絡設備的服務端(TCP端口 20005)時,同該端口建立連接后,就可以觸發這個漏洞。
如果客戶端發送的計算機名長度大于64字符,會讓含NetUSB模塊的設備出現溢出,從而造成內存破壞。周四,SEC Consult的一份聲明里提到:
“因為服務端缺乏足夠的驗證,過長的計算機名可能會被黑客利用來進行內核溢出攻擊,最后可能會演變成遠程代碼攻擊或者DoS攻擊。”
漏洞如何形成的?
SEC Consult公司的研究人員在一臺TP-Link設備上,演示了對NetUSB驅動的漏洞利用過程:首先,為了建立客戶端對服務端的連接,需要AES密鑰認證。然而研究人員表示,這個認證是可以被繞過的,因為AES密鑰同時存在于內核驅動里和Windows和OS X的客戶端里。
“存在漏洞情況下,NetUSB的服務端代碼會運行在內核模式下,所以這是一個“罕見”的遠程溢出攻擊。”
漏洞危害
在內核模式下運行NetUSB服務代碼是很致命的,黑客利用這個漏洞,可以輕松地在內核層面遠程執行惡意代碼,掌握路由等網絡設備的生死命脈。(這個漏洞意味著黑客可以高權限操控網絡設備。無論是想弄垮設備的內核模塊,或者利用網絡設備做中間人,給受害人的計算機安裝惡意軟件,都是可以的)
受影響廠商
SEC Consult公司認為以下集成了臺灣盈碼科技的NetUSB驅動的設備,都可能受到該漏洞的影響:
ALLNET, Ambir Technology, AMIT, Asante, Atlantis, Corega, Digitus, D-Link, EDIMAX, Encore Electronics, EnGenius, HawkingTechnology, IOGEAR, LevelOne, LONGSHINE, NETGEAR, PCI, PROLiNK, Sitecom, TP-LINK, TRENDnet, Western Digital, ZyXEL。
廠商回應
SEC Consult公司在二月份和三月份聯系了臺灣盈碼科技幾次,確認了該漏洞的細節,提供了POC代碼。不過,該漏洞現在仍然沒有出補丁。在公開漏洞細節后,SEC Consult公司又不辭辛苦地聯系了TP-Link和NetGear兩家廠商,以及諸多CERT機構,通知了他們漏洞的相關情況。目前為止,只有TP-Link公司給這個漏洞提供了修補方案,給旗下約40個產品打上了補丁,而NetGear公司還沒發布補丁。至于其他廠商,現今并未對此漏洞做出回應。
臨時解決方案
NetUSB的服務在所有含漏洞的設備中都默認啟用,也就是說即使沒有連接USB設備,NetUSB服務依然正常運行。在某些廠家的設備上,用戶可以從WEB的管理控制界面關閉這個服務,也可以用防火墻屏蔽網絡設備的20005端口。然而,該有些廠家的設備并不能實現這點。
“至少在NETGEAR設備上,是不能臨時補上這個漏洞的。NETGEAR公司的人員告訴我們,TCP端口20005不能被防火墻屏蔽,也沒有辦法禁用他們設備上的這種NetUSB服務。”
如果你的設備存在這個漏洞,那最近就需要密切注意產品更新,爭取在受到攻擊前盡快打上補丁。