隨著越來越多的功能被嵌入到越來越小的設備占用空間中,安全問題也在增加。通常,新功能會排擠基本的安全問題,因為供應商將越來越多的功能打包到軟件包中,而幾乎沒有整體系統(tǒng)工程,而只是粗略的安全測試。
嵌入式環(huán)境已經成熟,安全性必須走在最前沿,就像 20 世紀 90 年代 PC 發(fā)展時的安全性一樣。隨著物聯網(IoT)的爆炸式增長,毫無疑問,任何安全漏洞都將被利用。物聯網設備使非常有用的業(yè)務案例成為現實。同時,它們也帶來了失去控制的風險。今天的嵌入式系統(tǒng)更加強大和脆弱。如果嵌入式系統(tǒng)要避免1990年代的陷阱,協(xié)議和方法在成為新一代黑客的切入點之前必須到位。
IT 標準組織(如 IT 軟件質量聯盟 (CISQ)、MITRE 常見弱點枚舉 (CWE) 以及 ISO 9000 和 ISO 25000)發(fā)布了指南和軟件質量標準。CISQ發(fā)布了針對安全性、可靠性、性能效率和可維護性的自動化質量措施。這些度量提供了一些特定屬性,這些屬性應用作嵌入式系統(tǒng)可能需要實現其業(yè)務/任務功能的證據。在檢查嵌入式系統(tǒng)的狀態(tài)時,很明顯,安全性應該預先設計。
實施安全策略
在考慮安全性時,大多數嵌入式系統(tǒng)工程師會立即關注保護數據的問題。系統(tǒng)不僅應該保護數據(在應用程序中),還應該保護接口不被濫用。這五個步驟代表了開發(fā)嵌入式安全策略的合理起點。
執(zhí)行空間中沒有未經測試的程序 – 除了執(zhí)行函數所需的程序之外,其他任何程序都不應存在于可以執(zhí)行它們的位置
數據必須是私有的 - 程序不應無意中向彼此或向網絡公開信息
在兩端確認數據 – 所有信息必須能夠得到驗證,并且必須在預期范圍內,并且越界信息被拒絕
安全設備 – 設備應能夠在啟動期間驗證其完整性;設備應在發(fā)送或接收數據之前對自己進行身份驗證
遵循標準 – 查看 IT 軟件質量聯盟 (CISQ) 質量特征度量,這些度量值可以自動執(zhí)行,以進行持續(xù)的安全性和軟件質量分析和緩解
采取措施 – 如果發(fā)生異常,程序在處理問題時必須繼續(xù)運行
執(zhí)行空間中沒有未經測試的程序
隨著嵌入式供應商努力使其產品與眾不同,他們將程序添加到其標準分發(fā)中。其中許多將不會被使用,并代表潛在的安全風險。這些程序必須被消除,或者更好的是,永遠不要安裝。要求一個操作系統(tǒng)發(fā)行版,除了操作系統(tǒng)工作和手動安裝程序的必需品之外,沒有任何內容。極簡主義策略最適合代碼。如果供應商不提供精簡的分發(fā),操作系統(tǒng)可以限制這些程序和敏感 API 的訪問權限,或者可以刪除未使用的代碼。
更好的方法是為自定義和第三方應用程序提供一個沙盒,以便執(zhí)行,然后通過 API 推送通信,從而提供必要的隔離。
硬件本身應該是“干凈的”,沒有安裝任何程序。開發(fā)人員安裝設備上的任何程序都是關鍵。每段代碼都必須來自受信任的開發(fā)人員,并且在安裝之前無法更改。
數據必須是私有的
程序不應無意中相互暴露信息或向網絡公開信息。盡管相信一臺設備不能在互聯網上被黑客入侵是很誘人的,但它根本不是現實。隨著程序中模塊的增長,數據工件往往會隨之增長,數據往往會變得越來越暴露。
嵌入式設備收集敏感數據(例如,醫(yī)療保健,企業(yè)),并且很有可能在數據流量到達目的地之前重新路由和修改數據流量。應該進行檢查以防止復制和粘貼,以及在設備落入壞人之手時遠程擦除數據的能力。
開發(fā)人員在滿足最后期限的壓力下,傾向于從自己和同事那里借用代碼和例程。任何安全漏洞都將被傳播。在第一時間正確設計和構建代碼。
在兩端確認數據
所有信息都必須在預期范圍內進行驗證,并明確識別。在兩端使用相同的例程來驗證內容至關重要。接口應該對傳入的內容敏感,并且能夠在數據不正確時采取措施。當設備從“受信任”的設備接收到不良數據時,入侵很可能是黑客攻擊。對于直接硬件接口也是如此。
與隱私一樣,所有與外部世界的聯系都需要被視為可疑。應驗證接口并檢查數據。
保護設備
設備應該能夠在啟動期間驗證其完整性,并應在發(fā)送或接收數據之前對自己進行身份驗證。知道誰在發(fā)送數據很重要,其中一個更簡單的黑客是替換未經驗證的設備。
啟動時,設備必須使用加密生成的數字簽名。資源受限的設備可以使用獨特的硬件特征而不是計算密集型算法來生成用于身份驗證的數字簽名。未通過該檢查的設備應具有計劃的響應。默認操作可能不適用于任何給定設備。
每個設備都應該有一個密鑰,每個設備都應該知道其類型的可接受密鑰。當收到未識別的密鑰時,應計劃響應,而不是簡單地忽略響應。如果接收信息對設備的功能至關重要,則多次接收錯誤的 ID 應被視為攻擊。規(guī)劃此故障至關重要。
遵循標準
CISQ發(fā)布了一個安全標準,旨在識別由MITRE在常見弱點枚舉(CWE)中維護的IT應用軟件中的前25個已知安全漏洞。CWE 是一組可衡量的項目,可用作復原能力、安全性和安全性的證據。代碼分析器(如 CAST)可以從復雜的環(huán)境中挑選出這些代碼。開發(fā)人員應該始終與這些重要標準保持聯系。
下手
如果發(fā)生異常,程序在處理問題時必須繼續(xù)運行。開發(fā)人員通常專注于接收到良好數據時會發(fā)生什么,但錯誤處理通常過于簡單。開發(fā)人員培訓假設不良數據是編程的產物,而不是黑客攻擊,這是需要審查的策略。對所有關鍵組件進行保證案例測試。保證案例支持對實現進行迭代審查和修訂,直到系統(tǒng)顯示正確的行為。
在某些情況下,設備可能有一種方法可以通知另一個設備它受到攻擊。在其他情況下,它可能只是選擇忽略或解決威脅。無論哪種情況,通信都是避免黑客攻擊的強大武器。
保護嵌入式設備
嵌入式安全正在成為嵌入式設備的關鍵需求。通過遵循這些建議,您的嵌入式解決方案可以專注于解決其旨在解決的問題,而不會為新一代黑客打開閘門。
審核編輯:郭婷
-
嵌入式
+關注
關注
5210文章
20679瀏覽量
337332 -
物聯網
+關注
關注
2950文章
48147瀏覽量
418816
發(fā)布評論請先 登錄
嵌入式軟件安全解決之道-堆棧分析篇
深度解析MAX32550:開啟嵌入式安全新時代
MAX32558:嵌入式安全的卓越之選
嵌入式系統(tǒng)安全設計原則
保護嵌入式軟件安全的5個步驟
評論