譯者 | 陳峻
審校 | 孫淑娟
先進(jìn)的技術(shù)往往不一定具有完備的安全性。例如,閃存驅(qū)動器里就可能被植入攜帶式鍵盤記錄器,而在各種最新的瀏覽器中也可能被安插了后門代碼,就連不斷推出新版本的Windows,也從來沒有間斷地發(fā)布著各種針對系統(tǒng)漏洞的安全補(bǔ)丁與修復(fù)程序。同樣,作為一種技術(shù)進(jìn)步,通用即插即用(Universal Plug and Play,UPnP)在給用戶帶來便利的同時,由于各種原因也存在著一些自身的安全弱點(diǎn),進(jìn)而讓使用它的系統(tǒng)變得易受攻擊。
下面,我將向您深入介紹什么是UPnP,它為什么會對網(wǎng)絡(luò)系統(tǒng)帶來安全漏洞,以及如何關(guān)閉UPnP以提高安全態(tài)勢。
什么是UPnP?
從技術(shù)角度來說,UPnP是一種網(wǎng)絡(luò)協(xié)議(實(shí)際上是一組網(wǎng)絡(luò)協(xié)議)。這些協(xié)議提供了一種特定的通信方法,以方便各種設(shè)備在網(wǎng)絡(luò)上實(shí)現(xiàn)快速的相互通信。在大多數(shù)情況下,設(shè)備可以使用它來輕松地發(fā)現(xiàn)特定網(wǎng)絡(luò)中的其他設(shè)備。目前,UPnP的使用已經(jīng)非常普遍,您家的路由器上很可能就正在使用著該協(xié)議。
UPnP的另一個典型應(yīng)用場景是查找打印機(jī)。過去,您必須通過手動搜索和設(shè)置的方式,以便其他的網(wǎng)絡(luò)設(shè)備或主機(jī)可以找到新入網(wǎng)的打印機(jī)。如今,有了UPnP,我們便可以自動發(fā)現(xiàn)的方式,快速地找到通過有線或無線方式連接到網(wǎng)絡(luò)中的打印機(jī)。
在完成連接之后,網(wǎng)絡(luò)上的設(shè)備可以通過該協(xié)議持續(xù)進(jìn)行后續(xù)的數(shù)據(jù)發(fā)送和接收。例如:用戶主機(jī)可以調(diào)用打印機(jī)去打印文檔,向移動應(yīng)用傳輸音頻數(shù)據(jù)。同時,移動設(shè)備也可以將自身作為一個驅(qū)動盤掛載到計算機(jī)上??梢哉f,該協(xié)議的使用場景非常豐富。而且,這些場景主要集中在家庭網(wǎng)絡(luò)中,并不涉及到商業(yè)網(wǎng)絡(luò)中的互聯(lián)互通。
UPnP可謂目前最方便的網(wǎng)絡(luò)技術(shù)之一。正如其名稱所示,只要您插入(接入)設(shè)備,即可立即開始使用它,而無需額外的設(shè)置或配置。不過,我們常說事物都有兩面性。該協(xié)議的便利性往往是和安全性成反比的。
UPnP是否存在安全風(fēng)險?
十多年來,UPnP一直因其安全漏洞等問題而受到抨擊。FBI和美國國土安全部都曾建議用戶禁用他們的UPnP設(shè)置,以盡量減少暴露或遭遇損壞的風(fēng)險。同時,如果您在互聯(lián)網(wǎng)上粗略地搜索關(guān)鍵字“UPnP漏洞”的話,也能找到大量說明UPnP風(fēng)險的結(jié)果。而且,UPnP的安全缺陷不只會影響到那些舊的硬件。
從發(fā)展歷程上說,自2008年被推出以來,業(yè)界的安全工程師們已經(jīng)發(fā)現(xiàn)了許多UPnP漏洞。而UPnP的最新主要漏洞—??CallStranger UPnP???是在2020年被發(fā)現(xiàn)的。該漏洞能夠有效地允許攻擊者繞過各種安全限制,進(jìn)而直接實(shí)現(xiàn)數(shù)據(jù)的盜用。此外,在2022年初,安全公司Akami便更新了其有關(guān)UPnProxy的報告(雖然UPnProxy漏洞是在2018年被首次發(fā)現(xiàn)的)。該報告著重論述了??EternalSilenceUPnP??漏洞的詳細(xì)信息,并且預(yù)警了全球數(shù)百萬臺路由器都可能帶有此類漏洞。
為什么UPnP一直存在著安全風(fēng)險?
至此,您一定想知道為什么UPnP的安全問題屢禁不止呢?實(shí)際上,由于UPnP假設(shè)每個連接設(shè)備都是值得信賴的,因此它會自動打開各個端口,并授權(quán)端口的轉(zhuǎn)發(fā)連接。那怕您不是安全專家,也可能已經(jīng)意識到了這會是一個重大的風(fēng)險點(diǎn)。雖然大多數(shù)路由器會去主動阻止各種惡意連接,但是那些配置不當(dāng)且已啟用了UPnP的路由器,很可能會根據(jù)某個惡意傳入的連接,而授予攻擊者對于內(nèi)部網(wǎng)絡(luò)的訪問權(quán)限。
當(dāng)然,這只是UPnP成為安全問題的一種攻擊可能性。另一個安全風(fēng)險則源于惡意軟件能夠輕松地感染網(wǎng)絡(luò)中的設(shè)備,并利用UPnP在網(wǎng)絡(luò)中肆意傳播。正是由于路由器的配置不當(dāng),因此各種使用UPnP連接到受感染設(shè)備上的其他部件,都會在合法連接的狀態(tài)下,迅速被感染中招。
UPnP也可能招致大量的DDoS攻擊。例如,強(qiáng)大的Mirai僵尸網(wǎng)絡(luò)就能夠使用被開啟和配置了UPnP協(xié)議的物聯(lián)網(wǎng)設(shè)備,來放大其攻擊能力,進(jìn)而利用僵尸網(wǎng)絡(luò)使各種目標(biāo)網(wǎng)站被迫下線。這同時也引出UPnP的另一個問題:許多IoT設(shè)備雖然被開啟和配置了UPnP,但是往往無法實(shí)現(xiàn)升級、更改、甚至是從根本上禁用UPnP。也就是說,如果此類設(shè)備沒有在首次被配置妥當(dāng),那么就會成為物聯(lián)網(wǎng)的一個安全暴露點(diǎn)。
如何關(guān)閉UPnP
通常,UPnP的漏洞可以被歸納為如下兩個主要方面:
- 編程錯誤:由于在UPnP代碼中存在著各種缺陷,導(dǎo)致了它們會被注入惡意代碼,進(jìn)而被利用和執(zhí)行。
- 意外暴露:雖然UPnP的目的是為了使網(wǎng)絡(luò)上的設(shè)備可以輕松地發(fā)現(xiàn)彼此,但不幸的是,一些UPnP控制接口可能會被暴露在公共互聯(lián)網(wǎng)上,從而使得惡意用戶能夠查找到,并獲取針對私有設(shè)備的訪問權(quán)限。
鑒于上述兩種原因,業(yè)界廣泛建議用戶關(guān)閉UPnP功能。但是,由于該協(xié)議帶來的便利性,以及正在使用該協(xié)議的設(shè)備和制造商眾多,我們不可能將它們迅速禁用掉。目前,一種比較好的實(shí)踐方式是讓用戶主動根據(jù)設(shè)備的型號與特點(diǎn),在互聯(lián)網(wǎng)通過“如何禁用UPnP”的關(guān)鍵字,去搜索正確的處理方式。
一般而言,為了在路由器上禁用UPnP,您需要在瀏覽器的地址欄中輸入路由器IP地址,然后登錄到該路由器的配置界面上。在獲取了管理員級別的訪問權(quán)限后,您通常可以在高級菜單的相關(guān)配置界面中,發(fā)現(xiàn)UPnP的設(shè)置與路由器的端口轉(zhuǎn)發(fā)選項(xiàng)同屬一個分類(如下圖所示),進(jìn)而完成配置上的調(diào)整。
當(dāng)然,您也不必急于將其關(guān)閉。更恰當(dāng)?shù)膶?shí)踐方式是:先定期接收并更新路由器的固件,再著手處理UPnP的相關(guān)設(shè)置問題。
如果不能禁用UPnP該怎么辦?
正如上文所討論的,我們完全可以輕松地在大多數(shù)設(shè)備上,關(guān)閉UPnP的選項(xiàng)。當(dāng)然,某些簡化的設(shè)備可能不具備該項(xiàng)功能設(shè)置。對此,我的建議是,我們與其花時間去研究如何調(diào)整UPnP的設(shè)置,不如通過部署或優(yōu)化其他安全組件,來提高其所處網(wǎng)絡(luò)的整體安全態(tài)勢。
譯者介紹
陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對內(nèi)外部資源與風(fēng)險實(shí)施管控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗(yàn);持續(xù)以博文、專題和譯文等形式,分享前沿技術(shù)與新知;經(jīng)常以線上、線下等方式,開展信息安全類培訓(xùn)與授課。
原文標(biāo)題:??What Is UPnP & Why Is It Dangerous???,作者:Gavin Phillips