物聯(lián)網(wǎng)設(shè)備面臨的安全威脅分析
掃描二維碼
隨時(shí)隨地手機(jī)看文章
介紹
眾所周知,物聯(lián)網(wǎng)(IoT)設(shè)備預(yù)計(jì)將無處不在。這些由半導(dǎo)體驅(qū)動(dòng)的設(shè)備將推動(dòng)每一個(gè)可想象的過程實(shí)現(xiàn)智能化。從簡(jiǎn)單的開燈到門診護(hù)理或工廠控制等更復(fù)雜的過程,通過傳感、處理和云連接,物聯(lián)網(wǎng)設(shè)備將大幅提高工作效率。應(yīng)用場(chǎng)景多種多樣,它們的發(fā)展前景和影響力也將不可估量。
然而,互聯(lián)設(shè)備的日益“智能化”也帶來了安全挑戰(zhàn)。例如,傳統(tǒng)的照明控制相對(duì)原始,它是一個(gè)帶有物理開關(guān)的電源電路。要對(duì)開關(guān)進(jìn)行操作則需要物理上接觸并操作開關(guān)。要避免未經(jīng)授權(quán)的使用,只需要對(duì)開關(guān)進(jìn)行簡(jiǎn)單的物理保護(hù)?,F(xiàn)在考慮將照明控制看作是物聯(lián)網(wǎng)設(shè)備的智能化身。光傳感器、距離傳感器、邏輯控制(通常在微控制器中實(shí)現(xiàn))以及云應(yīng)用無線連接取代了傳統(tǒng)的物理開關(guān)。在智能化過程中,照明開關(guān)被轉(zhuǎn)換成一個(gè)通過網(wǎng)絡(luò)與應(yīng)用服務(wù)器一起工作的嵌入式客戶端。保護(hù)智能照明開關(guān)因此變得更加復(fù)雜。這種復(fù)雜性的提高將給所有物聯(lián)網(wǎng)設(shè)備設(shè)計(jì)人員帶來挑戰(zhàn)。好消息是,帶有安全保護(hù)的微控制器能夠顯著提高物聯(lián)網(wǎng)設(shè)備的安全性,加快設(shè)計(jì)周期。
本文中的案例研究介紹了如何確定網(wǎng)絡(luò)攝像頭物聯(lián)網(wǎng)設(shè)備的安全要求。顧名思義,這種設(shè)備已經(jīng)實(shí)現(xiàn)互聯(lián),并廣泛應(yīng)用于眾多應(yīng)用,從簡(jiǎn)單的家庭網(wǎng)絡(luò)攝像頭到復(fù)雜的工業(yè)系統(tǒng),不一而足。通過定義對(duì)網(wǎng)絡(luò)攝像頭的相關(guān)威脅并確定防御這些威脅的安全目標(biāo),從而制定了該設(shè)備的安全要求。本文介紹了基于Arm®技術(shù)的賽普拉斯PSoC® 6 MCU,是能夠滿足上述要求的可用解決方案。該方法同樣適用于其他物聯(lián)網(wǎng)設(shè)備。
物聯(lián)網(wǎng)設(shè)備安全性分析
保護(hù)物聯(lián)網(wǎng)設(shè)備的想法可能令人望而生畏。初步研究很快揭示了有關(guān)密碼學(xué)、威脅、安全目標(biāo)和其他幾個(gè)主題的大量知識(shí)。面對(duì)鋪天蓋地的信息,物聯(lián)網(wǎng)設(shè)備設(shè)計(jì)人員通常會(huì)問的第一個(gè)問題是:“我如何判斷所需安全性要達(dá)到哪種水平?”,緊接著是“我該從哪里入手?”
Arm提供了平臺(tái)安全架構(gòu)(PSA),幫助設(shè)計(jì)人員快速入門。通過利用PSA的一整套威脅模型和安全性分析、硬件和固件架構(gòu)規(guī)范以及可信固件M參考實(shí)現(xiàn),物聯(lián)網(wǎng)設(shè)計(jì)師能夠快速且輕松地實(shí)現(xiàn)安全設(shè)計(jì)。
通過使用雙Arm Cortex®-M內(nèi)核,結(jié)合可配置的內(nèi)存和外設(shè)保護(hù)單元,賽普拉斯PSoC 6 MCU實(shí)現(xiàn)了PSA定義的最高保護(hù)級(jí)別。本文將PSA網(wǎng)絡(luò)攝像頭威脅模型和安全性分析(TMSA)應(yīng)用于PSoC 6 MCU,演示如何針對(duì)網(wǎng)絡(luò)攝像頭應(yīng)用進(jìn)行安全性評(píng)估。
任何攻擊的目標(biāo)都是獲取物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)并以某種方式加以利用。如圖1所示,分析過程的第一步是識(shí)別物聯(lián)網(wǎng)設(shè)備處理的數(shù)據(jù)資產(chǎn)及其安全屬性。
圖1:設(shè)計(jì)安全的物聯(lián)網(wǎng)設(shè)備時(shí)的分析過程
接下來的步驟是識(shí)別針對(duì)這些資產(chǎn)的威脅,定義抵御這些威脅的安全目標(biāo),并確定需求以滿足安全目標(biāo)。通過滿足這些要求,基于微控制器的設(shè)計(jì)可為安全目標(biāo)提供支持,并最終保留資產(chǎn)的安全屬性。最后,應(yīng)該對(duì)設(shè)計(jì)進(jìn)行評(píng)估,以判定設(shè)計(jì)是否達(dá)到安全目標(biāo)。通常情況下,這類評(píng)估會(huì)利用應(yīng)用于設(shè)計(jì)的威脅模型來評(píng)估設(shè)備的攻擊防御能力。
數(shù)據(jù)資產(chǎn)
每個(gè)物聯(lián)網(wǎng)設(shè)備的價(jià)值都建立在數(shù)據(jù)之上,以及如何對(duì)這些數(shù)據(jù)進(jìn)行管理。數(shù)據(jù)資產(chǎn)在嵌入式系統(tǒng)中有多種表現(xiàn)形式。例如,固件定義設(shè)備的行為。其他示例包括用于控制設(shè)備的唯一ID、密碼和加密密鑰。此外,還有物聯(lián)網(wǎng)設(shè)備生成的數(shù)據(jù),例如來自網(wǎng)絡(luò)攝像頭的圖像數(shù)據(jù)或來自傳感器的環(huán)境數(shù)據(jù)。無論其形式如何,每種數(shù)據(jù)資產(chǎn)都具有各自的安全屬性。安全屬性是系統(tǒng)所依賴的數(shù)據(jù)資產(chǎn)的固有特性,是系統(tǒng)信任該數(shù)據(jù)資產(chǎn)的基礎(chǔ)。機(jī)密性、完整性和真實(shí)性是三種常見的安全屬性。
機(jī)密性
機(jī)密性指的是主動(dòng)或被動(dòng)保密或私有的狀態(tài)。
機(jī)密性要求只有授權(quán)人員才能夠讀取數(shù)據(jù)資產(chǎn)。換言之,它是機(jī)密或私有的。密碼是具有機(jī)密性安全屬性的數(shù)據(jù)資產(chǎn)的常見示例。其他示例可能包括物聯(lián)網(wǎng)設(shè)備生成的個(gè)人數(shù)據(jù),如心率數(shù)據(jù)或位置信息。
完整性
完整性指的是完整且不可分割的狀態(tài)
完整性要求數(shù)據(jù)資產(chǎn)在使用或傳輸時(shí)保持不變。完整性通常與建立引用的數(shù)據(jù)(如啟動(dòng)固件)相關(guān)聯(lián)。啟動(dòng)固件確保MCU配置為應(yīng)用可執(zhí)行的已知初始狀態(tài)。對(duì)啟動(dòng)固件進(jìn)行更改可能會(huì)影響該初始狀態(tài),并存在操作或安全風(fēng)險(xiǎn)。
真實(shí)性
真實(shí)的性質(zhì)(毫無爭(zhēng)議的來源;不是副本;真實(shí)的)
真實(shí)性要求只有受信任的參與者才能建立數(shù)據(jù)資產(chǎn)的當(dāng)前狀態(tài)。當(dāng)與完整性相結(jié)合時(shí),真實(shí)性便能夠建立信任,因此它是安全物聯(lián)網(wǎng)設(shè)備的關(guān)鍵基石。在先前的啟動(dòng)固件示例中,數(shù)字簽名可用于在升級(jí)固件時(shí)對(duì)真實(shí)性和完整性進(jìn)行評(píng)估,以確保僅使用可信固件。
全面識(shí)別物聯(lián)網(wǎng)設(shè)備中的數(shù)據(jù)資產(chǎn)至關(guān)重要,因?yàn)槊總€(gè)后續(xù)步驟都依賴于此步驟。舉例來說,網(wǎng)絡(luò)攝像頭將具備以下數(shù)據(jù)資產(chǎn):
每種數(shù)據(jù)資產(chǎn)都將具備與其相關(guān)聯(lián)的安全屬性。
威脅
威脅旨在破壞數(shù)據(jù)資產(chǎn)的安全屬性并將其用于未經(jīng)授權(quán)的目的。為了識(shí)別威脅,必須對(duì)物聯(lián)網(wǎng)設(shè)備中數(shù)據(jù)的使用進(jìn)行評(píng)估。例如,證書可用于訪問物聯(lián)網(wǎng)設(shè)備的網(wǎng)絡(luò)。如果證書的機(jī)密性受到損害,則未經(jīng)授權(quán)的參與者就可以使用它們來訪問網(wǎng)絡(luò)。這種攻擊稱為冒充攻擊。通過系統(tǒng)地評(píng)估每種數(shù)據(jù),可以創(chuàng)建潛在威脅列表。
此外,網(wǎng)絡(luò)攝像頭可能面臨以下對(duì)其數(shù)據(jù)資產(chǎn)的威脅:
安全目標(biāo)
通過識(shí)別威脅,可以定義安全目標(biāo)。安全目標(biāo)是在應(yīng)用級(jí)別定義的,本質(zhì)上提供了實(shí)現(xiàn)需求。一些安全目標(biāo)可以作為可信應(yīng)用(TA)實(shí)現(xiàn),它們?cè)诎踩腗CU提供的隔離執(zhí)行環(huán)境中執(zhí)行。隔離執(zhí)行環(huán)境全面保護(hù)TA及其使用/處理的數(shù)據(jù)。物聯(lián)網(wǎng)設(shè)備應(yīng)用本身在不安全的執(zhí)行環(huán)境中運(yùn)行,并通過使用處理器間通信(IPC)通道的API與隔離執(zhí)行環(huán)境中的TA進(jìn)行通信。TA則利用硬件中的可用資源(如加密加速器和安全內(nèi)存)來為目標(biāo)提供支持。
繼續(xù)此示例,前面確定的威脅可以通過以下安全目標(biāo)進(jìn)行防御:
訪問控制:物聯(lián)網(wǎng)設(shè)備對(duì)試圖訪問數(shù)據(jù)資產(chǎn)的所有參與者(人或機(jī)器)進(jìn)行身份驗(yàn)證。防止在未經(jīng)授權(quán)的情況下訪問數(shù)據(jù)。防御欺騙和惡意軟件威脅,即攻擊者對(duì)固件進(jìn)行修改或安裝過時(shí)的缺陷版本。
安全存儲(chǔ):物聯(lián)網(wǎng)設(shè)備維護(hù)數(shù)據(jù)資產(chǎn)的機(jī)密性(根據(jù)需要)和完整性。防御篡改威脅。
固件真實(shí)性:物聯(lián)網(wǎng)設(shè)備在啟動(dòng)和升級(jí)之前對(duì)固件的真實(shí)性進(jìn)行驗(yàn)證。防御惡意軟件威脅。
通信:物聯(lián)網(wǎng)設(shè)備對(duì)遠(yuǎn)程服務(wù)器進(jìn)行身份驗(yàn)證,提供機(jī)密性(根據(jù)需要),并維護(hù)交換數(shù)據(jù)的完整性。防御中間人攻擊(MitM)威脅。
安全狀態(tài):即使固件完整性和真實(shí)性驗(yàn)證失敗,仍確保設(shè)備保持安全狀態(tài)。防御惡意軟件和篡改威脅。
安全需求
在這一方面,分析提供了數(shù)據(jù)資產(chǎn)、威脅和安全目標(biāo)的邏輯連接模型。根據(jù)這張圖,可以編譯出安全MCU所需的功能或特性列表。當(dāng)然,這個(gè)列表也可以用作特定物聯(lián)網(wǎng)設(shè)備應(yīng)用解決方案的實(shí)現(xiàn)標(biāo)準(zhǔn)。
生命周期至關(guān)重要
請(qǐng)注意,安全目標(biāo)的要求可能會(huì)根據(jù)物聯(lián)網(wǎng)設(shè)備的生命周期階段(設(shè)計(jì)、制造、庫(kù)存、最終使用和終止)而變化,也應(yīng)予以考慮。
現(xiàn)在可以對(duì)這個(gè)示例進(jìn)行分析:
每種數(shù)據(jù)資產(chǎn)都將具備與其相關(guān)聯(lián)的安全屬性:
注釋:
1. 在隔離執(zhí)行環(huán)境中理想地以TA形式實(shí)現(xiàn)
2. C = 機(jī)密性,I = 完整性,A = 真實(shí)性
3. SEF = 安全元件功能
4. Dead = 非操作狀態(tài)下的安全MCU
選擇正確的MCU
通過分析,以下是MCU所需安全功能的總結(jié):
可信應(yīng)用的隔離執(zhí)行環(huán)境:雖然前面的分析側(cè)重于安全數(shù)據(jù)資產(chǎn),但每個(gè)物聯(lián)網(wǎng)設(shè)備也有包含非安全數(shù)據(jù)資產(chǎn)的非安全任務(wù)/應(yīng)用。MCU應(yīng)提供一種強(qiáng)大的方法,對(duì)非安全處理和安全處理進(jìn)行隔離。這一概念機(jī)場(chǎng)類似:登機(jī)區(qū)是安全且隔離的。只允許通過身份驗(yàn)證的個(gè)人在安全區(qū)域內(nèi)進(jìn)行操作(如登機(jī))。MCU必須在非安全和安全的執(zhí)行環(huán)境之間提供強(qiáng)大的、基于硬件的隔離。
安全元件功能:在隔離執(zhí)行環(huán)境中,要存儲(chǔ)數(shù)據(jù)資產(chǎn),需要完成進(jìn)一步的隔離,如對(duì)安全性至關(guān)重要的加密密鑰。繼續(xù)與機(jī)場(chǎng)進(jìn)行類比,每名乘客都持有有效證件。MCU必須為信任根存儲(chǔ)和相關(guān)安全服務(wù)提供進(jìn)一步隔離。
加密:首選帶有專用硬件加速器塊和受控訪問的MCU。加速器塊有助于提高性能。加速器塊的訪問控制(隔離)有助于防止未經(jīng)授權(quán)的程序訪問,確保加密密鑰保持在安全的環(huán)境中。
數(shù)字簽名:數(shù)據(jù)資產(chǎn)的真實(shí)性和完整性可以通過使用數(shù)字簽名算法(如ECDSA和RSA)進(jìn)行評(píng)估。MCU固件是數(shù)字簽名最常見的用例。MCU應(yīng)提供基于硬件的散列和簽名支持,以便在加載之前對(duì)固件鏡像進(jìn)行評(píng)估。
eFuses:對(duì)于保障設(shè)計(jì)的安全來說,不可變數(shù)據(jù)資產(chǎn)至關(guān)重要。它們通常用作系統(tǒng)行為的參考。典型示例包括生命周期名稱、唯一標(biāo)識(shí)符(UID)、制造商編號(hào)以及在物聯(lián)網(wǎng)設(shè)備的生命周期中持續(xù)存在的其他參考。
結(jié)論
本文提出了一種分析方法,用于確定安全物聯(lián)網(wǎng)設(shè)備的需求。通過創(chuàng)建模型,將數(shù)據(jù)資產(chǎn)、其面臨的威脅以及防御這些威脅的安全目標(biāo)邏輯連接,可以導(dǎo)出一個(gè)需求列表,該列表可以用作解決方案的實(shí)現(xiàn)標(biāo)準(zhǔn)。
絕大多數(shù)物聯(lián)網(wǎng)設(shè)備將建立在基于MCU的嵌入式系統(tǒng)上。這種發(fā)展機(jī)遇將催生出一類新型MCU,它們可提供安全特性和功能,用來維護(hù)數(shù)據(jù)資產(chǎn)的安全屬性。賽普拉斯的PSoC 6安全MCU是此類新型MCU的先驅(qū)之一。PSoC 6 MCU架構(gòu)專為物聯(lián)網(wǎng)設(shè)備應(yīng)用而設(shè)計(jì),提供了能夠延長(zhǎng)電池使用壽命的超低功耗、高效的處理能力,以及可支持安全目標(biāo)的硬件安全功能:
隔離執(zhí)行環(huán)境:通過采用硬件隔離技術(shù),PSoC 6安全MCU將安全操作與非安全操作隔離開來:
? 可配置保護(hù)單元用于隔離內(nèi)存、加密和外設(shè)
? 在Arm Cortex-M4和Cortex-M0+內(nèi)核之間提供處理器間通信(IPC)通道,為基于API的獨(dú)立交互提供支持
? 理想適用于支持物聯(lián)網(wǎng)設(shè)備安全目標(biāo)的可信應(yīng)用
集成安全元件功能:PSoC 6中的硬件隔離技術(shù)支持獨(dú)立的密鑰存儲(chǔ)和加密操作,除了隔離執(zhí)行環(huán)境以外,還提供安全元件功能。
? 理想適用于安全密鑰存儲(chǔ)
? 支持預(yù)安裝信任根,方便使用信任鏈來錨定安全啟動(dòng)
隔離硬件加速加密操作:包括AES、3DES、RSA、ECC、SHA-256和SHA-512以及真隨機(jī)數(shù)發(fā)生器(TNRG)。
生命周期管理:在發(fā)生安全錯(cuò)誤(如固件散列檢查失敗)時(shí),基于eFuse的生命周期管理功能有助于確保安全行為。
圖2:PSoC 6安全MCU提供三級(jí)隔離
隨著低成本、易于設(shè)計(jì)且方便使用的無線云連接日益普及,物聯(lián)網(wǎng)設(shè)備也將實(shí)現(xiàn)爆炸性增長(zhǎng)。嵌入式系統(tǒng)發(fā)送和接收數(shù)據(jù)的能力是實(shí)現(xiàn)智能化的基本推動(dòng)因素。不幸的是,這種能力也給物聯(lián)網(wǎng)設(shè)備產(chǎn)生的高價(jià)值數(shù)據(jù)帶來了巨大威脅。數(shù)據(jù)越有價(jià)值,物聯(lián)網(wǎng)設(shè)備就越需要具備安全功能以為這些數(shù)據(jù)提供保護(hù)。諸如賽普拉斯的PSoC 6 MCU這樣的安全MCU解決了安全物聯(lián)網(wǎng)設(shè)備的相關(guān)需求。