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