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