物聯(lián)網(wǎng)設(shè)備面臨的安全威脅分析
眾所周知,物聯(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è)備。
識(shí)別數(shù)據(jù)資產(chǎn) → 識(shí)別威脅 → 定義安全目標(biāo) → 滿足需求
圖1:設(shè)計(jì)安全的物聯(lián)網(wǎng)設(shè)備時(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)及其安全屬性。
接下來的步驟是識(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):
攝像頭 ID | 設(shè)備的 唯一標(biāo)識(shí)符 |
固件 | 定義硬件的 操作方式 |
固件 證書 | 用于安全啟動(dòng) |
證書 | 用于加密操作的數(shù)據(jù) |
日志 | 歷史數(shù)據(jù) |
圖像 | 由攝像頭捕獲并 通過網(wǎng)絡(luò)發(fā)送的數(shù)據(jù) |
配置 | 用于配置的數(shù)據(jù), 包括網(wǎng)絡(luò)配置 |
每種數(shù)據(jù)資產(chǎn)都將具備與其相關(guān)聯(lián)的安全屬性。
數(shù)據(jù) 資產(chǎn) | 安全 屬性 |
攝像頭 ID | 完整性 |
固件 | 機(jī)密性(可選)、 完整性、真實(shí)性 |
固件 證書 | 完整性 |
證書 | 機(jī)密性、完整性 |
日志 | 完整性 |
圖像 | 機(jī)密性、完整性 |
配置 | 機(jī)密性(可選)、 完整性 |
威脅
威脅旨在破壞數(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ù)據(jù)資產(chǎn) | 安全屬性 |
冒充攻擊 | 證書 | 機(jī)密性、完整性 |
中間人攻擊 | 證書 | -- |
鏡像 | ||
配置 | 機(jī)密性、完整性 | |
機(jī)密性 | 完整性、機(jī)密性、完整性 | |
固件濫用 | 固件 | |
篡改 | 攝像頭 ID | 完整性 |
固件 | 機(jī)密性、完整性 | |
真實(shí)性 | ||
完整性 | ||
證書 | 機(jī)密性、完整性 | |
日志 | 完整性 | |
鏡像 | 機(jī)密性、完整性 | |
配置 |
安全目標(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)行防御:
安全 目標(biāo) | 威脅 | |||
冒充 攻擊 | 中間人 攻擊 | 固件 濫用 | 篡改 | |
訪問 控制 | X | X | ||
安全 存儲(chǔ) | X | |||
固件 真實(shí)性 | X | |||
通信 | X | |||
安全 狀態(tài) | X | X |
評(píng)論