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