物聯網安全概述
物聯網的本質,是從端到雲的資料互動及計算過程。根據這個特點,可以将物聯網劃分為3個層次:雲、網絡和裝置,也就形成了物聯網的攻擊面。
其中,雲層包括雲端提供的服務,例如物聯網平台、日志等等;
網絡層代表雲和裝置、裝置與裝置之間的傳輸過程;
裝置層包括了IoT裝置、網關裝置及其上的系統和應用。

對黑客而言,以上三個層次都具有攻擊的價值。在IoT架構中,我們可以把安全威脅歸類為以下幾種:
身份僞裝
通過擷取的認證資訊,将惡意的裝置、服務僞裝成合法裝置和服務。
拒絕服務
使服務、裝置或網絡傳輸過程癱瘓。
資料篡改
對系統、應用和資料進行篡改。
資訊竊取
竊取隐私資訊。
越權
強迫應用進行超過其權限範圍的行為。
結合安全威脅類型和IoT系統架構,總結出了如下的威脅模型:
在IoT架構的不同層次上,均有與裝置端OS相關的安全威脅存在;而IoT裝置資源受限、實體暴露等特性,直接導緻了裝置端安全能力的不足。接下來,結合具體場景,對與裝置端OS相關的安全風險逐一進行分析。
安全風險分析與防範手段
S1:身份僞裝
阿裡雲已經為IoT裝置提供友善的上雲方式。對于裝置認證,阿裡雲目前提供了裝置證書、LinkID2等認證方案。對于開發者來說,最常用的方式是通過裝置認證資訊認證:開發者從雲端服務擷取裝置認證資訊,并将其燒寫到裝置上。當裝置連接配接雲端時,阿裡雲會根據裝置認證資訊對裝置進行認證。在這種場景下,如果能夠通過漏洞或實體接觸竊取到裝置認證資訊,黑客就能夠将其他裝置僞裝成使用者的裝置,進而向使用者發送僞造資料。
防範手段
通過加密保護裝置認證資訊。
在具備SE的情況下,利用SE對加密密鑰進行保護。
在不具備SE的情況下,利用keychain對加密密鑰進行保護。
N2:資料篡改 & N3:資訊竊取:
對于裝置之間、裝置端與雲端之間的不安全通信,黑客可以發起中間人攻擊,截獲資料包并提取隐私資料,或者對資料包中的資料進行篡改和繼續轉發。
防範手段:
為傳輸過程進行TLS加密保護。
D1:身份僞裝
通過DNS欺騙,黑客可以直接僞裝雲端服務。如果裝置端應用未進行雙向驗證,黑客可以僞裝雲端服務與裝置進行資料互動、操縱裝置;在裝置間通信時,如果裝置上開啟了被動連接配接服務,黑客可以利用竊取的認證資訊僞造合法裝置與目标裝置互動。
提供認證服務端的能力,例如提供CA憑證。
通過ID2支援雙向認證。
禁用裝置上的被動連接配接服務,裝置之間通過雲端通信。
D2:資料篡改
與伺服器不同的是,IoT裝置常常會處于“暴露”的狀态。這意味着在裝置端,黑客不僅能夠利用應用和核心中的漏洞對裝置上的系統、應用和檔案進行篡改,還能通過實體接觸的方式篡改裝置上的内容。物聯網産品從出廠後到投入使用的整個生命周期中,會接觸到許多不同的角色,任何一個環節都可能出現威脅。
防範手段-針對利用漏洞的情況:
利用KSPP降低核心漏洞的威脅。
注:KSPP(Kernel Self-Protection Project)是為了讓 Linux 核心本身具有對漏洞利用的防禦能力,主要工作是參考 PaX/Grsecurity 的實作來移植或者重新實作類似的功能然後推進到 Linux 核心主線。
通過安全掃描保證裝置端應用的安全性,并通過OTA支援漏洞更新檔。
利用沙箱機制限制應用漏洞的能力。
提供隻讀rootfs。
通過安全啟動 + IMA的整體方案防止篡改。
提供TEE保護隐私資訊。
防範手段-針對實體接觸的情況:
根據場景提供不同粒度的加密方案。
利用SE或keychain提供加密可信基。
D3:資訊竊取
裝置上不僅會儲存了隐私資料,還有應用的可執行檔案。通過漏洞或實體接觸,黑客可以直接擷取使用者隐私(例如攝像頭資料、密鑰等),還能獲得應用的二進制檔案以進行逆向分析。
利用沙箱限制應用漏洞的能力。
提供代碼混淆能力。
D4:越權
當黑客利用漏洞攻破裝置上的某個應用時,他可能會迫使應用進行預設權限之上的行為:例如關閉系統、通路其他應用的資料、大量占用系統資源。黑客可以通過越權直接進行攻擊,或者為其他攻擊方式提供條件。