淺析物聯(lián)網(wǎng)設備面臨的安全問題
眾所周知,物聯(lián)網(wǎng)(IoT)設備預計將無處不在。這些由半導體驅動的設備將推動每一個可想象的過程實現(xiàn)智能化。從簡單的開燈到門診護理或工廠控制等更復雜的過程,通過傳感、處理和云連接,物聯(lián)網(wǎng)設備將大幅提高工作效率。應用場景多種多樣,它們的發(fā)展前景和影響力也將不可估量。
保護物聯(lián)網(wǎng)設備的想法可能令人望而生畏。初步研究很快揭示了有關密碼學、威脅、安全目標和其他幾個主題的大量知識。面對鋪天蓋地的信息,物聯(lián)網(wǎng)設備設計人員通常會問的第一個問題是:“我如何判斷所需安全性要達到哪種水平?”,緊接著是“我該從哪里入手?”
Arm提供了平臺安全架構(PSA),幫助設計人員快速入門。通過利用PSA的一整套威脅模型和安全性分析、硬件和固件架構規(guī)范以及可信固件M參考實現(xiàn),物聯(lián)網(wǎng)設計師能夠快速且輕松地實現(xiàn)安全設計。
通過使用雙Arm Cortex®-M內核,結合可配置的內存和外設保護單元,賽普拉斯PSoC 6 MCU實現(xiàn)了PSA定義的最高保護級別。本文將PSA網(wǎng)絡攝像頭威脅模型和安全性分析(TMSA)應用于PSoC 6 MCU,演示如何針對網(wǎng)絡攝像頭應用進行安全性評估。任何攻擊的目標都是獲取物聯(lián)網(wǎng)設備的數(shù)據(jù)并以某種方式加以利用。如圖1所示,分析過程的第一步是識別物聯(lián)網(wǎng)設備處理的數(shù)據(jù)資產(chǎn)及其安全屬性。
接下來的步驟是識別針對這些資產(chǎn)的威脅,定義抵御這些威脅的安全目標,并確定需求以滿足安全目標。通過滿足這些要求,基于微控制器的設計可為安全目標提供支持,并最終保留資產(chǎn)的安全屬性。最后,應該對設計進行評估,以判定設計是否達到安全目標。通常情況下,這類評估會利用應用于設計的威脅模型來評估設備的攻擊防御能力。
完整性要求數(shù)據(jù)資產(chǎn)在使用或傳輸時保持不變。完整性通常與建立引用的數(shù)據(jù)(如啟動固件)相關聯(lián)。啟動固件確保MCU配置為應用可執(zhí)行的已知初始狀態(tài)。對啟動固件進行更改可能會影響該初始狀態(tài),并存在操作或安全風險。
真實性要求只有受信任的參與者才能建立數(shù)據(jù)資產(chǎn)的當前狀態(tài)。當與完整性相結合時,真實性便能夠建立信任,因此它是安全物聯(lián)網(wǎng)設備的關鍵基石。在先前的啟動固件示例中,數(shù)字簽名可用于在升級固件時對真實性和完整性進行評估,以確保僅使用可信固件。全面識別物聯(lián)網(wǎng)設備中的數(shù)據(jù)資產(chǎn)至關重要,因為每個后續(xù)步驟都依賴于此步驟。舉例來說,網(wǎng)絡攝像頭將具備以下數(shù)據(jù)資產(chǎn):
威脅旨在破壞數(shù)據(jù)資產(chǎn)的安全屬性并將其用于未經(jīng)授權的目的。為了識別威脅,必須對物聯(lián)網(wǎng)設備中數(shù)據(jù)的使用進行評估。例如,證書可用于訪問物聯(lián)網(wǎng)設備的網(wǎng)絡。如果證書的機密性受到損害,則未經(jīng)授權的參與者就可以使用它們來訪問網(wǎng)絡。這種攻擊稱為冒充攻擊。通過系統(tǒng)地評估每種數(shù)據(jù),可以創(chuàng)建潛在威脅列表。
通過識別威脅,可以定義安全目標。安全目標是在應用級別定義的,本質上提供了實現(xiàn)需求。一些安全目標可以作為可信應用(TA)實現(xiàn),它們在安全的MCU提供的隔離執(zhí)行環(huán)境中執(zhí)行。隔離執(zhí)行環(huán)境全面保護TA及其使用/處理的數(shù)據(jù)。物聯(lián)網(wǎng)設備應用本身在不安全的執(zhí)行環(huán)境中運行,并通過使用處理器間通信(IPC)通道的API與隔離執(zhí)行環(huán)境中的TA進行通信。TA則利用硬件中的可用資源(如加密加速器和安全內存)來為目標提供支持。
訪問控制:物聯(lián)網(wǎng)設備對試圖訪問數(shù)據(jù)資產(chǎn)的所有參與者(人或機器)進行身份驗證。防止在未經(jīng)授權的情況下訪問數(shù)據(jù)。防御欺騙和惡意軟件威脅,即攻擊者對固件進行修改或安裝過時的缺陷版本。安全存儲:物聯(lián)網(wǎng)設備維護數(shù)據(jù)資產(chǎn)的機密性(根據(jù)需要)和完整性。防御篡改威脅。固件真實性:物聯(lián)網(wǎng)設備在啟動和升級之前對固件的真實性進行驗證。防御惡意軟件威脅。
通信:物聯(lián)網(wǎng)設備對遠程服務器進行身份驗證,提供機密性(根據(jù)需要),并維護交換數(shù)據(jù)的完整性。防御中間人攻擊(MitM)威脅。安全狀態(tài):即使固件完整性和真實性驗證失敗,仍確保設備保持安全狀態(tài)。防御惡意軟件和篡改威脅。
在這一方面,分析提供了數(shù)據(jù)資產(chǎn)、威脅和安全目標的邏輯連接模型。根據(jù)這張圖,可以編譯出安全MCU所需的功能或特性列表。當然,這個列表也可以用作特定物聯(lián)網(wǎng)設備應用解決方案的實現(xiàn)標準。請注意,安全目標的要求可能會根據(jù)物聯(lián)網(wǎng)設備的生命周期階段(設計、制造、庫存、最終使用和終止)而變化,也應予以考慮。