小談智能硬件安全
智能設(shè)備安全 bydroidsec
一、前言
隨著智能硬件產(chǎn)品慢慢的進(jìn)入人們的生活,給人們生活帶來(lái)便利的同時(shí),智能硬件產(chǎn)品的安全問(wèn)題,也慢慢的引起了人們和廠商的重視。怎樣的做好智能硬件的安全,現(xiàn)在各家有各家的說(shuō)話,還未形成統(tǒng)一的標(biāo)準(zhǔn)和流程。本文僅是我個(gè)人對(duì)智能硬件的一些安全認(rèn)知和見(jiàn)解,不對(duì)的地方望指正。
智能硬件是通過(guò)軟硬結(jié)合的方式,使傳統(tǒng)的硬件設(shè)備擁有一些智能化的功能,其中的網(wǎng)絡(luò)連接功能,使得智能設(shè)備能夠接入互聯(lián)網(wǎng),因此“云端+終端+手機(jī)app”的典型構(gòu)架,基本是現(xiàn)有智能設(shè)備的基本構(gòu)架。
本文將從云端、手機(jī)app、終端三個(gè)大方面和一些真實(shí)案例探討一下智能硬件的安全。
二、云端
在整個(gè)基礎(chǔ)構(gòu)架中,云端處在數(shù)據(jù)收集和處理以及命令傳輸與轉(zhuǎn)發(fā)的節(jié)點(diǎn)上,它連接并控制著所有智能設(shè)備。如果云端被攻擊者控制,危害將不可估量。
在目前物聯(lián)網(wǎng)還沒(méi)有大規(guī)模的進(jìn)入人們生活的時(shí)代,通訊協(xié)議是多種多樣,各大廠商根據(jù)自身業(yè)務(wù)需求,或是自己研發(fā),或是修改現(xiàn)有協(xié)議,亦或是直接沿用現(xiàn)有協(xié)議。由于協(xié)議開(kāi)發(fā)的初期對(duì)安全的忽視或是對(duì)協(xié)議生硬的移植,使得通信安全變得非常脆弱。常見(jiàn)的連接云端的通訊協(xié)議有http、websocket、xmpp、mqtt等。
在http方面,目前很多廠商云端建設(shè)僅僅使用簡(jiǎn)單的web程序接口的形式使設(shè)備聯(lián)網(wǎng)。但又由于必須由設(shè)備主動(dòng)向服務(wù)器發(fā)送數(shù)據(jù),難以主動(dòng)向設(shè)備推送數(shù)據(jù),因此加入websocket來(lái)解決這一問(wèn)題。這樣云端的安全將變的非常的脆弱,熟悉web安全的人很容易就能熟練的挖掘云端漏洞。
目前最常見(jiàn)的云端漏洞還是鑒權(quán)設(shè)計(jì)問(wèn)題造成的越權(quán)漏洞。當(dāng)然web程序的弱口令、登陸接口爆破、sql注入、XSS等等漏洞也是有出現(xiàn)的。例如:
分類名稱簡(jiǎn)訴云端接口漏洞《 DIGICARE智能手環(huán)APP控制不嚴(yán)格可獲取其他用戶敏感信息 》在用戶app,個(gè)人信息更新中存在修改userid水平越權(quán)漏洞數(shù)據(jù)泄漏《 哇喔科技(WAAWO)某處漏洞泄露所有用戶數(shù)據(jù)+客戶訂單(可遠(yuǎn)程操控上千設(shè)備) 》網(wǎng)站存在sql注入漏洞,泄漏用戶賬號(hào)密碼,使用賬號(hào)密碼登陸云端,控制手表控制指令接口漏洞《 智能家居安全之海爾某核心站點(diǎn)控制wsdl誰(shuí)動(dòng)了我的家電+其他漏洞 》弱口令登陸云端后臺(tái),操控后臺(tái)控制指令接口云端接口無(wú)權(quán)限控制《 ??酥莿?dòng)家庭空氣指數(shù)APP越權(quán)漏洞可導(dǎo)致大量空氣設(shè)備面非法控制 》抓apk包,發(fā)現(xiàn)接口無(wú)權(quán)限控制,枚舉sn設(shè)備碼,發(fā)送控制指令在xmpp方面,作為即時(shí)聊天協(xié)議,和現(xiàn)有物聯(lián)網(wǎng)設(shè)備通信的模式非常相似。由于xmpp的開(kāi)放性和易用性,使得開(kāi)發(fā)者能夠很快的應(yīng)用與現(xiàn)有物聯(lián)網(wǎng)環(huán)境,成本低、開(kāi)放快。但因開(kāi)發(fā)者的水平參差不齊,對(duì)xmpp協(xié)議傳輸數(shù)據(jù)的加密處理、云端用戶鑒權(quán)隔離和用戶認(rèn)證信息的存儲(chǔ)不當(dāng)造成驗(yàn)證的安全隱患。
目前在我們的研究中使用了xmpp協(xié)議的設(shè)備有TCL智能洗衣機(jī)和小K智能插座2代。
分類名稱簡(jiǎn)訴鑒權(quán)不嚴(yán)《TCL智能洗衣機(jī)破解》云端對(duì)洗衣機(jī)終端的鑒權(quán)不嚴(yán),以及數(shù)據(jù)明文傳輸鑒權(quán)不嚴(yán)《小K智能插座2代》用戶密碼可以預(yù)測(cè)(mac地址)三、手機(jī)APP
手機(jī)APP在整個(gè)基礎(chǔ)構(gòu)架中處在控制端。移動(dòng)互聯(lián)網(wǎng)的出現(xiàn),使得手機(jī)app作為控制端是非常好的選擇。通過(guò)云端的轉(zhuǎn)發(fā)以及數(shù)據(jù)分析,我們很好的實(shí)現(xiàn)對(duì)智能設(shè)備的遠(yuǎn)程控制和實(shí)時(shí)監(jiān)控。如果手機(jī)app出現(xiàn)了漏洞,將直接威脅到智能設(shè)備以及隱私數(shù)據(jù),比如:智能設(shè)備被攻擊者劫持、個(gè)人隱私數(shù)據(jù)被曝光(身高、體重、三圍、血壓等等)。
目前常見(jiàn)的出現(xiàn)在APP端的安全風(fēng)險(xiǎn)有:APP重打包、傳輸加密算法破解、數(shù)據(jù)重放、身份偽造等等。
四、終端
在終端這塊兒,智能設(shè)備之所以能叫智能設(shè)備,就是因?yàn)榧尤肓寺?lián)網(wǎng)模塊,有云端的數(shù)據(jù)分析和指令下放。終端我們可以把它抽象成我們熟知的PC,這樣終端必然也有自己的系統(tǒng)、服務(wù)。目前比較常見(jiàn)的基本都是使用類linux的系統(tǒng),也有自己研發(fā)的物聯(lián)網(wǎng)系統(tǒng),如:MICO、Brillo、LITOS等等。
因此常見(jiàn)的終端漏洞有:ftp、telnet等服務(wù)弱身份驗(yàn)證;固件升級(jí)接口代碼執(zhí)行;敏感數(shù)據(jù)固化于固件中;固件中的溢出、命令執(zhí)行,加密方式泄漏等等。