Blog:
為什么我們需要遠程自動更新互聯設備?
隨著近年來聯網設備的爆炸式增長,整個行業都意識到需要在這些設備的整個生命周期內保持更新。 這是探討遠程無線更新(OTA)概念的系列的第一部分,為設計人員提供在他們的系統中實施遠程更新 OTA 解決方案時所需的詳細信息。我們將特別關注重要的安全因素。我們將從基礎開始。
遠程更新 OTA 的概念很簡單;允許署到現場的設備通過有線或無線連接進行更新。 我們已經習慣了需要更新電腦和手機。這類似于我們的手機平時更新應用程序以及整個操作系統; 每次發布新操作系統時,我們都不需要訪問 Apple Store。 隨著越來越多的設備(工業設備和消費類設備)連接到互聯網,使用這種連接進行更新是有意義的。
理想情況下,您將能夠更新互聯設備上所有的軟件棧。如果您的設計運行單個操作系統實例,您希望能夠更新 bootloader、基本操作系統和應用程序。如果系統中有多個域運行不同的系統(例如,一個內核上的 Linux 和第二個內核上的 FreeRTOS),那么您希望能夠更新所有域。
一個明確的事實是所有軟件都有錯誤。即使是經過最嚴格審查、經過徹底測試的軟件,在發布后也會出現問題。以火星探路者為例; 我認為可以肯定的是,大多數軟件開發過程遠不及 JPL 用于在另一個星球執行任務來得周密,那里軟件錯誤的成本是巨大的。如果即使他們也無法在發射前找到并解決所有問題,我們其他人還有什么機會呢? 幸運的是,探路者團隊在系統中內置了更新功能(通過太空更新?),因此他們能夠解決問題并恢復任務,而無需派技術人員到現場。
雖然火星表面對于任何技術來說都是一個不友好的環境,但我們許多設計的產品都被部署到各種嚴酷的環境中。威脅來自多個方面,所有系統設計人員都需要有能力應對這些威脅。大量設備可在互聯網上造成嚴重破壞?;叵胂?Mirai 僵尸網絡的案例。這個龐大的設備網絡被用來對最大的域名服務 (DNS) 提供商之一執行分布式拒絕服務攻擊,導致許多知名品牌大范圍中斷。此次攻擊中使用的大多數設備都是基于 Linux 的簡單設備,它們提供路由、安全攝像頭、打印或其他網絡服務?;韭┒词抢媚J登錄憑據,允許僵尸網絡作者輕松接管大量設備;一些報告顯示具有高達 600,000 個攻擊節點。該案例中的特定漏洞非常容易被利用,但也非常容易修復。這些設備應該已經更新,以便刪除默認憑據并替換為最終用戶指定的登錄名和密碼。造成的損失估算各不相同,但 ZDNet 報告稱,每個受影響設備的所有者花費約為 13.50 美元,包括電力和額外帶寬成本。如果是大型的集群設備,損失會更大。攻擊對設備制造商和網站造成的品牌損害則更加難以估計。
除了通過軟件更新修復問題外,您還可以向用戶推送新功能。根據設備使用模型,這樣做以幫助保留或擴大您的用戶群,或提供額外的收入機會。特斯拉使用他們的 OTA 系統為其用戶提供自動駕駛等售后功能。
最后,應該指出的是,許多政府正在考慮立法以幫助提高聯網設備的安全性?;ヂ摼W已融入公民生活的方方面面,因此政府有必要鼓勵更好、更安全的系統。歐洲電信標準協會 (ETSI) 定義了專注于消費物聯網設備的標準 EN 303 645。它定義了以下規范:
- 不允許通用的默認密碼
- 保持軟件更新
- 確保軟件完整性
許多其他政府正在以此作為制定類似立法的案例。美國政府也有類似的立法,應該清楚的是,如果沒有內置的軟件更新機制,這些要求就無法滿足。
至少任何具有持久網絡連接的設備都應啟用 OTA。這些聯網的設備風險最大,因為它們始終在線。但是任何連接到互聯網甚至內部網絡的設備都應該具有 OTA 功能,以便對其進行修補和保護。
不聯網的設備不會遭受基于網絡攻擊的風險,但可能會受到物理攻擊,具體取決于它們所在的位置。由于缺乏互聯性,更新這些設備需要用戶干預,但我們認為即使在這些情況下,啟用更新也是值得的。
在這篇文章中,我們討論了 OTA 的基礎知識,重點介紹了將此功能添加到您的設計中的動機。在本系列的下一部分中,我們將朝著相反的方向前進,并告訴您為什么 OTA 更新可能很危險,以及如果使用不完善的更新系統受到損害會產生什么后果。
