
在構建 IoT 解決方案時獲得正確的安全性可能證明極具挑戰性。
可以說,保護解決方案的”云”端并不新鮮,而且有許多成熟的實踐和支持框架可以幫助您正確完成操作。當涉及到”硬件”方面——最終連接到公共網絡的嵌入式設備——對大多數人來說,這仍然是未知的領域。
在本文中,我們將介紹在構建連接產品時應該問自己的幾個問題,并提供一些答案,以幫助您使下一個 IoT 設備盡可能安全。
您可能還喜歡:DZone 研究:IoT 安全性
我的設備的身份是什么?不可偽造嗎?
當您以個人身份對網站或任何形式的在線服務進行身份驗證時,您通常依賴多重身份驗證(MFA) 來避免冒名頂替和身份盜竊。多重身份驗證使攻擊者幾乎不可能偽造您的在線身份,因為他們可能無法訪問驗證上述網站或服務所需的所有證據。
例如,他們可能已經了解了您的密碼,他們甚至偷了您的手機,但他們不知道您的 6 位 PIN,也沒有您的指紋。簡而言之:他們無法完成登錄過程并冒充您。
是否可以實施類似的機制來防止物理 IoT 設備的身份盜竊?
簡而言之,此類設備保存受硬件保護的加密密鑰。私鑰在存儲在模塊中后永遠不會離開模塊,然后使用公鑰來證明設備的身份。由于密鑰無法偽造,因此模擬設備實際上等同于獲得對它的物理訪問權限(這當然會帶來其他安全問題,我們稍后將討論這些問題!
“我知道,這是兩個問題在一起!
我的代碼在哪里運行?
“可信計算庫“(TCB) 是指對系統安全性至關重要的硬件、固件和軟件組件集。從前面提到的 TPM 到操作系統的內核,IoT 設備有幾個方面將在確保系統的整體安全性方面發揮作用。
在設計 IoT 設備時,必須記住受信任的計算基礎應盡可能小。這樣,您可以最大限度地減少攻擊的表面,并降低 TCB 中 bug(或功能!)的風險,允許攻擊者繞過安全保護并部署惡意負載,例如,他們竊取有價值的業務數據。
如果可以,請嘗試在操作系統或實時操作系統之上進行構建,該操作系統允許您僅提供并啟用您真正需要的功能。在任何情況下,應用程序代碼都應在 TCB 之外運行,以便它可以在不影響安全性的情況下行為不當。
我的軟件組件是否隔離?
我發現看門狗計時器是一個精致的概念-如果你的嵌入式系統的一個組件停止響應,一個完整的復位可以自動觸發-但我有時也想知道,如果他們應該首先存在。
從歷史上看,由于硬件限制,嵌入式代碼被設計為一個相當單一的 blob,其中一個組件中的缺陷或漏洞可能會危及整個系統,因此需要監視程序來減輕軟件故障。
現在,如果除了導致模塊(和您的系統)掛起的無害軟件錯誤之外,我們還在其中討論一個漏洞,會發生什么情況?當然,您不希望攻擊者由于您的軟件模塊中的一個缺陷而控制整個系統!
為了降低這種風險,安全的 IoT 設備應允許將其各種軟件組件分割開來,并在它們之間實現硬件強制邊界
我的安全機制的網播有多寬?
從分布式拒絕服務(DDoS) 或勒索軟件攻擊到使用 IoT 設備作為訪問公司網絡的方式,IoT 設備可能是黑客的多汁目標。您應該假定您的設備將受到黑客攻擊,黑客通常比您想象的更具創造性和持久性。

縱深防御起源于軍事,作為一種通過在前線部署資源(防御工事、軍事單位等)來延緩攻擊者的技術。這樣,如果攻擊者設法突破前線,當他們深入戰場時,他們仍然會面臨幾層防御。
應用于 IoT 設備(以及 IT 一般),縱深防御包括實施多層安全控制,將幾種類型的緩解措施放在每個潛在威脅的前面。
例如,控制對物理總線、網絡防火墻和安全引導的訪問的內部防火墻組合將大大減少設備受到威脅的可能性。如果攻擊者通過安全啟動并能夠執行惡意負載,防火墻將阻止他們物理訪問設備的外圍設備或連接到遠程第三方服務器。
身份驗證是否基于密碼或證書?
你聽說過shodan.io嗎?它是一個搜索引擎,本質上是揭露物聯網最黑暗的秘密。是的,’1234′和’管理員‘密碼是其中一些秘密…除其他事項外,肖丹shodan.io/search?query=%22default+password%22″rel=”nofollow”目標=”_blank”,默認密碼可能尚未更改。哦,對吧?
除了由于公開訪問的設備依賴于默認憑據而導致的明顯威脅之外,基于密碼的身份驗證可能證明難以大規模管理。
例如,如何從被盜的密碼中恢復,特別是當現場部署的數千臺設備使用密碼時?另一方面,基于證書的身份驗證不依賴于共享的機密,并且支持相互身份驗證,從而限制了中間人攻擊的風險。
我的設備能否輕松自動更新?
說到物聯網設備,俗話說:”如果你不能更新它,你無法保護它。時期。
“如果您無法更新它,則無法保護它。
設備要隨著時間的推移保持安全,需要允許隨著安全威脅的發展和攻擊者發現新的攻擊媒介而推出安全更新。例如,可再生設備安全性包括推出操作系統更新(例如,修復零日漏洞)或部署新證書的能力。
理想情況下,還應制定硬件措施,以防止設備在更新后恢復到已知的易受攻擊狀態。
我的設備是否報告其故障?
IoT 設備可能出現故障的原因有很多。例如,這可能是由于攻擊者試圖通過利用漏洞或試圖暴力破解密碼來控制密碼。它也可能僅僅是由于設備擊中一個角落的情況下,并切換到一個未定義的狀態,使其易受攻擊。
無論是什么原因,必須能夠在整個艦隊中跟蹤這些故障,這樣它們不僅可以被診斷和糾正,而且在它們被有效利用之前也可以用來隔離和緩解潛在的攻擊媒介。
有幾個解決方案可以幫助錯誤報告ms/iot 安全文檔代理”rel=”nofollow”目標=”_blank”—IoT 的 Azure 安全中心及其關聯的開源代理是如何自動收集和記錄諸如登錄嘗試失敗、異常 IP 地址連接等事件的良好示例。
結論

本文的靈感來自于”高度安全設備的七大特性“,這是必讀的。如果您想深入了解本文中列出的每個高級安全主題附帶的一些最佳實踐,您應該了解一下。
最后,如果你像我一樣,你可能喜歡用實際設備和實際代碼來弄臟你的手,以熟悉一個新的領域。如果是這種情況,我只能推薦Azure Sphere 開發工具包作為工具,以掌握構建安全 IoT 設備需要什么。
此工具包基于開放式硬件參考設計,該設計基本上實現了本文中列舉的所有屬性,并使 IoT 設備安全。它具有安全、連接的微控制器單元 (MCU)、基于Linux的自定義高級操作系統以及基于云的安全服務,可提供持續、可再生的安全性。
有許多教程和代碼示例可以幫助您開始使用 Azure Sphere,并開始熟悉構建下一個連接設備時應該想到的所有事項com/文章/iot 安全挑戰-和 5-有效方式-到哈-1″rel=”不跟隨”_IoT 安全挑戰和 5 種有效處理方法
