• 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

構(gòu)建嵌入式系統(tǒng)安全功能的實用技巧

2022/09/29
574
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

雖然嵌入式系統(tǒng)往往缺乏服務(wù)器甚至當(dāng)代個人計算機的處理能力,但這種設(shè)備數(shù)量之多正使它們成為非法僵尸網(wǎng)絡(luò)和加密貨幣挖礦操作等不良行為越來越有價值的目標。事實上,嵌入式系統(tǒng)設(shè)計人員的第一個主要安全相關(guān)警鐘即包括 2016 年 Nest 恒溫器受到的僵尸網(wǎng)絡(luò)攻擊。由于許多特定物聯(lián)網(wǎng) (IoT)都會面向普通消費者,以及它們對隱私和安全敏感性不斷增加的要求,Nest 僵尸網(wǎng)絡(luò)引發(fā)了大量討論。這些討論往往集中在公司應(yīng)該如何在他們的低成本物聯(lián)網(wǎng)產(chǎn)品中實現(xiàn)安全性,以及消費者如何在他們的家庭和企業(yè)中安全地操作這些設(shè)備。

隨著網(wǎng)絡(luò)攻擊的威脅越來越大,開發(fā)人員必須在整個設(shè)計過程中牢記安全方面的考慮。通過遵循一些實用的提示和建議,開發(fā)人員可以防范各種攻擊場景。請繼續(xù)閱讀下文,開發(fā)人員可以了解在嵌入式設(shè)計中使用的安全措施概要。

安全構(gòu)建

雖然有許多種芯片架構(gòu)、操作系統(tǒng)和通信協(xié)議,許多物聯(lián)網(wǎng)設(shè)備往往是圍繞基于 Arm® 的架構(gòu)構(gòu)建,如果它們運行操作系統(tǒng),則往往是 Linux 的一個版本Linux distribution。這種共性在很多方面都有好處,可實現(xiàn)更低的成本和更快的開發(fā)時間,但它也會產(chǎn)生很多負面影響。攻擊向量趨向于“一刀切”,尤其是對于運行基于 Linux 操作系統(tǒng)的設(shè)備。為了減輕與廣泛的共享通用架構(gòu)設(shè)備相關(guān)的威脅,開發(fā)人員應(yīng)實施以下“速贏”安全設(shè)計原則:

  • 不要將密碼硬編碼到固件中。此外,不要對所有設(shè)備使用通用默認密碼,需要用戶在設(shè)備初始化期間創(chuàng)建自定義用戶名和密碼。
  • 不要默認啟用HTTP、FTP 或 Telnet等不安全的協(xié)議。通過有線或無線協(xié)議發(fā)送設(shè)備的數(shù)據(jù)必須經(jīng)過高度加密,避免“自制”加密解決方案。
  • 以盡可能嚴格的配置運送設(shè)備,讓最終用戶主動決定減少與安全相關(guān)的設(shè)置。
  • 用于訪問設(shè)備的所有機制都應(yīng)要求身份驗證和授權(quán)控制。如果可行,應(yīng)使用雙重身份驗證 (2FA)。
  • 所有面向用戶的輸入都應(yīng)該施加過濾,以避免注入型的攻擊。
  • 為最終用戶實施一個安全的設(shè)備管理界面,使他們能夠管理其資產(chǎn)、更新設(shè)備、監(jiān)控設(shè)備以及安全地停用已達到其使用壽命 (EOL) 的設(shè)備。
  • 必須在設(shè)備上驗證無線 (OTA) 更新機制。更新文件在發(fā)送到設(shè)備的途中必須加密。最后,確保有防回滾(anti-rollback)功能,以防止設(shè)備恢復(fù)到以前的不安全固件。
  • 如果您的設(shè)備在設(shè)計中使用了第三方軟件庫,則必須對其進行持續(xù)監(jiān)控,以確保集成第三方的更新并且它們不會被棄用。廢棄的軟件項目可能會成為您設(shè)備的嚴重漏洞。在將第三方軟件應(yīng)用到您的項目之前,請更改默認密碼。
  • 限制在設(shè)備上應(yīng)該存儲哪些敏感數(shù)據(jù),僅將此類信息存儲在安全飛地(enclave)中。
  • 請記住,對于物聯(lián)網(wǎng),嵌入式系統(tǒng)只是更大生態(tài)系統(tǒng)的一部分,需要確保安全性也內(nèi)置于云端、桌面和移動應(yīng)用程序中。生態(tài)系統(tǒng)的安全只取決于最薄弱的環(huán)節(jié)。
  • 考慮建立漏洞賞金計劃,以鼓勵最終用戶和安全研究人員以安全、負責(zé)任的方式提交漏洞。

對設(shè)備的物理訪問往往是對于設(shè)備游戲結(jié)束的情況,但這并不意味著沒有辦法讓物理侵入這些類型設(shè)備變得更加困難。有些整本的書都是關(guān)于制作防篡改的電路板和相關(guān)外殼,但如果想了解一些“速勝”技巧,請考慮以下物理設(shè)計經(jīng)驗法則來強化您的設(shè)備:

  • 用于調(diào)試JTAG 和 UART等端口的引腳在開發(fā)和測試設(shè)備時非常有用。對于那些尋求惡意逆向工程設(shè)備的人來說,它們也是誘人的攻擊目標。建議混淆這些引腳和/或刪除生產(chǎn)單元的插頭引腳。請注意,這樣做的代價是一旦設(shè)備投入使用就很難進行故障排除,設(shè)計人員必須考慮安全性和可維護性之間的平衡。
  • 使用粘合劑、超聲焊接和/或?qū)S冒踩萁z會使打開設(shè)備變得更加困難。
  • 敏感元件上涂上非導(dǎo)電環(huán)氧樹脂能夠模糊它們的身份和用途。
  • 您可能很想使用可能存在漏洞的舊組件,但需要注意假冒組件。如果一筆交易看起來好得令人難以置信,那它可能就存在風(fēng)險。在平衡安全性和上市時間的問題上,不能做輕率的決定。
  • 可使用多層板進行布線走線,使其更難以辨別電路板的功能。

以下一些建議可能更多地適用于消費類物聯(lián)網(wǎng)設(shè)備,然而,正如我們稍后將討論的那樣,工業(yè)控制系統(tǒng)和國防系統(tǒng)同樣也會受益于這些更強大的物理安全措施:

  • 將安全功能內(nèi)置到電路板本身,微動開關(guān)(microswitches)、水銀開關(guān)(mercury switches)或磁性開關(guān)可以檢測電路板是否被無意處理或打開。也可以使用鎳鉻合金線或光纖。如果電線或光纖受到試圖篡改設(shè)備人的負面影響,那么電線的電流或通過光纖傳輸的光子行為將會發(fā)生可檢測的變化。
  • 側(cè)通道或故障攻擊(glitching attacks)可能不常見,但能夠為對手提供獨特的優(yōu)勢,因為他們使用物理定律攻擊設(shè)備,因此雖然可以檢測到,但卻難以預(yù)防。通過攻擊時序或限制電子流向 CPU,有可能使設(shè)備以意想不到的方式運行,從而降低安全功能??梢栽陔娐钒迳习惭b電壓和電流傳感器,以檢測是否可能發(fā)生故障攻擊,但這樣也存在誤報的可能性。
  • 一些重量級對手可以使用 X 射線機器窺探微芯片,并發(fā)現(xiàn)晶體管的形態(tài)以確定其功能和更多信息??梢栽谙到y(tǒng)中添加能夠檢測 X 射線的傳感器來監(jiān)測這種攻擊,但無法阻止對手提取有用信息。

應(yīng)該指出的是,安全和開放范式之間存在相當(dāng)大的區(qū)分,安全注重混淆程序,而開放硬件則注重理解程序。無論如何,請記住這句古老的格言:鎖只會讓誠實的人保持誠實,對于整個安全領(lǐng)域也是如此。有關(guān)如何構(gòu)建安全 IoT 設(shè)備的更多信息,請訪問開放網(wǎng)絡(luò)應(yīng)用安全項目 (Open Web Application Security Project ,OWASP) IoT 項目。

操作安全

即使制造商能夠在其產(chǎn)品中實施所有最好的安全設(shè)計原則,如果最終用戶不以安全的方式操作這些設(shè)備,結(jié)果也大多是徒勞無用。

  • 更改默認路由器名稱、路由器密碼、網(wǎng)絡(luò)名稱 (SSID) 和網(wǎng)絡(luò)加密密鑰。請務(wù)必使用強密碼原則,不要為兩個網(wǎng)絡(luò)設(shè)置相同的密碼。
  • 將您的家庭網(wǎng)絡(luò)分割成兩個“虛擬”網(wǎng)絡(luò),這樣物聯(lián)網(wǎng)設(shè)備就不會被臺式計算機、網(wǎng)絡(luò)附加存儲 (NAS) 設(shè)備等“看到”。要快速簡捷地做到這一點,請為您的物聯(lián)網(wǎng)采用訪客網(wǎng)絡(luò)功能。
  • 大多數(shù)物聯(lián)網(wǎng)設(shè)備依賴智能手機應(yīng)用程序來控制設(shè)備,因而需使應(yīng)用程序保持最新狀態(tài),并在可用時使用 2FA 登錄。
  • 禁用您不打算使用的 IoT 設(shè)備任何功能。
  • 定期更新路由器和物聯(lián)網(wǎng)設(shè)備的固件。
  • 當(dāng)物聯(lián)網(wǎng)設(shè)備達到使用壽命并且不再接收更新時,請考慮將其替換為較新的型號。

工業(yè)應(yīng)用級安全

面向消費者的物聯(lián)網(wǎng)產(chǎn)品可能很多,但對于工業(yè)領(lǐng)域的物聯(lián)網(wǎng)產(chǎn)品,可統(tǒng)稱為工業(yè)控制系統(tǒng) (ICS),它們管理著許多極其重要和具有潛在危險的工業(yè)過程。從能源生產(chǎn)到工廠,所有一切都使用嵌入式數(shù)字技術(shù)(稱為操作技術(shù)或 OT,相對于以辦公室為中心的信息技術(shù)或 IT )來控制負責(zé)執(zhí)行各種流程的設(shè)施和相關(guān)機械設(shè)備。 ICS 環(huán)境與嚴格的 IT 環(huán)境有很大不同,因此需要特別考慮加固 OT 設(shè)備和 ICS 網(wǎng)絡(luò)。這其中最基本的原則是 ICS 不應(yīng)連接到互聯(lián)網(wǎng),雖然這看起來很簡單,但令人驚訝的是,這條基本規(guī)則被違反的頻率卻是如此之高。有關(guān)如何保護 ICS 網(wǎng)絡(luò)和設(shè)備的更多信息,請查看兩個安全框架:用于 ICS 的 MITRE ATT&CK 和用于企業(yè)的 MITRE ATT&CK。

通常ICS 系統(tǒng)都會部署在環(huán)境嚴苛、化學(xué)或其他危險區(qū)域,這種性質(zhì)意味著 ICS 設(shè)計中系統(tǒng)的可用性優(yōu)先于機密性。 從更積極的角度來看,這通常要求存在冗余系統(tǒng),并且這些系統(tǒng)發(fā)生故障時需要保證安全性。 然而,ICS 系統(tǒng)可能會持續(xù)運行數(shù)十年,并且可能并不總是保持最新狀,而且許多協(xié)議都版本較舊,并且在構(gòu)建時只考慮了效率,而不是安全性。 歸根結(jié)底,ICS 或 IIoT 領(lǐng)域的安全性具有獨特的巨大挑戰(zhàn),可能難以實施面面俱到的最佳部署實踐。 但是,此類設(shè)備的嵌入式開發(fā)人員應(yīng)該認識到需要對設(shè)計慣例進行現(xiàn)代化改進,并將安全性納入未來的設(shè)計,而不是再采用事后的補充。

Arm

Arm

ARM公司是一家知識產(chǎn)權(quán)(IP)供應(yīng)商,主要為國際上其他的電子公司提供高性能RISC處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。目前,ARM公司的處理器內(nèi)核已經(jīng)成為便攜通訊、手持計算設(shè)備、多媒體數(shù)字消費品等方案的RISC標準。公司1990年11月由Acorn、Apple和VLSI合并而成。

ARM公司是一家知識產(chǎn)權(quán)(IP)供應(yīng)商,主要為國際上其他的電子公司提供高性能RISC處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。目前,ARM公司的處理器內(nèi)核已經(jīng)成為便攜通訊、手持計算設(shè)備、多媒體數(shù)字消費品等方案的RISC標準。公司1990年11月由Acorn、Apple和VLSI合并而成。收起

查看更多

相關(guān)推薦