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

Python在嵌入式系統(tǒng)中的應(yīng)用場景
嵌入式系統(tǒng)開發(fā)圣經(jīng)【干貨】
IAR分析嵌入式系統(tǒng)的市場前景
如何提高嵌入式代碼質(zhì)量?
嵌入式主板的概述與發(fā)展

評論