保護嵌入式設備的安全正在成為一個熱門話題,尤其是當這些設備開始連接到互聯網時。黑客對連接的設備進行逆向工程是一個真正的威脅,這種攻擊很容易做到。嵌入式開發人員可以做些什么來提高他們設備的安全性? 以下是開發人員需要注意的七個關鍵要點。
要點 1 – 開發成功率很高
嵌入式系統的安全漏洞有多普遍,安全性真的是需要擔心的事情。95% 的系統都存在允許設備被征用的缺陷,95% 的成功率不僅表明大多數嵌入式系統都存在安全漏洞,而且嵌入式系統開發人員需要開始考慮他們所做工作的安全隱患。
要點2——不是RTOS,而是用戶代碼
安全缺陷通常出現在用戶開發的代碼中,而不是RTOS本身。其中一個原因是,RTOS 往往是一組操縱低級硬件的小功能,相反,黑客更喜歡首先查看任何基于網絡的管理代碼,這些代碼可能為他們提供對設備的管理權限。
要點3——分析工具便宜
有人可能會認為,下載、分析和發現安全漏洞所需的工具相對昂貴,對于許多潛在的黑客來說遙不可及。不幸的是,這與事實相去甚遠。完成這些壯舉所需的工具大部分都是免費的。對于黑客來說,僅僅1000美元和一兩周的工作可能引發的潛在破壞無疑是非常值得的。
要點4–禁用廣域網接入還不夠
嵌入式開發人員似乎認為他們的嵌入式設備在本地網絡上,其對廣域網的訪問是禁用的,所以為什么要擔心可能的安全缺陷呢?如果設備看不到互聯網,那么黑客就無法訪問設備,對嗎?不對。有一項有趣的技術,該技術使用標準HTML,允許潛在黑客使用一個只有圖像標簽的網頁來實現嵌入式設備中的廣域網訪問,這使得黑客可以訪問設備和網絡的其他部分。
要點5——注意文本字符串
文本字符串的一個問題是,它是文本。任何有興趣閱讀的人都可以很容易地閱讀和理解文本。這些信息有助于網絡專家破譯設備的工作原理。這個故事的寓意是要非常小心你的設計中存儲的未加密的信息和數據。
要點6——保護你的固件
保護你的嵌入式軟件免受外部查看者的攻擊。黑客需要能夠看到代碼并對其進行逆向工程,以便輕松找到漏洞。阻止黑客獲取任何格式的代碼都會讓他們的工作變得更加困難。例如,不要提供可以下載并閃存到設備的完整二進制固件更新映像。黑客也可以下載圖像,然后對其行為進行逆向工程。
有時,當更新圖像不可用時,黑客會購買設備并從硬件上下載代碼。防止黑客這樣做的最好方法是保護嵌入式閃存。許多微控制器和微處理器都有保護flash不被讀取的方法。采用這兩種方法不會使設備絕對安全,但它們會使設備更難被利用。
結論
嵌入式軟件工程師需要關注安全性。推向市場、添加產品特性和創建健壯產品的壓力經常讓開發人員爭先恐后地推出產品。但是一旦這種產品進入世界,沒有人知道它會存在多久,也不知道它會如何被用于邪惡的目的。因此,忽視哪怕是最簡單的聯網設備的安全隱患,都可能導致為黑客提供他們真正制造麻煩所需的計算能力。安全性可能不是嵌入式開發人員的最高優先級,但現在至少應該把它放在優先級列表上。