攻擊面一:硬件接口
物聯(lián)網(wǎng)終端設(shè)備的存儲(chǔ)介質(zhì)、認(rèn)證方式、加密手段、通訊方式、數(shù)據(jù)接口、外設(shè)接口、調(diào)試接口、人機(jī)交互接口都可以成為攻擊面。很多廠商在物聯(lián)網(wǎng)產(chǎn)品中保留了硬件調(diào)試接口。例如可以控制CPU的運(yùn)行狀態(tài)、讀寫內(nèi)存內(nèi)容、調(diào)試系統(tǒng)代碼的 JTAG接口、可以查看系統(tǒng)信息與應(yīng)用程序調(diào)試的串口。這兩個(gè)接口訪問設(shè)備一般都具有系統(tǒng)較高權(quán)限,造成重大安全隱患。除此之外還有I2C、SPI、USB、傳感器、HMI等等。還有涉及硬件設(shè)備使用的各種內(nèi)部、外部、 持久性和易失性存儲(chǔ),如SD卡、USB載體、EPROM、EEPROM、FLASH、SRAM、DRAM、MCU內(nèi)存等等都可能成為硬件攻擊面。
應(yīng)對措施:物聯(lián)網(wǎng)設(shè)備在設(shè)計(jì)之初就需要考慮安全,保證攻擊者無法獲取以及篡改相關(guān)資源,目前Arm公司借鑒在移動(dòng)終端的可信執(zhí)行環(huán)境TEE成功做法,將TrustZone技術(shù)移植到Cortex-M系列芯片平臺(tái)中,這是從芯片層面考慮的安全從源頭保證設(shè)備安全。
攻擊面二:暴力破解
目前大部分物聯(lián)網(wǎng)終端都是單CPU+傳感器架構(gòu)+通訊模塊,軟件設(shè)計(jì)大多只強(qiáng)調(diào)滿足級別功能即可。但我們說啟動(dòng)安全和根密鑰安全是一切設(shè)備安全的基礎(chǔ),一切業(yè)務(wù)邏輯、設(shè)備行為都是基于這兩個(gè)安全功能,黑客極有可能對設(shè)備進(jìn)行暴力破解,獲取設(shè)備信息、通訊數(shù)據(jù),甚至對遠(yuǎn)程對設(shè)備鏡像進(jìn)行替換,偽裝成合格終端。
應(yīng)對措施:安全啟動(dòng)和根密鑰的安全,可以通過使用安全芯片SE來進(jìn)行保證。這也是技術(shù)層面解決物聯(lián)網(wǎng)安全、形成安全合規(guī)的物聯(lián)網(wǎng)終端的最有效方式。
攻擊面三:軟件缺陷
軟件缺陷主要表現(xiàn)在軟件bug、系統(tǒng)漏洞、弱口令、信息泄露等等。
比如,目前物聯(lián)網(wǎng)設(shè)備大多使用的是嵌入式linux系統(tǒng),攻擊者可以通過各種未修復(fù)漏洞進(jìn)行系統(tǒng)漏洞利用,獲取系統(tǒng)相關(guān)服務(wù)的認(rèn)證口令。比如,弱口令的出現(xiàn)一般是由廠商內(nèi)置或者用戶口令設(shè)置不良的習(xí)慣兩方面造成的。這個(gè)在移動(dòng)互聯(lián)網(wǎng)時(shí)代是一樣的道理。比如,多數(shù)物聯(lián)網(wǎng)設(shè)備廠商不重視信息安全,導(dǎo)致泄露的信息極大方便了攻擊者對于目標(biāo)的攻擊。例如在對某廠商的攝像頭安全測試的時(shí)候發(fā)現(xiàn)可以獲取到設(shè)備的硬件型號、硬件版本號、軟件版本號、系統(tǒng)類型、可登錄的用戶名和加密的密碼以及密碼生成的算法。攻擊者即可通過暴力破解的方式獲得明文密碼。比如,開發(fā)人員缺乏安全編碼能力,沒有針對輸入的參數(shù)進(jìn)行嚴(yán)格過濾和校驗(yàn),導(dǎo)致在調(diào)用危險(xiǎn)函數(shù)時(shí)遠(yuǎn)程代碼執(zhí)行或者命令注入。
應(yīng)對措施:軟件缺陷,一方面需要加強(qiáng)產(chǎn)品開發(fā)過程中的安全開發(fā)流程,一方面是安全管理流程。產(chǎn)品開發(fā)過程中需要遵循安全編碼規(guī)范,減少漏洞產(chǎn)生,降低潛在風(fēng)險(xiǎn),物聯(lián)網(wǎng)設(shè)備需要以全局唯一的身份接入到物聯(lián)網(wǎng)中,設(shè)備之間的連接需要可信認(rèn)證,在物聯(lián)網(wǎng)設(shè)備中確保沒有后門指令或者后門代碼。針對用戶認(rèn)證,需要設(shè)計(jì)成在第一次配置和使用設(shè)備時(shí)由用戶進(jìn)行自行設(shè)置并需要設(shè)置強(qiáng)口令策略。在發(fā)行版本中去除調(diào)試版本代碼,去除JTAG接口和COM口,同時(shí)關(guān)閉例如SSH,telnet等不安全的服務(wù)。
攻擊面四:管理缺陷
管理缺陷導(dǎo)致的問題是安全的最大和最不可防范的問題。雖然是反映在技術(shù)上,比如弱口令、比如調(diào)試接口、比如設(shè)備LOG信息泄露等等但無一例外都是安全開發(fā)管理缺陷導(dǎo)致。
比如,產(chǎn)品設(shè)計(jì)的時(shí)候就沒有考慮到授權(quán)認(rèn)證或者對某些路徑進(jìn)行權(quán)限管理,任何人都可以最高的系統(tǒng)權(quán)限獲得設(shè)備控制權(quán)。比如,開發(fā)人員為了方便調(diào)試,可能會(huì)將一些特定賬戶的認(rèn)證硬編碼到代碼中,出廠后這些賬戶并沒有去除。攻擊者只要獲得這些硬編碼信息,即可獲得設(shè)備的控制權(quán)。比如,開發(fā)人員在最初設(shè)計(jì)的用戶認(rèn)證算法或?qū)崿F(xiàn)過程中存在缺陷,例如某攝像頭存在不需要權(quán)限設(shè)置session的URL路徑,攻擊者只需要將其中的Username字段設(shè)置為admin,然后進(jìn)入登陸認(rèn)證頁面,發(fā)現(xiàn)系統(tǒng)不需要認(rèn)證,直接為admin權(quán)限。
應(yīng)對措施:信息網(wǎng)絡(luò)安全需要在產(chǎn)品的各個(gè)流程中進(jìn)行,包括公司管理流程,在設(shè)備上市前進(jìn)行專業(yè)的產(chǎn)品安全測試,降低物聯(lián)網(wǎng)設(shè)備安全風(fēng)險(xiǎn)。
攻擊面五:通訊方式
通訊接口允許設(shè)備與傳感器網(wǎng)絡(luò)、云端后臺(tái)和移動(dòng)設(shè)備APP等設(shè)備進(jìn)行網(wǎng)絡(luò)通信,其攻擊面可能為底層通信實(shí)現(xiàn)的固件或驅(qū)動(dòng)程序代碼。
比如,中間人攻擊一般有旁路和串接兩種模式,攻擊者處于通訊兩端的鏈路中間,充當(dāng)數(shù)據(jù)交換角色,攻擊者可以通過中間人的方式獲得用戶認(rèn)證信息以及設(shè)備控制信息,之后利用重放方式或者無線中繼方式獲得設(shè)備的控制權(quán)。例如通過中間人攻擊解密HTTPS數(shù)據(jù),可以獲得很多敏感的信息。比如,無線網(wǎng)絡(luò)通信接口存在一些已知的安全問題,從攻擊角度看,可對無線芯片形成攻擊乃至物理破壞、DOS、安全驗(yàn)證繞過或代碼執(zhí)行等。比如,以太網(wǎng)設(shè)備接口如wifi接口等都存在一些底層TCP/IP通信漏洞、硬件實(shí)現(xiàn)漏洞和其它攻擊向量。比如,無線通信Bluetooth (and BLE)、ZigBee、Zwave、NFC、RFID、LoRA、Wireless HART,等等。
應(yīng)對措施:物聯(lián)網(wǎng)終端設(shè)備種類繁多,具體應(yīng)用場景豐富,通信方法多種多樣,而且在不斷變化過程中,這是物聯(lián)網(wǎng)安全最薄弱和最難以克服的問題。可以內(nèi)置安全機(jī)制,增加漏洞利用難度,廠商可以通過增量補(bǔ)丁方式向用戶推送更新,用戶需要及時(shí)進(jìn)行固件更新。
攻擊面六:云端攻擊
近年來,物聯(lián)網(wǎng)設(shè)備逐步實(shí)現(xiàn)通過云端的方式進(jìn)行管理,攻擊者可以通過挖掘云提供商漏洞、手機(jī)終端APP上的漏洞以及分析設(shè)備和云端的通信數(shù)據(jù),偽造數(shù)據(jù)進(jìn)行重放攻擊獲取設(shè)備控制權(quán)。
應(yīng)對措施:建議部署廠商提供的整體安全解決方案。比如目前的IFAA技術(shù)方案如果應(yīng)用在物聯(lián)網(wǎng)上可以進(jìn)行安全的身份認(rèn)證,同時(shí)保護(hù)數(shù)據(jù)安全。再比如阿里主導(dǎo)下的ICA聯(lián)盟在這方面也作出了一些有益的工作。
相關(guān)鏈接
http://kiddlux.com/ask/63.html
http://kiddlux.com/ask/61.html
http://kiddlux.com/ask/38.html