物聯(lián)網(wǎng)設(shè)備面臨的安全威脅分析
眾所周知,物聯(lián)網(wǎng)(IoT)設(shè)備預(yù)計將無處不在。這些由半導(dǎo)體驅(qū)動的設(shè)備將推動每一個可想象的過程實現(xiàn)智能化。從簡單的開燈到門診護理或工廠控制等更復(fù)雜的過程,通過傳感、處理和云連接,物聯(lián)網(wǎng)設(shè)備將大幅提高工作效率。應(yīng)用場景多種多樣,它們的發(fā)展前景和影響力也將不可估量。
介紹
然而,互聯(lián)設(shè)備的日益“智能化”也帶來了安全挑戰(zhàn)。例如,傳統(tǒng)的照明控制相對原始,它是一個帶有物理開關(guān)的電源電路。要對開關(guān)進行操作則需要物理上接觸并操作開關(guān)。要避免未經(jīng)授權(quán)的使用,只需要對開關(guān)進行簡單的物理保護。現(xiàn)在考慮將照明控制看作是物聯(lián)網(wǎng)設(shè)備的智能化身。光傳感器、距離傳感器、邏輯控制(通常在微控制器中實現(xiàn))以及云應(yīng)用無線連接取代了傳統(tǒng)的物理開關(guān)。在智能化過程中,照明開關(guān)被轉(zhuǎn)換成一個通過網(wǎng)絡(luò)與應(yīng)用服務(wù)器一起工作的嵌入式客戶端。保護智能照明開關(guān)因此變得更加復(fù)雜。這種復(fù)雜性的提高將給所有物聯(lián)網(wǎng)設(shè)備設(shè)計人員帶來挑戰(zhàn)。好消息是,帶有安全保護的微控制器能夠顯著提高物聯(lián)網(wǎng)設(shè)備的安全性,加快設(shè)計周期。
本文中的案例研究介紹了如何確定網(wǎng)絡(luò)攝像頭物聯(lián)網(wǎng)設(shè)備的安全要求。顧名思義,這種設(shè)備已經(jīng)實現(xiàn)互聯(lián),并廣泛應(yīng)用于眾多應(yīng)用,從簡單的家庭網(wǎng)絡(luò)攝像頭到復(fù)雜的工業(yè)系統(tǒng),不一而足。通過定義對網(wǎng)絡(luò)攝像頭的相關(guān)威脅并確定防御這些威脅的安全目標,從而制定了該設(shè)備的安全要求。本文介紹了基于Arm?技術(shù)的賽普拉斯PSoC? 6 MCU,是能夠滿足上述要求的可用解決方案。該方法同樣適用于其他物聯(lián)網(wǎng)設(shè)備。
識別數(shù)據(jù)資產(chǎn) → 識別威脅 → 定義安全目標 → 滿足需求
圖1:設(shè)計安全的物聯(lián)網(wǎng)設(shè)備時的分析過程
物聯(lián)網(wǎng)設(shè)備安全性分析
保護物聯(lián)網(wǎng)設(shè)備的想法可能令人望而生畏。初步研究很快揭示了有關(guān)密碼學(xué)、威脅、安全目標和其他幾個主題的大量知識。面對鋪天蓋地的信息,物聯(lián)網(wǎng)設(shè)備設(shè)計人員通常會問的第一個問題是:“我如何判斷所需安全性要達到哪種水平?”,緊接著是“我該從哪里入手?”
Arm提供了平臺安全架構(gòu)(PSA),幫助設(shè)計人員快速入門。通過利用PSA的一整套威脅模型和安全性分析、硬件和固件架構(gòu)規(guī)范以及可信固件M參考實現(xiàn),物聯(lián)網(wǎng)設(shè)計師能夠快速且輕松地實現(xiàn)安全設(shè)計。
通過使用雙Arm Cortex?-M內(nèi)核,結(jié)合可配置的內(nèi)存和外設(shè)保護單元,賽普拉斯PSoC 6 MCU實現(xiàn)了PSA定義的最高保護級別。本文將PSA網(wǎng)絡(luò)攝像頭威脅模型和安全性分析(TMSA)應(yīng)用于PSoC 6 MCU,演示如何針對網(wǎng)絡(luò)攝像頭應(yīng)用進行安全性評估。
任何攻擊的目標都是獲取物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)并以某種方式加以利用。如圖1所示,分析過程的第一步是識別物聯(lián)網(wǎng)設(shè)備處理的數(shù)據(jù)資產(chǎn)及其安全屬性。
接下來的步驟是識別針對這些資產(chǎn)的威脅,定義抵御這些威脅的安全目標,并確定需求以滿足安全目標。通過滿足這些要求,基于微控制器的設(shè)計可為安全目標提供支持,并最終保留資產(chǎn)的安全屬性。最后,應(yīng)該對設(shè)計進行評估,以判定設(shè)計是否達到安全目標。通常情況下,這類評估會利用應(yīng)用于設(shè)計的威脅模型來評估設(shè)備的攻擊防御能力。
數(shù)據(jù)資產(chǎn)
每個物聯(lián)網(wǎng)設(shè)備的價值都建立在數(shù)據(jù)之上,以及如何對這些數(shù)據(jù)進行管理。數(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ǔ)。機密性、完整性和真實性是三種常見的安全屬性。
機密性
機密性指的是主動或被動保密或私有的狀態(tài)。
機密性要求只有授權(quán)人員才能夠讀取數(shù)據(jù)資產(chǎn)。換言之,它是機密或私有的。密碼是具有機密性安全屬性的數(shù)據(jù)資產(chǎn)的常見示例。其他示例可能包括物聯(lián)網(wǎng)設(shè)備生成的個人數(shù)據(jù),如心率數(shù)據(jù)或位置信息。
完整性
完整性指的是完整且不可分割的狀態(tài)。
完整性要求數(shù)據(jù)資產(chǎn)在使用或傳輸時保持不變。完整性通常與建立引用的數(shù)據(jù)(如啟動固件)相關(guān)聯(lián)。啟動固件確保MCU配置為應(yīng)用可執(zhí)行的已知初始狀態(tài)。對啟動固件進行更改可能會影響該初始狀態(tài),并存在操作或安全風(fēng)險。
真實性
真實的性質(zhì)(毫無爭議的來源;不是副本;真實的)
真實性要求只有受信任的參與者才能建立數(shù)據(jù)資產(chǎn)的當(dāng)前狀態(tài)。當(dāng)與完整性相結(jié)合時,真實性便能夠建立信任,因此它是安全物聯(lián)網(wǎng)設(shè)備的關(guān)鍵基石。在先前的啟動固件示例中,數(shù)字簽名可用于在升級固件時對真實性和完整性進行評估,以確保僅使用可信固件。
全面識別物聯(lián)網(wǎng)設(shè)備中的數(shù)據(jù)資產(chǎn)至關(guān)重要,因為每個后續(xù)步驟都依賴于此步驟。舉例來說,網(wǎng)絡(luò)攝像頭將具備以下數(shù)據(jù)資產(chǎn):
攝像頭 ID | 設(shè)備的 唯一標識符 |
固件 | 定義硬件的 操作方式 |
固件 證書 | 用于安全啟動 |
證書 | 用于加密操作的數(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 | 完整性 |
固件 | 機密性(可選)、 完整性、真實性 |
固件 證書 | 完整性 |
證書 | 機密性、完整性 |
日志 | 完整性 |
圖像 | 機密性、完整性 |
配置 | 機密性(可選)、 完整性 |
威脅
威脅旨在破壞數(shù)據(jù)資產(chǎn)的安全屬性并將其用于未經(jīng)授權(quán)的目的。為了識別威脅,必須對物聯(lián)網(wǎng)設(shè)備中數(shù)據(jù)的使用進行評估。例如,證書可用于訪問物聯(lián)網(wǎng)設(shè)備的網(wǎng)絡(luò)。如果證書的機密性受到損害,則未經(jīng)授權(quán)的參與者就可以使用它們來訪問網(wǎng)絡(luò)。這種攻擊稱為冒充攻擊。通過系統(tǒng)地評估每種數(shù)據(jù),可以創(chuàng)建潛在威脅列表。
此外,網(wǎng)絡(luò)攝像頭可能面臨以下對其數(shù)據(jù)資產(chǎn)的威脅:
威脅 | 目標數(shù)據(jù)資產(chǎn) | 安全屬性 |
冒充攻擊 | 證書 | 機密性、完整性 |
中間人攻擊 | 證書 | -- |
鏡像 | ||
配置 | 機密性、完整性 | |
機密性 | 完整性、機密性、完整性 | |
固件濫用 | 固件 | |
篡改 | 攝像頭 ID | 完整性 |
固件 | 機密性、完整性 | |
真實性 | ||
完整性 | ||
證書 | 機密性、完整性 | |
日志 | 完整性 | |
鏡像 | 機密性、完整性 | |
配置 |
安全目標
通過識別威脅,可以定義安全目標。安全目標是在應(yīng)用級別定義的,本質(zhì)上提供了實現(xiàn)需求。一些安全目標可以作為可信應(yīng)用(TA)實現(xiàn),它們在安全的MCU提供的隔離執(zhí)行環(huán)境中執(zhí)行。隔離執(zhí)行環(huán)境全面保護TA及其使用/處理的數(shù)據(jù)。物聯(lián)網(wǎng)設(shè)備應(yīng)用本身在不安全的執(zhí)行環(huán)境中運行,并通過使用處理器間通信(IPC)通道的API與隔離執(zhí)行環(huán)境中的TA進行通信。TA則利用硬件中的可用資源(如加密加速器和安全內(nèi)存)來為目標提供支持。
繼續(xù)此示例,前面確定的威脅可以通過以下安全目標進行防御:
安全 目標 | 威脅 | |||
冒充 攻擊 | 中間人 攻擊 | 固件 濫用 | 篡改 | |
訪問 控制 | X | X | ||
安全 存儲 | X | |||
固件 真實性 | X | |||
通信 | X | |||
安全 狀態(tài) | X | X |
評論