曾幾何時,物聯網淪為網際網路災難的幫兇,眾多受害企業苦不堪言。若要增強聯網裝置的自我防護,並預防安全性漏洞,這些原先未納入的額外舉措,勢必造成成本上升與上市延遲的後續效應,但如果不思改進,當災難真的發生時,物聯網市場恐將一夕崩盤。
日常使用中的許多東西,正在變得智慧化並且連接上網。物聯網(IoT)將改善人們的生活,幫助實現健康和健身目標、減少資源消耗、提高生產力、追蹤並確保資產安全。許多嵌入式開發人員意識到物聯網的潛在優點,並積極開發各種應用程式,範圍涉及家庭連接裝置、穿戴式和家庭保全系統等。
然而,風險與收益並存,沒有人希望設計的應用程式容易受到攻擊或資料遭竊取。高調曝光攻擊等事件令人不安,這會對品牌形象造成嚴重影響並失去客戶的信任,而最糟糕的是,它會減緩或永久性地使人們減少使用物聯網。
物聯網通常被稱為是一場工業革命,可連接裝置的數量將在未來幾年內快速成長。如果推崇物聯網的分析師之間存在任何爭議的話,那便是到底會有幾十億的可連接裝置。此外,物聯網對社會的經濟價值預估為4至11萬億美元(USD)。
在加速可連接裝置產品上市的競賽中,實現適當的安全措施會帶來一些麻煩,因為這會增加元件成本、開發工作量和設計複雜度。同時,適當的安全措施對某些產業來說並非至關重要。然而,採取適當的安全措施是避免受到攻擊的關鍵。
供應商產品受到攻擊後,重大的安全和隱私問題以及負面報導可能會暫時或永久性減緩人們使用物聯網。即使是在家庭和日常生活中的簡單裝置,許多消費者也對連接安全保持懷疑,一些研究人員和業界觀察人士更認為物聯網安全災難必將發生。實際上,最近有很多高調曝光的攻擊廣受關注,因此有人認為這個災難已經來臨。
量子密碼學並不完美 物聯網處境頗為類似
當前物聯網的安全狀況類似於量子密碼學,這通常指量子金鑰分配。與其他金鑰分配方案不同,量子密碼學承諾在物理定律的基礎上保證絕對安全性。而相較之下,大多數金鑰分配方案依賴於大資料因式分解或離散對數問題計算複雜性的假設。
儘管量子密碼學於1984年被發現,但直到2000年商業加密系統才被引進市場。量子密碼系統依賴於單一光子,搭建量子密碼系統很複雜,不過上市時間才是本質問題。2010年,第一個徹底打破量子密碼學系統的安全性漏洞被公諸於眾。從理論上講,量子密碼學是不可能被破壞的,但實際上,在系統設計過程中,並未考慮到邊通道攻擊或漏洞。此外,有趣的是,直到組建專門的小組去破壞這些系統之前漏洞並未被發現。在組建該專門小組之前,整個產業都在關注於如何使量子密碼學系統更穩健和如何使這些系統上市。
量子密碼學類似事件為人們上了重要的一課。最值得注意的是,它表明安全是一個持續不斷的發展過程,需要多學科方案來預測潛在的攻擊。當工程團隊試圖使某些事情變得像量子密碼系統一樣複雜時,同樣的工程團隊可能也弄不明白攻擊者是如何侵入系統的,整個過程相互矛盾。因此,須要將品質保證和安全團隊從搭建安全系統的工程團隊中分離出來。
另一個關鍵點是,量子密碼學系統受到攻擊肯定會暫時(如果不是永久的)降低該技術的市場接受度和對該技術的信任。因此,如果產業能夠在前期階段對安全投入更多,那麼儘管這會使上市時間更長、成本更高,但最終也會大有裨益。
分析各類型安全 健全物聯網生態
目前,物聯網安全所必需的技術已經存在。但是缺乏如何實施這項技術的知識通常是大多數安全性漏洞的根本原因。然而,一個「安全」的物聯網裝置並不能確保能夠實現一個安全的系統。雖然如此,開發人員至少應當意識到以下類型的安全:
維護硬體安全
安全的物聯網裝置具有許多安全特性。首先,它使用非對稱密碼來執行安全引導和安全載入或空中(OTA)韌體更新。安全的物聯網裝置還使用硬體加密加速器,它們更快、更節能,並且更不易受到邊通道分析攻擊。
在安全的物聯網裝置中,除錯連結埠是禁用的。如果在某些時候需要重新打開除錯連結埠(例如須要遠端儲存器存取或由於其他原因),這時要透過使用公共金鑰認證的認證詢答方案來實現。
雖然安全啟動和引導載入可防止攻擊者修改程式記憶體,但安全的物聯網裝置能夠進一步限制對於程式記憶體的讀取存取。這通常意味著裝置具有內部記憶體或內建快閃記憶體。在使用外部記憶體的情況下,這也意味著外部記憶體的內容須被簽名和加密。
強化軟體安全
為確保在安全的物聯網裝置上運行的軟體能夠進一步加強安全性,必須在關鍵部分進行硬體化,這意味著其可阻止跳過單一指令。
例如,安全啟動簽名檢查或密碼簽名檢查。這種方法可確保即使攻擊者能夠讓處理器跳過一道指令,如此也不會產生關鍵性的安全後果。此外,為了避免代碼中的安全問題或協力廠商資料庫引起系統範圍的存取,可採用安謀國際(ARM) v8M的TrustZone對不同資料庫進行分區管理。
留意通訊安全
大多數積體電路(IC)與其他IC、物聯網裝置、閘道和雲端通訊,有必要保護這些通訊通道。當與其他IC通訊時,這意味著要啟用加密和身分驗證以確保完整性和機密性。一個可能的範例是將數據儲存在感測器或通訊IC和主處理器之間的外接記憶體或有線匯流排。
當與其他物聯網裝置通訊時,通常使用諸如Zigbee、Thread或藍牙低功耗(BLE)等通訊協定。大多數協定中都有安全選項,重要的是要打開這些安全選項。
另一個重要的考慮因素是裝置部署。一旦在通訊裝置之間採用安全措施,那麼安全的資料傳輸就顯而易見。然而,分發私鑰並不是直接的。對於無線裝置而言,這通常涉及裝置加入無線網路的部署步驟,例如使用藍牙(Bluetooth)部署一個可連接燈泡到基於Zigbee的網狀網路。用於部署的選項取決於系統基本功能、易用性和安全性之間的折衷。只要安全的物聯網裝置不降低安全性即可。此外,安全的物聯網裝置使用TLS/DTLS來建立與雲端的安全的端對端(End-to-end)連接。
維護應用層安全
應用層可能位於裝置、雲端服務,或兩者的組合。在許多應用中,通常須要在應用層進行密碼保護。安全的物聯網裝置強制使用者更改密碼,並將最常用的密碼列入黑名單。如果可能,裝置甚至可以實施雙重身分驗證。
確保系統安全
從系統的角度來看,一些看似無害的子系統也可能增加整個系統的不安全性。因此,為了建構安全的物聯網裝置,在每個系統內部有一些針對實現安全性的假設。每個子系統的安全性應當是獨立的或在最小程度上依賴於其他子系統的安全性。
成本上升/上市延遲 物聯網發展之必經
參與物聯網生態系統的開發人員、設備製造商和服務提供者有必要接受在物聯網各個層面上實現有效安全措施所帶來的成本上升和上市時間延遲,這包括從裝置到雲端,以及每個開發工作的開始階段。協調實現整個物聯網安全,有助於預防災難性的安全性漏洞和隨之而來的惡劣影響。如果災難發生,那麼即使漏洞被修復之後也可能影響對於物聯網市場的投資。
(本文作者為芯科科技產品安全資深總監)