嵌入式設備很可能構成物聯(lián)網(wǎng)基礎設施的大部分低級別傳感器和控制裝置——比如運動傳感器、環(huán)境監(jiān)測和設備控制。在嵌入式開發(fā)中,嵌入式設備非常適合此角色,因為他們低功耗、低成本。
所有這些嵌入式設備都有非常具體的安全要求。除了容易受到服務器、桌面和移動設備中常見的所有攻擊(即保護我們的數(shù)據(jù)),嵌入式設備還容易受到更高級的硬件攻擊。讓我們來看看我們在構建物聯(lián)網(wǎng)產(chǎn)品的嵌入式設備時可能面臨的一些問題。
有限的資源
在嵌入式設備中保護數(shù)據(jù)與在服務器中保護數(shù)據(jù)非常相似,但需要注意一些事項。嵌入式設備的低功耗和低成本的結果當然是有限的計算資源。通常,嵌入式設備將具有有限的可用程序空間、CPU和RAM。這些約束將直接影響您的安全考慮,可能意味著您無法使用用于構建服務器端、集線器或移動設備功能的安全庫。但如果您的嵌入式設備需要使用應用層加密,則必須訪問加密庫,這一要求可以通過使用專門為嵌入式設備設計的加密庫來解決,例如wolfSSL或底層wolfCrypto。
在嵌入式開發(fā)中,向嵌入式設備添加加密功能的另一個選項是使用加密協(xié)處理器;例如,Atmel的加密身份驗證范圍。這種協(xié)處理器將加密功能從應用程序處理器卸載到另一個專用處理器。
固件空中傳送
“空中傳送”(Over-the-air)或“固件空中傳送”(FOTA)——從技術上講,更新不是安全功能。事實上,可以說,如果實施不當,它們實際上可能導致安全漏洞。但是,如果正確實施,F(xiàn)OTA允許您在已經(jīng)發(fā)貨的設備上更新固件,更重要的是更新安全固件。
保護您的FOTA系統(tǒng)的一個有用步驟是為您的設備提供公鑰,該公鑰可用于驗證簽名代碼更新。使用此機制,您可以確保僅將正式簽署的更新應用于您的設備。然而,值得注意的是,這個簽名方法只與它的實現(xiàn)一樣好。Trammell
Hudson的ThunderTrike攻擊利用Thunderbolt Option
ROM中的漏洞繞過蘋果EFI固件更新例程中的此類檢查。該攻擊允許將不受信任的代碼閃存到啟動ROM中,以及過度寫入用于驗證更新的公共RSA密鑰。雖然最初的攻擊需要物理訪問計算機,但在嵌入式開發(fā)中,通過過度寫入RSA密鑰,可以遠程實現(xiàn)未來的更新。
高級攻擊–側通道攻擊
側通道攻擊是指任何依賴于物理信息的加密攻擊。例如,功耗或電磁輻射。簡單功率分析(SPA)和差分功率分析(DPA)就是此類攻擊的示例。執(zhí)行SPA或DPA攻擊需要監(jiān)控設備的功耗,這將隨微處理器操作的不同而變化。功耗的變化允許有經(jīng)驗的攻擊者提取有關加密的信息。理想情況下,攻擊者希望獲得加密密鑰,因為這樣他們就可以簡單地監(jiān)視傳輸并根據(jù)需要進行解碼。
顯然,側通道攻擊需要正確的設備和專業(yè)知識。因此,它不太可能被一個沒有經(jīng)驗的裂解工使用。但是,如果您的物聯(lián)網(wǎng)產(chǎn)品具有較高的安全要求,并且可能會受到高級破解程序的攻擊,則可能需要解決這一問題。
高級攻擊–易受攻擊的接口
稍微容易的硬件攻擊向量是脆弱的接口。聯(lián)合測試行動小組(JTAG)接口通常用于測試和調(diào)試嵌入式系統(tǒng)。它們顯然對在原型階段工作的嵌入式開發(fā)團隊有巨大的好處。然而,當出現(xiàn)在生產(chǎn)階段的設備中時,它們會成為一個巨大的安全風險。用JTAG接口傳輸設備,打開攻擊向量,黑客會非常愿意利用它。作為一項規(guī)則,您應該從您提供的產(chǎn)品中刪除JTAG接口——以及實際上并非絕對必要的任何其他調(diào)試接口。
還值得注意的是,熔斷絲或切割痕跡不足以作為拆除的技術。不要低估你的攻擊者。在這種情況下,他們知道的足夠多,可以訪問您的調(diào)試界面。沒有理由認為他們無法修復您的接口。
高級攻擊–物理I/O掃描攻擊
類似于IP端口掃描,這種類型的攻擊涉及使用所有可能的輸入組合探測輸入引腳,然后監(jiān)視輸出。I/O掃描攻擊可能會導致任意數(shù)量的意外結果。至少在某些情況下,這種類型的攻擊很容易被發(fā)現(xiàn)。嵌入式開發(fā)人員可以利用嵌入式系統(tǒng)中未使用的輸入引腳。監(jiān)控這些引腳的輸入將讓應用程序知道有人試圖以非預期的方式使用嵌入式設備,比如執(zhí)行I/O掃描。一旦檢測到這種非預期操作嘗試,應用程序可以采取適當?shù)膶Σ撸乐拱l(fā)生任何未經(jīng)授權的活動。
顯然,與服務器端開發(fā)相比,嵌入式系統(tǒng)的安全性需要一些特殊的考慮。有限的資源需要優(yōu)化的加密堆棧。可能暴露的硬件需要特定于硬件的安全措施。決定物聯(lián)網(wǎng)系統(tǒng)的嵌入式設備需要哪些安全措施在很大程度上取決于平臺。