雖然嵌入式系統往往缺乏服務器甚至現代個人計算機的處理能力,但設備的絕對數量使其成為希望運行非法僵尸網絡和加密貨幣挖礦操作的不良行為者越來越有價值的目標。2016 年的 Nest 恒溫器僵尸網絡攻擊是嵌入式系統設計人員的第一個與安全相關的重大警鐘。鑒于特定物聯網 (IoT) 面向消費者的性質,以及對隱私和安全的敏感性增加;Nest 僵尸網絡引起了大量討論。這些討論往往集中在公司應如何在其低成本物聯網產品中構建安全性以及消費者如何在家中和企業中安全地操作這些設備。
隨著網絡攻擊威脅的增加,開發人員必須在整個設計過程中牢記安全考慮因素。通過遵循一些實用的提示和建議,開發人員可以防范各種攻擊場景。繼續閱讀以了解開發人員可在其嵌入式設計中使用的安全措施概要。
構建安全
雖然有許多芯片架構、操作系統和通信協議;許多物聯網設備往往圍繞基于 Arm ?的架構構建,如果它們運行的操作系統往往是 Linux 發行版。這種共性在很多方面都是好的;更低的成本和更快的開發時間;它還帶有很多底片。攻擊向量趨向于“一刀切”,尤其是對于運行基于 Linux 的操作系統的設備。為了減輕與共享通用架構的廣泛設備相關的威脅,開發人員應實施以下“速贏”安全設計原則:
不要將密碼硬編碼到固件中。此外,不要對所有設備使用通用的默認密碼。要求用戶在設備初始化期間創建自定義用戶名和密碼。
不要默認啟用不安全的協議,例如 HTTP、FTP 或 Telnet。通過有線或無線協議離開設備的數據必須經過高度加密。避免“自制”加密解決方案。
以盡可能最嚴格的配置運送設備,并讓最終用戶主動決定減少與安全相關的設置。
用于訪問設備的所有機制都應該需要身份驗證和授權控制。如果可行,應使用雙因素身份驗證 (2FA)。
應過濾所有面向用戶的輸入以避免注入式攻擊。
為最終用戶實施一個安全的設備管理界面,使他們能夠管理他們的資產、更新設備、監控設備,并安全地停用已達到生命周期結束 (EOL) 的設備。
無線 (OTA) 更新機制必須在設備上進行驗證。更新文件必須在發送到設備的途中加密。最后,確保有防回滾功能,以防止設備恢復到以前的不安全固件。
如果在您的設備設計中使用了第三方軟件庫,則必須持續監控它們以確保集成了第三方更新并且它們不會被棄用。廢棄的軟件項目可能會成為您設備的嚴重漏洞。在將第三方軟件提交到您的項目之前更改它們的默認密碼。
限制應在設備上存儲哪些敏感數據。僅將此類信息存儲在安全區域中。
請記住,對于物聯網,嵌入式系統只是更大生態系統的一部分。確保安全性也內置于云、桌面和移動應用程序中。生態系統的安全性取決于最薄弱的環節。
考慮建立漏洞賞金計劃,以鼓勵最終用戶和安全研究人員以安全、負責任的方式提交漏洞。
對設備的物理訪問往往是設備的游戲結束情況。這并不意味著沒有什么可以使物理上利用這些類型的設備變得更加困難。整本書都是關于使電路板和相關外殼防篡改的,但為了獲得一些“快速勝利”,請考慮以下物理設計經驗法則來強化您的設備:
用于調試端口(例如 JTAG 和 UART)的引腳在開發和測試設備時非常有用。對于那些試圖惡意逆向工程設備的人來說,它們也是誘人的目標。建議混淆這些引腳和/或移除生產單元的插頭引腳。請注意,這將以在部署后更難進行故障排除為代價。設計人員必須考慮安全性和可維護性之間的平衡。
使用粘合劑、超聲波焊接和/或專用安全螺絲會使打開設備變得更加困難。
在敏感元件上涂上非導電環氧樹脂可能會混淆它們的身份和用途。
您可能會想使用可能存在漏洞的舊組件。還要注意假冒組件。如果一筆交易好得令人難以置信,那它可能就是真的。平衡安全性和上市時間考慮因素并不是一個可以輕易做出的決定。
多層板可用于以一種更難辨別電路板功能的方式來布線。
以下一些建議可能對消費級 IoT 設備有點過分。然而,正如我們稍后將詳述的那樣,工業控制系統和防御系統可能會受益于這些更強大的物理安全措施:
在電路板本身中內置安全功能,例如微動開關、水銀開關或磁性開關,它們可以檢測電路板是否被無意地操作或打開。也可以使用鎳鉻合金線或光纖。如果電線或光纖受到試圖篡改設備的人的負面影響,那么電線的電流或光子通過光纖的行為將會發生可檢測的變化。
側信道或故障攻擊雖然可能不常見,但為對手提供了獨特的優勢,因為它們使用物理定律來攻擊設備,因此雖然可以檢測到,但很難預防。通過攻擊時序或限制電子流向 CPU,有可能讓設備以意想不到的方式運行,從而否定安全功能。電壓和電流傳感器可以在板載電路板上實現,以檢測是否可能發生毛刺,盡管存在誤報的可能性。
重要的對手可以使用 X 射線機器窺視微芯片并發現晶體管的形貌以確定功能等。可以添加檢測 X 射線的傳感器來檢測篡改,但無法阻止對手提取有用信息。
應該指出的是,安全性和開放性范例之間存在著相當大的二分法。安全值混淆。開放硬件價值理解。無論如何,請記住這句古老的格言,鎖只會讓誠實的人保持誠實,對于一般安全人員來說也是如此。有關如何構建安全物聯網設備的更多信息,請訪問開放 Web 應用程序安全項目 (OWASP) 物聯網項目。
操作安全
即使制造商可以在他們的產品中實施所有最好的安全設計原則,如果最終用戶不以安全的方式操作他們的設備,他們也將毫無意義。
更改默認路由器名稱、路由器密碼、網絡名稱 (SSID) 和網絡加密密鑰。請務必使用強密碼原則,不要為兩個網絡使用相同的密碼。
將您的家庭網絡劃分為兩個“虛擬”網絡,以便臺式計算機、網絡附加存儲 (NAS) 設備等無法“看到”IoT 設備。要快速輕松地執行此操作,請為您的 IoT 網絡使用訪客網絡功能.
大多數物聯網設備依靠智能手機應用程序來控制設備。使應用程序保持最新狀態,并在可用時使用 2FA 進行登錄。
禁用您不打算使用的物聯網設備的任何功能。
定期更新路由器和物聯網設備的固件。
當物聯網設備達到使用壽命并且不再接收更新時,請考慮將其更換為更新的型號。
工業實力安全
面向消費者的 IoT 產品可能很多,但它們的工業對應產品(統稱為工業控制系統 (ICS))管理著許多極其重要且具有潛在危險的過程。從能源生產到工廠,一切都使用嵌入式數字技術(稱為操作技術或 OT;與以辦公室為中心的信息技術或 IT 相對)來控制負責執行各種流程的設施和相關機械。ICS 環境與嚴格的 IT 環境有很大不同,因此需要特別考慮加固 OT 設備和 ICS 網絡。最基本的原則是 ICS 不應連接到互聯網。雖然這看起來很簡單,但令人驚訝的是,違反這一基本規則的頻率如此之高。
ICS 系統通常所在位置的性質(例如,環境、化學或其他危險區域)意味著 ICS 已被設計為優先考慮系統的可用性而不是機密性。從積極的角度來看,這通常意味著存在冗余系統,并且這些系統旨在安全地發生故障。然而,ICS 系統可能會運行數十年,并且可能不會始終保持最新狀態。此外,許多協議都比較陳舊,并且在構建時考慮的是效率,而不是安全性。總之,ICS 或 IIoT 領域的安全性具有獨特的挑戰性,最佳實踐可能難以實施。然而,
審核編輯黃昊宇
-
嵌入式
+關注
關注
5103文章
19268瀏覽量
310026
發布評論請先 登錄
相關推薦
評論