1
本文作者: 謝幺 | 2017-03-28 11:36 |
安全,其實(shí)有時(shí)就是個(gè)信任問(wèn)題。
一個(gè)女孩問(wèn)她男朋友:“微信里那個(gè)女的是誰(shuí)?" “和朋友吃飯,男的女的?”"你手機(jī)為什么不能給我看?” 男朋友覺(jué)得自己不被信任,女孩則說(shuō)自己沒(méi)安全感。這就是安全和信任的關(guān)系。
網(wǎng)絡(luò)安全,本質(zhì)上也是個(gè)信任問(wèn)題。一封釣魚(yú)郵件騙走公司的數(shù)據(jù)資料,一個(gè)釣魚(yú)網(wǎng)站盜取了賬號(hào)密碼,一個(gè)虛假 WiFi 劫持了通訊流量。這些都和受害者太過(guò)相信對(duì)方,“安全感”太強(qiáng)有關(guān)。
“假設(shè)所有的人、設(shè)備、環(huán)境都是不可信的”,這其實(shí)已成為了網(wǎng)絡(luò)攻防上一個(gè)常規(guī)的理念。個(gè)人對(duì)周?chē)h(huán)境的“過(guò)度信任”,可能讓自己被黑,而服務(wù)提供商出現(xiàn)"過(guò)度信任“,則不僅坑自己,更坑用戶(hù)。一個(gè)智能家居的提供商一旦被黑,可能導(dǎo)致他們的用戶(hù)連生活都將無(wú)法自理。
“安全源于信任,而黑客打破信任?!?nbsp;這是上周日(3月25日)安恒信息安全研究院的副院長(zhǎng)王欣在云盾先知白帽大會(huì)上的演講議題。他嘗試從攻擊者的角度上,剖析智能家居的“過(guò)度信任”帶來(lái)的安全問(wèn)題。通過(guò)幾個(gè)智能設(shè)備被黑的例子,他讓雷鋒網(wǎng)編輯了解到一個(gè)道理 —— 對(duì)智能家居的過(guò)度信任,真的可能讓你被黑到生活不能自理!
【云盾先知白帽大會(huì)現(xiàn)場(chǎng)】
一般的智能家居設(shè)備大多有這么一個(gè)流程:
【簡(jiǎn)化的智能設(shè)備交互流程】
在局域網(wǎng)中,智能網(wǎng)關(guān)和終端設(shè)備之間利用藍(lán)牙、WiFi 等方式進(jìn)行無(wú)線(xiàn)通訊。手機(jī)在同一個(gè)局域網(wǎng)中可以直接去下指令到智能網(wǎng)關(guān)再到終端設(shè)備。終端設(shè)備的相關(guān)信息再通過(guò)智能網(wǎng)關(guān)傳回用戶(hù)的手機(jī),供用戶(hù)查看。
如果需要遠(yuǎn)程遙控家中的設(shè)備,智能網(wǎng)關(guān)則利用無(wú)線(xiàn)路由器把數(shù)據(jù)發(fā)送到云端,在云端和手機(jī)通信,然后執(zhí)行同樣執(zhí)行類(lèi)似上述的工作流程。
其中每個(gè)環(huán)節(jié)都涉及到相互信任的問(wèn)題,而“過(guò)度信任”則可能讓任何一個(gè)環(huán)節(jié)成為攻擊者的突破口。王欣在現(xiàn)場(chǎng)通過(guò)幾個(gè)攻破智能設(shè)備的例子,解釋了這一觀點(diǎn):
當(dāng)一個(gè)智能網(wǎng)關(guān)需要升級(jí)固件時(shí),用戶(hù)的手機(jī)會(huì)收到升級(jí)提示,只要用戶(hù)在手機(jī)上點(diǎn)擊升級(jí),云端就會(huì)向具體的智能網(wǎng)關(guān)發(fā)送更新指令。
問(wèn)題就在于,有些智能設(shè)備和網(wǎng)關(guān)對(duì)云端 IP 地址是完全信任的,智能設(shè)備也沒(méi)有對(duì)更新回來(lái)的固件進(jìn)行校驗(yàn)。
通過(guò)觀察設(shè)備的控制、存儲(chǔ)芯片,可以了解到芯片類(lèi)型。通過(guò)相關(guān)資料,可以了解它使用的操作系統(tǒng)、固件的存儲(chǔ)路徑等相關(guān)信息。然后就可以根據(jù)它的操作系統(tǒng)進(jìn)行相關(guān)編譯,從而察看到操作系統(tǒng)的內(nèi)存分區(qū),了解到內(nèi)存分區(qū)的長(zhǎng)度、啟動(dòng)代碼以及WiFi、音樂(lè)播放等各種功能區(qū)的代碼。
完成了前期的準(zhǔn)備工作后,攻擊者可以在局域網(wǎng)做一個(gè)DNS解析,偽造網(wǎng)絡(luò)請(qǐng)求,將一個(gè)帶惡意后門(mén)的固件刷入到設(shè)備之中。一旦受害者的網(wǎng)關(guān)固件被刷入惡意固件,就相當(dāng)于放在家里的一顆定時(shí)炸彈,攻擊者隨時(shí)都可以引爆它。
王欣說(shuō),他在分析另一款智能網(wǎng)關(guān)時(shí),發(fā)現(xiàn)它開(kāi)放了一個(gè)端口,這個(gè)端口原本是為了方便技術(shù)人員做調(diào)試。通常情況下,許多廠商為了后期維護(hù)方便,會(huì)使用相同或者有規(guī)律的密碼。
于是王欣通過(guò) Binwalk (一個(gè)固件分析工具)去讀取它的存儲(chǔ)芯片,在它文件系統(tǒng)中加載一些內(nèi)容,然后通過(guò)解包、逆向工程的方法獲取了它的密碼。
由于密碼相同或者有規(guī)律,只要搞定一個(gè)設(shè)備的密碼,就可以任意登錄該系列產(chǎn)品的所有設(shè)備,這就是廠商對(duì)于自我過(guò)于信任導(dǎo)致的安全問(wèn)題。
3.智能家居網(wǎng)關(guān)對(duì)用戶(hù)的信任
此外,王欣還發(fā)現(xiàn)一些更加欠缺安全考慮的做法:有的廠商會(huì)直接開(kāi)放 ssh 遠(yuǎn)程登錄給用戶(hù),然后將的 ssh 密碼設(shè)置成統(tǒng)一的 12345678 等弱口令。
“或許廠商覺(jué)得世上好人比壞人多”王欣對(duì)此表示非常無(wú)奈。因?yàn)橹灰嬖谝粋€(gè)“壞人”,他就能輕而易舉地利用該問(wèn)題搞定其他用戶(hù)的設(shè)備。
王欣介紹了他在網(wǎng)上看到一個(gè)例子:一個(gè)外國(guó)研究者分析一款無(wú)人機(jī)時(shí),發(fā)現(xiàn)設(shè)備開(kāi)放了一些端口用于和手機(jī)APP 進(jìn)行交互。然后問(wèn)題又出現(xiàn)了,無(wú)人機(jī)對(duì)手機(jī) APP 過(guò)度信任,通過(guò)對(duì)APP進(jìn)行逆向,發(fā)現(xiàn)它在APP里面藏著一個(gè)固定的密碼。
通過(guò)對(duì)設(shè)備固件進(jìn)行降級(jí)操作,可以讓無(wú)人機(jī)還原到存在安全問(wèn)題的固件版本,從而成功拿到控制權(quán)限。這其中最關(guān)鍵的問(wèn)題就在于,智能設(shè)備默認(rèn)手機(jī)APP是安全的,對(duì)APP“過(guò)于信任”。
智能網(wǎng)關(guān)和智能終端設(shè)備通信時(shí),會(huì)使用很多無(wú)線(xiàn)協(xié)議,其中 ZigBee 協(xié)議由于低成本、低耗電而被廣泛應(yīng)用。
王欣說(shuō),測(cè)試 ZigBee 安全的關(guān)鍵點(diǎn)在于找到它的加密密鑰。通??梢栽阼b權(quán)或者傳輸過(guò)程中,利用被動(dòng)和主動(dòng)監(jiān)聽(tīng)的方式獲取。有的廠商擔(dān)心傳輸過(guò)程中出現(xiàn)問(wèn)題,可能會(huì)把加密密鑰在設(shè)備出廠時(shí)進(jìn)行設(shè)置,通過(guò)逆向終端設(shè)備固件的方式同樣可能獲得加密密鑰。總之,對(duì)于智能網(wǎng)關(guān)來(lái)說(shuō),終端設(shè)備也并不一定完全可信。
總之,智能家居安全性涉及的東西非常廣泛。但“信任”問(wèn)題,總是最關(guān)鍵的,對(duì)于安全研究人員來(lái)說(shuō),每一個(gè)涉及到“信任”的環(huán)節(jié)都值得質(zhì)疑和推敲,因?yàn)槿魏我淮巍斑^(guò)度信任”都可能導(dǎo)致安全問(wèn)題。
雷鋒網(wǎng)注:本文內(nèi)容源自2017年阿里云云盾先知白帽大會(huì)上王欣的議題演講內(nèi)容,雷鋒網(wǎng)經(jīng)授權(quán)整理發(fā)布,對(duì)議題中部分技術(shù)細(xì)節(jié)進(jìn)行了刪減。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。