周 荊 李青山 陳 鐘
(網(wǎng)絡(luò)和軟件安全保障教育部重點(diǎn)實(shí)驗(yàn)室(北京大學(xué)) 北京 100871)(sssz@pku.edu.cn)
近年來,隨著可穿戴設(shè)備、智能攝像頭、智能電視盒子、智能汽車等智能聯(lián)網(wǎng)設(shè)備的迅速發(fā)展和普及,智能聯(lián)網(wǎng)設(shè)備的安全性也受到更多的重視.根據(jù)國(guó)家互聯(lián)網(wǎng)應(yīng)急中心(CNCERT CC)公布的數(shù)據(jù),智能互聯(lián)設(shè)備暴露出的漏洞逐漸增多.2016年CNVD共公開收錄1 117個(gè)物聯(lián)網(wǎng)設(shè)備漏洞,涵蓋網(wǎng)絡(luò)攝像頭、路由器、智能電視盒子等類型的物聯(lián)網(wǎng)設(shè)備,其中,權(quán)限繞過、拒絕服務(wù)、信息泄露漏洞數(shù)量位列前三[1].
針對(duì)智能聯(lián)網(wǎng)設(shè)備的攻擊事件也呈上升趨勢(shì).攻擊者利用設(shè)備漏洞可導(dǎo)致設(shè)備拒絕服務(wù)、獲取設(shè)備控制權(quán)限或竊取用戶信息數(shù)據(jù)、劫持網(wǎng)絡(luò)流量等其他黑客地下產(chǎn)業(yè)交易,或用于被控制形成大規(guī)模僵尸網(wǎng)絡(luò).
2016年底,Mirai僵尸網(wǎng)絡(luò)因制造美國(guó)東海岸大規(guī)模斷網(wǎng)事件和德國(guó)電信大量用戶訪問網(wǎng)絡(luò)異常事件而受到廣泛關(guān)注.Mirai利用智能聯(lián)網(wǎng)設(shè)備的漏洞對(duì)設(shè)備進(jìn)行控制并不斷傳播,被控制的設(shè)備數(shù)量累計(jì)到一定數(shù)目便形成一個(gè)龐大的“僵尸網(wǎng)絡(luò)”.僵尸網(wǎng)絡(luò)可以輕易地通過DDoS攻擊使攻擊目標(biāo)系統(tǒng)進(jìn)入癱瘓狀態(tài),對(duì)公共和個(gè)人利益造成極大的損失.根據(jù) CNCERT CC的報(bào)告,截至2016年底,共發(fā)現(xiàn)2 526臺(tái)控制服務(wù)器控制了125.4萬余臺(tái)物聯(lián)網(wǎng)智能設(shè)備,對(duì)互聯(lián)網(wǎng)的穩(wěn)定運(yùn)行構(gòu)成了嚴(yán)重的潛在安全威脅[2].
智能聯(lián)網(wǎng)設(shè)備連接成的網(wǎng)絡(luò)是一種物聯(lián)網(wǎng),是傳統(tǒng)互聯(lián)網(wǎng)的進(jìn)一步拓展.物聯(lián)網(wǎng)不僅擁有傳統(tǒng)互聯(lián)網(wǎng)的特點(diǎn),而且基于真實(shí)生活中的各種設(shè)備,擁有豐富的傳感器信息,是一個(gè)更加生活化、復(fù)雜化的網(wǎng)絡(luò).
信息安全資產(chǎn)是對(duì)組織具有一定價(jià)值的東西.資產(chǎn)以任何形式存在,如物理上的電腦硬件、軟件、網(wǎng)絡(luò)設(shè)施;邏輯上的數(shù)據(jù)庫(kù)文件、計(jì)算資源、權(quán)限配置;抽象的組織聲譽(yù)、個(gè)人隱私等.資產(chǎn)的安全需要從資產(chǎn)的機(jī)密性、完整性和可用性3個(gè)方面來評(píng)價(jià),這3方面安全屬性和達(dá)成程度對(duì)組織造成的影響決定資產(chǎn)的價(jià)值[3].例如,當(dāng)個(gè)人隱私的機(jī)密性不足時(shí)會(huì)對(duì)個(gè)人帶來極其嚴(yán)重的影響,所以,個(gè)人隱私是個(gè)人至關(guān)重要的資產(chǎn).
在智能聯(lián)網(wǎng)設(shè)備的場(chǎng)景中,傳感器感知到的個(gè)人隱私和設(shè)備提供的服務(wù)是價(jià)值等級(jí)很高的資產(chǎn).智能聯(lián)網(wǎng)設(shè)備自身的硬件資源、使用的網(wǎng)絡(luò)資源、網(wǎng)絡(luò)連接證書是價(jià)值等級(jí)高的資產(chǎn),而設(shè)備的日志是價(jià)值等級(jí)中等的資產(chǎn).
智能聯(lián)網(wǎng)設(shè)備組成的網(wǎng)絡(luò)具有感知層、網(wǎng)絡(luò)層、應(yīng)用層3個(gè)層次,這3個(gè)層次面臨不同的安全威脅[4].
感知層的作用是感知數(shù)據(jù)、接收數(shù)據(jù)、傳遞數(shù)據(jù).感知層作為與真實(shí)數(shù)據(jù)的接觸,主要面臨著惡意假冒設(shè)備,感知數(shù)據(jù)被竊取、篡改、重放的安全威脅.
網(wǎng)絡(luò)層依賴傳統(tǒng)的網(wǎng)絡(luò)傳輸技術(shù),因此面臨傳統(tǒng)互聯(lián)網(wǎng)的網(wǎng)絡(luò)威脅.智能聯(lián)網(wǎng)設(shè)備組成的網(wǎng)絡(luò)其另一個(gè)特點(diǎn)是網(wǎng)絡(luò)節(jié)點(diǎn)多,可被攻擊利用的節(jié)點(diǎn)也多.眾多的節(jié)點(diǎn)被攻擊者利用將會(huì)對(duì)智能聯(lián)網(wǎng)設(shè)備造成嚴(yán)重的安全威脅.傳輸層還面臨著網(wǎng)絡(luò)傳輸協(xié)議不恰當(dāng)、惡意數(shù)據(jù)、拒絕服務(wù)攻擊等安全威脅.
應(yīng)用層決定了智能聯(lián)網(wǎng)設(shè)備對(duì)使用者的展現(xiàn)形式.功能越多的設(shè)備在應(yīng)用層越復(fù)雜,面臨的威脅越多,威脅帶來的影響和后果也層出不窮.應(yīng)用層威脅帶來的后果包括設(shè)備故障、設(shè)備隱私泄露、設(shè)備權(quán)限被篡改,成為攻擊者的傀儡機(jī).應(yīng)用層面的威脅主要對(duì)來自外部輸入數(shù)據(jù),因此需要對(duì)來自網(wǎng)絡(luò)層、感知層的數(shù)據(jù)進(jìn)行仔細(xì)過濾防范.
脆弱性是信息系統(tǒng)資產(chǎn)固有的屬性.單獨(dú)的脆弱性不會(huì)對(duì)組織造成危害,但是威脅利用脆弱性可能造成危害.資產(chǎn)的脆弱性具有隱蔽性,在正常情況下不會(huì)暴露出來,只有在特殊的條件和環(huán)境下才能顯現(xiàn),而且不同的脆弱性需要在不同的條件下才能暴露出來.因?yàn)榇嗳跣詫?duì)組織具有潛在威脅,所以識(shí)別脆弱性十分必要,但因?yàn)榇嗳跣缘碾[蔽特點(diǎn),識(shí)別脆弱性是很困難的[5].
在智能聯(lián)網(wǎng)設(shè)備的應(yīng)用場(chǎng)景中,智能聯(lián)網(wǎng)設(shè)備往往不是獨(dú)立工作,而是與云端服務(wù)器和控制器相互通信,構(gòu)成了智能聯(lián)網(wǎng)設(shè)備的功能結(jié)構(gòu).如表1所示,智能聯(lián)網(wǎng)設(shè)備的脆弱性主要包括以下方面:網(wǎng)絡(luò)通信脆弱性、數(shù)據(jù)存儲(chǔ)脆弱性、程序邏輯脆弱性.

表1 智能聯(lián)網(wǎng)設(shè)備脆弱性分類
網(wǎng)絡(luò)通信脆弱性是智能聯(lián)網(wǎng)設(shè)備端與端之間通信的脆弱性.包括通信協(xié)議不完備、通信內(nèi)容暴露、身份認(rèn)證脆弱性等方面.通信協(xié)議不完備可以造成不能抵抗重放、篡改,抵抗拒絕服務(wù)攻擊.通信內(nèi)容暴露可以被中間人攻擊(MITM攻擊),導(dǎo)致通信過程的敏感信息泄露.通信內(nèi)容暴露主要是因?yàn)橥ㄐ胚^程采用明文,被破譯的加密傳輸,或者通信過程未校驗(yàn)安全證書.身份認(rèn)證脆弱性是指在通信過程中沒有設(shè)計(jì)完善的身份認(rèn)證機(jī)制,導(dǎo)致消息發(fā)送方是假冒的惡意攻擊者.身份認(rèn)證脆弱性可以導(dǎo)致智能聯(lián)網(wǎng)設(shè)備的正常功能被攻擊者利用而實(shí)施惡意行為.
數(shù)據(jù)存儲(chǔ)脆弱性是指智能聯(lián)網(wǎng)設(shè)備的本地信息存儲(chǔ)的脆弱性,包括文件存儲(chǔ)脆弱性和數(shù)據(jù)庫(kù)存儲(chǔ)脆弱性.文件存儲(chǔ)脆弱性主要指文件權(quán)限設(shè)置不正確、文件內(nèi)容未加密.數(shù)據(jù)庫(kù)存儲(chǔ)脆弱性包括數(shù)據(jù)庫(kù)弱口令、數(shù)據(jù)庫(kù)內(nèi)容未加密.數(shù)據(jù)存儲(chǔ)脆弱性容易在攻擊者和設(shè)備物理接觸或設(shè)備運(yùn)行不可靠代碼時(shí)被利用,進(jìn)而丟失存儲(chǔ)在文件中的日志、用戶名密碼、用戶憑證等信息.例如對(duì)于運(yùn)行Android系統(tǒng)的物聯(lián)網(wǎng)設(shè)備,將文件存儲(chǔ)在任何應(yīng)用都可以訪問的公共目錄下是非常危險(xiǎn)的,而暴露SQLite數(shù)據(jù)庫(kù)的Token可以使攻擊者在程序中查詢、刪除、修改、增加數(shù)據(jù)庫(kù)內(nèi)容,導(dǎo)致智能聯(lián)網(wǎng)設(shè)備不能正常運(yùn)行.
程序邏輯脆弱性是應(yīng)用層程序的缺陷,既包括未處理的邊界值和異常情況,也包括故意在程序中放入的邏輯炸彈、后門等.這類脆弱性不僅難以發(fā)現(xiàn),而且在智能聯(lián)網(wǎng)設(shè)備的版本升級(jí)過程中,十分容易引入新的邏輯脆弱性和修正舊的邏輯脆弱性.因此,這類脆弱性還依賴于版本而存在.
智能聯(lián)網(wǎng)設(shè)備要盡可能通過對(duì)人員的訪談和充分的測(cè)試來發(fā)現(xiàn)脆弱性,也要避免脆弱性的暴露,如對(duì)通信過程進(jìn)行加密、對(duì)應(yīng)用程序進(jìn)行對(duì)抗逆向工程的處理等,增加攻擊者識(shí)別脆弱性的難度.
Hossain等人[6]總結(jié)了物聯(lián)網(wǎng)中的安全問題和面對(duì)的挑戰(zhàn),并深入討論了物聯(lián)網(wǎng)中的攻擊面、威脅模型、安全問題、安全需求和挑戰(zhàn).該文還提出了物聯(lián)網(wǎng)領(lǐng)域中的一些開放性問題,以供研究人員著手思考物聯(lián)網(wǎng)的安全問題.
根據(jù)攻擊所在的網(wǎng)絡(luò),該文將攻擊面分為局域網(wǎng)和公網(wǎng)兩大類.物聯(lián)網(wǎng)設(shè)備和控制器處于同一個(gè)局域網(wǎng)中.協(xié)調(diào)器管理同一個(gè)局域網(wǎng)內(nèi)工作的多個(gè)物聯(lián)網(wǎng)設(shè)備,并且通過局域網(wǎng)網(wǎng)關(guān)與外部網(wǎng)絡(luò)通信.物聯(lián)網(wǎng)設(shè)備服務(wù)提供方在公網(wǎng)工作.根據(jù)攻擊的通信雙方的角色,將攻擊所屬類別分為如表2所示的6類攻擊面[6].該文針對(duì)的身份認(rèn)證脆弱性則是在局域網(wǎng)內(nèi)設(shè)備和控制器交流的攻擊面上.

表2 物聯(lián)網(wǎng)攻擊面
Bertino等人[7]著眼于物聯(lián)網(wǎng)安全中的僵尸網(wǎng)絡(luò)安全問題,從著名的Mirai僵尸網(wǎng)絡(luò)著手,概括性提出了對(duì)抗僵尸網(wǎng)絡(luò)的方法.該方法分為3個(gè)部分,分別是入侵防御、入侵監(jiān)控和報(bào)警響應(yīng).
入侵防御主要通過反病毒軟件防御僵尸感染入侵,如防火墻、內(nèi)容過濾和檢測(cè)技術(shù)能有效防止系統(tǒng)中惡意軟件的入侵.在入侵防御的保護(hù)下,物聯(lián)網(wǎng)仍然可能受到攻擊,所以對(duì)網(wǎng)絡(luò)狀態(tài)和設(shè)備行為的監(jiān)控機(jī)制也至關(guān)重要.可以對(duì)網(wǎng)絡(luò)帶寬占用量、使用的網(wǎng)絡(luò)協(xié)議、機(jī)器崩潰頻率等信息來監(jiān)控物聯(lián)網(wǎng)狀態(tài).當(dāng)監(jiān)控系統(tǒng)發(fā)現(xiàn)物聯(lián)網(wǎng)遭受攻擊時(shí),報(bào)警響應(yīng)系統(tǒng)能夠?qū)⒐魮p失最小化,并且防止惡意程序的擴(kuò)散.
物聯(lián)網(wǎng)是動(dòng)態(tài)變化的網(wǎng)絡(luò),其風(fēng)險(xiǎn)評(píng)估指數(shù)隨時(shí)間而變化.為了動(dòng)態(tài)評(píng)估物聯(lián)網(wǎng)的風(fēng)險(xiǎn)指數(shù),Liu等人[8]提出了一種模擬人體免疫系統(tǒng)的動(dòng)態(tài)風(fēng)險(xiǎn)評(píng)估系統(tǒng).該系統(tǒng)在物聯(lián)網(wǎng)中不斷嗅探網(wǎng)絡(luò)包,將一個(gè)網(wǎng)絡(luò)包看作是一個(gè)單元,并通過網(wǎng)絡(luò)包來動(dòng)態(tài)評(píng)估風(fēng)險(xiǎn)指數(shù).
該系統(tǒng)利用人體免疫系統(tǒng)原理,動(dòng)態(tài)評(píng)估物聯(lián)網(wǎng)風(fēng)險(xiǎn)指數(shù),具有很好的健壯性;可分布式部署在網(wǎng)絡(luò)中不同的地方.缺點(diǎn)是不能對(duì)網(wǎng)絡(luò)攻擊以外的攻擊方式進(jìn)行防御,如文件竊取等;另一個(gè)缺點(diǎn)是系統(tǒng)從初始狀態(tài)成長(zhǎng)為可抵御攻擊的系統(tǒng)其時(shí)間周期較長(zhǎng).
智能聯(lián)網(wǎng)設(shè)備的運(yùn)行體系架構(gòu)常見的是Client-Server架構(gòu),具體包括3個(gè)部分:智能聯(lián)網(wǎng)設(shè)備、后臺(tái)服務(wù)器和控制器.這3部分協(xié)同工作,共同完成智能聯(lián)網(wǎng)設(shè)備的功能.任何一部分出現(xiàn)安全問題,都將對(duì)智能聯(lián)網(wǎng)設(shè)備的安全性造成嚴(yán)重的安全威脅.
3個(gè)部分的關(guān)系如圖1所示:

圖1 智能聯(lián)網(wǎng)設(shè)備功能關(guān)系
1)后臺(tái)服務(wù)器
后臺(tái)服務(wù)器存在于公共網(wǎng)絡(luò)中,任何一個(gè)連接上互聯(lián)網(wǎng)的設(shè)備都可以訪問后臺(tái)服務(wù)器.后臺(tái)服務(wù)器可同時(shí)連接多個(gè)智能聯(lián)網(wǎng)設(shè)備,接收并存儲(chǔ)智能聯(lián)網(wǎng)設(shè)備的最新狀態(tài).后臺(tái)服務(wù)器還能把版本更新、推薦內(nèi)容、影視資源等推送到智能聯(lián)網(wǎng)設(shè)備.
后臺(tái)服務(wù)器也能同時(shí)連接多個(gè)控制器,執(zhí)行控制器的控制命令或?qū)⒖刂破鞯目刂泼钔扑偷街悄茉O(shè)備.
2)智能聯(lián)網(wǎng)設(shè)備
智能聯(lián)網(wǎng)設(shè)備是與用戶接觸的前端產(chǎn)品,如智能電視盒子、智能攝像頭等具體產(chǎn)品.智能聯(lián)網(wǎng)設(shè)備的硬件和軟件共同決定了設(shè)備的功能.
智能聯(lián)網(wǎng)設(shè)備一方面主動(dòng)與后臺(tái)服務(wù)器通信,從服務(wù)器獲取最新內(nèi)容并展示給用戶;另一方面,功能完善的智能聯(lián)網(wǎng)設(shè)備也能開啟自己的服務(wù),接收控制器或者服務(wù)器的請(qǐng)求,執(zhí)行控制器的控制命令.
3)控制器
控制器一般是廠商提供給用戶用來控制智能聯(lián)網(wǎng)設(shè)備的軟件或者硬件,包括紅外遙控器、智能手機(jī)控制軟件、微信公眾號(hào)、微信小程序等.
控制器控制智能聯(lián)網(wǎng)設(shè)備有2種方式:一種是控制器和智能聯(lián)網(wǎng)設(shè)備直接通信.控制器通過局域網(wǎng)或者物理方式直接連接到設(shè)備,通過智能聯(lián)網(wǎng)設(shè)備開啟的服務(wù),向設(shè)備發(fā)出指令并獲取設(shè)備返回的結(jié)果.另一種是控制器通過服務(wù)器連接到智能聯(lián)網(wǎng)設(shè)備.當(dāng)控制器不能直接連接到智能聯(lián)網(wǎng)設(shè)備時(shí),控制器轉(zhuǎn)而連接處于公網(wǎng)的后臺(tái)服務(wù)器,通過后臺(tái)服務(wù)器獲取智能聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)信息或者向智能聯(lián)網(wǎng)設(shè)備發(fā)出控制命令.
本文著眼于智能設(shè)備與局域網(wǎng)內(nèi)控制器通信的身份認(rèn)證脆弱性(以下簡(jiǎn)稱身份認(rèn)證脆弱性).身份認(rèn)證脆弱性是智能設(shè)備功能結(jié)構(gòu)中智能設(shè)備與控制器在局域網(wǎng)中通信部分的脆弱性,在風(fēng)險(xiǎn)評(píng)估中屬于網(wǎng)絡(luò)脆弱性范疇.
網(wǎng)絡(luò)通信的設(shè)計(jì)者在智能聯(lián)網(wǎng)設(shè)備與控制器在同一個(gè)局域網(wǎng)的條件下,假設(shè)控制器是可靠的,控制器正常、安全地控制和使用智能聯(lián)網(wǎng)設(shè)備.智能聯(lián)網(wǎng)設(shè)備不用擔(dān)心控制指令發(fā)送者的身份,可以對(duì)控制指令不加分辨地執(zhí)行.實(shí)際上,這個(gè)假設(shè)有一個(gè)嚴(yán)重的缺陷:處在同一個(gè)局域網(wǎng)中的設(shè)備并不都是授權(quán)用戶使用的設(shè)備,有可能是攻擊者的傀儡機(jī),或者是攻擊者直接使用的機(jī)器.在這種情況下,智能聯(lián)網(wǎng)設(shè)備暴露在攻擊者的攻擊范圍內(nèi),對(duì)智能聯(lián)網(wǎng)設(shè)備的安全構(gòu)成嚴(yán)重的威脅,如圖2所示:

圖2 局域網(wǎng)內(nèi)攻擊
身份未認(rèn)證和弱認(rèn)證的發(fā)掘需要結(jié)合抓包為主的黑盒測(cè)試和逆向工程為主的白盒測(cè)試.流程如圖3所示.
首先,將智能聯(lián)網(wǎng)設(shè)備和控制器連接到同一個(gè)局域網(wǎng)下,使用Wireshark,F(xiàn)iddler抓包工具抓取該局域網(wǎng)內(nèi)的網(wǎng)絡(luò)包,獲取控制器對(duì)智能聯(lián)網(wǎng)設(shè)備控制過程的所有網(wǎng)絡(luò)流量.
然后,抓取控制器對(duì)智能聯(lián)網(wǎng)設(shè)備發(fā)送的控制指令對(duì)應(yīng)的網(wǎng)絡(luò)包,截取網(wǎng)絡(luò)包中固定的字符串,如URL中固定的路徑名或參數(shù)名.初步判斷網(wǎng)絡(luò)包中是否存在身份認(rèn)證的字段.
可以進(jìn)一步使用逆向工具搜索網(wǎng)絡(luò)包中出現(xiàn)的URL中的特定字符串,對(duì)控制器和智能聯(lián)網(wǎng)設(shè)備的網(wǎng)絡(luò)通信過程進(jìn)行逆向處理,明確通信參數(shù)的含義.
最后,在攻擊設(shè)備上構(gòu)造網(wǎng)絡(luò)請(qǐng)求,模擬控制器和智能聯(lián)網(wǎng)設(shè)備的通信過程,根據(jù)設(shè)備的行為判定是否存在身份認(rèn)證脆弱性.若設(shè)備執(zhí)行控制指令則存在身份認(rèn)證脆弱性;否則,設(shè)備具有身份辨別能力.

圖3 身份認(rèn)證脆弱性識(shí)別流程
廠商A生產(chǎn)的智能電視盒子(智能盒子A)和控制器在局域網(wǎng)的地址如表3所示:

表3 識(shí)別智能盒子A身份認(rèn)證脆弱性時(shí)IP地址
將抓包主機(jī)設(shè)置為控制器的代理服務(wù)器,在控制器對(duì)智能設(shè)備發(fā)送“截圖”控制命令的過程中,使用Fiddler抓到如圖4所示的網(wǎng)絡(luò)包:

圖4 智能盒子A網(wǎng)絡(luò)包
在2個(gè)網(wǎng)絡(luò)包中,控制器訪問了智能盒子A設(shè)置在6095端口上的服務(wù).第1個(gè)網(wǎng)絡(luò)請(qǐng)求包的路徑是“ controller”,參數(shù)是“action=capturescreen”;第 2 個(gè)網(wǎng)絡(luò)請(qǐng)求包的路徑是” request”,參數(shù)是“action=getResource&name=screenCapture”.控制器通過這2個(gè)網(wǎng)絡(luò)包發(fā)出的指令是“截圖”并且獲取截取的圖片.在網(wǎng)絡(luò)通信的過程中網(wǎng)絡(luò)包沒有攜帶身份認(rèn)證的參數(shù).
在瀏覽器中依次輸入以下鏈接可以驗(yàn)證該身份未認(rèn)證脆弱性是否存在.
http: 192.168.0.154:6095 controller?action=capturescreen
http: 192.168.0.154:6095 request?action=getResource&name=screenCapture
驗(yàn)證結(jié)果如圖5和圖6所示,通過瀏覽器成功對(duì)智能聯(lián)網(wǎng)設(shè)備截屏,智能盒子A存在身份認(rèn)證脆弱性.

圖5 智能盒子A返回結(jié)果1

圖6 智能盒子A返回結(jié)果2
使用逆向軟件(jadx)處理控制器安裝文件,在逆向結(jié)果中全局搜索URL路徑名“ controller”,搜索結(jié)果如圖7所示.

圖7 智能盒子A搜索結(jié)果
在搜索結(jié)果中還發(fā)現(xiàn)其他很多功能的URL和對(duì)應(yīng)的參數(shù),可以逐一檢查是否進(jìn)行了身份認(rèn)證.事實(shí)上,攻擊者可以利用智能盒子A的身份認(rèn)證脆弱性進(jìn)行以下攻擊:一是隱私竊取,攻擊者不斷使用截屏功能,實(shí)時(shí)偷窺用戶屏幕內(nèi)容;二是惡意內(nèi)容推送,攻擊者使用播放視頻接口,使智能盒子播放惡意視頻;三是安裝執(zhí)行惡意應(yīng)用,攻擊者通過模擬遙控按鍵、截屏等功能,執(zhí)行下載、安裝、啟動(dòng)惡意應(yīng)用的行為;四是對(duì)智能盒子進(jìn)行DDoS攻擊,攻擊者不斷地訪問提供的接口對(duì)盒子進(jìn)行DDoS攻擊,導(dǎo)致盒子不能正常工作.如果攻擊者精心策劃,組合使用功能接口,攻擊者能夠完成更加復(fù)雜的攻擊,并完全控制設(shè)備.上述的廠商A智能電視盒子存在的身份認(rèn)證脆弱性已被國(guó)家信息安全漏洞共享平臺(tái)(CNVD)收錄.
智能電視盒子A存在嚴(yán)重的身份認(rèn)證脆弱性,這些身份認(rèn)證脆弱性如果被威脅利用,會(huì)對(duì)資產(chǎn)構(gòu)成嚴(yán)重的安全威脅.
廠商B生產(chǎn)的智能電視盒子(智能盒子B)和控制器在局域網(wǎng)的地址如表4所示:

表4 識(shí)別電視盒子B身份認(rèn)證脆弱性時(shí)IP地址
設(shè)置抓包主機(jī)為控制器的代理服務(wù)器.在控制過程中,抓到如圖8所示的網(wǎng)絡(luò)包:

圖8 智能盒子B網(wǎng)絡(luò)包
該網(wǎng)絡(luò)包是控制器“按鍵”命令,網(wǎng)絡(luò)包沒有身份認(rèn)證參數(shù).
由于此智能電視盒子的控制器內(nèi)嵌在微信公眾號(hào)中,沒有可以逆向的原始文件,所以不能進(jìn)行逆向處理.
驗(yàn)證過程可以在瀏覽器中輸入以下地址:
http: 192.168.0.164:7766 remote?key=1
瀏覽器得到的結(jié)果如圖9所示,智能電視盒子接受了來自瀏覽器的控制指令,并正常返回,智能盒子執(zhí)行“向左移動(dòng)”的按鍵指令.因此,智能盒子B也存在身份認(rèn)證脆弱性.

圖9 智能盒子B返回結(jié)果
智能盒子B存在身份認(rèn)證脆弱性,該身份認(rèn)證脆弱性被威脅利用,可以對(duì)資產(chǎn)產(chǎn)生一定的負(fù)面影響.
身份認(rèn)證脆弱性的原因在于智能聯(lián)網(wǎng)設(shè)備盲目相信局域網(wǎng)內(nèi)的控制器.如果智能聯(lián)網(wǎng)設(shè)備能夠?qū)钟蚓W(wǎng)內(nèi)的設(shè)備加以辨別,那么身份認(rèn)證脆弱性能得到有效的解決.
智能聯(lián)網(wǎng)設(shè)備辨別控制器的一種方法是智能聯(lián)網(wǎng)設(shè)備進(jìn)行驗(yàn)證碼驗(yàn)證,如圖10所示:

圖10 驗(yàn)證碼驗(yàn)證流程
當(dāng)控制器需要向智能聯(lián)網(wǎng)設(shè)備發(fā)送控制指令時(shí),智能聯(lián)網(wǎng)設(shè)備以某種方式展示驗(yàn)證碼(不把驗(yàn)證碼返回給控制器).然后,控制器將驗(yàn)證碼發(fā)送給智能聯(lián)網(wǎng)設(shè)備.只有在驗(yàn)證碼驗(yàn)證通過時(shí),智能聯(lián)網(wǎng)設(shè)備才會(huì)執(zhí)行控制指令.
智能聯(lián)網(wǎng)設(shè)備可以根據(jù)設(shè)備的特點(diǎn)采取不同的展示驗(yàn)證碼的方式,如智能攝像頭可以利用語音功能將驗(yàn)證碼轉(zhuǎn)化為語音播放出來;智能電視可以把驗(yàn)證碼展示在屏幕上;智能設(shè)備還可以通過短信將驗(yàn)證碼發(fā)送給設(shè)備綁定用戶的手機(jī).
由于智能設(shè)備的驗(yàn)證碼并沒有直接返回給控制器,因此,如果攻擊者想要通過身份認(rèn)證問題對(duì)智能聯(lián)網(wǎng)設(shè)備進(jìn)行攻擊,則攻擊者必須先得到智能聯(lián)網(wǎng)設(shè)備上的驗(yàn)證碼.一般情況下,只能通過與設(shè)備進(jìn)行物理接觸的用戶才能得到驗(yàn)證碼,而攻擊者不能得到驗(yàn)證碼.這種驗(yàn)證碼的身份認(rèn)證機(jī)制提高了攻擊者的攻擊難度.
智能聯(lián)網(wǎng)設(shè)備和局域網(wǎng)內(nèi)控制器通信過程中的身份認(rèn)證脆弱性,是評(píng)估智能聯(lián)網(wǎng)設(shè)備安全風(fēng)險(xiǎn)的重要內(nèi)容.目前,該通信過程中的身份認(rèn)證機(jī)制還十分欠缺,導(dǎo)致了智能聯(lián)網(wǎng)設(shè)備普遍存在身份認(rèn)證脆弱性,容易被攻擊者攻擊利用,可能對(duì)智能聯(lián)網(wǎng)設(shè)備資產(chǎn)造成安全隱患.
本文針對(duì)身份認(rèn)證脆弱性提出了一種識(shí)別智能聯(lián)網(wǎng)設(shè)備身份認(rèn)證脆弱性的方法,并在廠商A和廠商B的真實(shí)產(chǎn)品中驗(yàn)證了該方法的可行性.本文還提出了一種身份認(rèn)證的方法,以加強(qiáng)身份認(rèn)證機(jī)制.
在本文的工作基礎(chǔ)之上,未來還將進(jìn)一步提升識(shí)別過程的自動(dòng)化水平,提高識(shí)別身份認(rèn)證脆弱性的效率.