五大攻擊弱點全面防護 穿戴裝置提升系統安全性

穿戴式裝置現在已成為消費者「必備」的電子產品了。不管你是喜歡Apple Watch的時尚感覺,還是具臨場感的遊戲頭戴裝置,或是利用健身手環來監測運動效果,現在都有琳瑯滿目,各式各樣的穿戴式產品可供選擇。在圖1所示的多樣化穿戴裝置中,有許多可做為智慧型手機的延伸裝置,但也有另一種新興的穿戴式裝置是強調能夠偵測穿戴者的確切位置。這些個人追蹤器、或行動式個人緊急呼叫系統(MPERS)已廣泛用來追蹤兒童、老人、以及單獨作業的工人。除了能夠追蹤穿戴者的位置,這些裝置還有「求助」按鍵功能,穿戴者能在感到身體不適、遭遇危險時立即呼叫求救。
圖1 多樣化的穿戴式裝置

當然,每一台穿戴式裝置都需要具備連接通訊功能。通常它們會採用短距離藍牙和Wi-Fi通訊功能,其中以藍牙最為常見,可用來連結智慧型手機以儲存和顯示資料,並作為雲端分析應用程式的閘道器。此外,對MPERS這類的其他應用來說,就需要採用蜂巢式技術,以提供完整的行動通訊功能。

與物聯網(IoT)裝置相同,連接通訊功能就需要考慮到安全性。大部分的穿戴式裝置都會包含個人資料,像健身手環,就會有心跳、或是血糖等數據。此外,也會有時間戳記的位置訊息,以及連結到雲端平台的登錄檔案和密碼等。

當高階開發人員在進行穿戴式裝置設計專案時,應該特別考慮裝置、應用程式以及服務的安全問題。在設計過程中,需要考慮並謹慎評估潛在的安全威脅點。

在完美的情況下,設計可從零開始,並由單一團隊負責所有功能模組的設計與開發。然而,由於上市時程的壓力以及需要更高的設計整合度,因此需採用預先認證過的無線模組來加速設計,這意味著,開發人員需整體考量並滿足各層面的安全需求。安全功能應採取端到端(End-to-end)的方式來建置。有可能遭受安 全攻擊的位置包括感測器、近端儲存、運算處理、裝置配置、認證方法、以及資料傳輸等。

為了瞭解基本的安全概念,我們先以MPERS穿戴式裝置為例,請參考圖2。此功能方塊中包含了四個關鍵元件:偵測心跳和體溫等資訊的感測器、取得位置資訊的全球導航衛星系統(GNSS)、提供廣域連接通訊功能的蜂巢式/LTE模組,以及可供短距離通訊的藍牙模組來偵測室內/家庭環境。

如圖2的中心部分所示,管理應用程式以及資料傳輸會需要用到微控制器。開發一台安全的裝置有賴於建立一個端到端的信任鏈,從感測器、GNSS來源、並經過無線連接到終端的雲端應用程式,然後再從雲端回到感測器。

圖2 個人追蹤/MPERS系統的功能方塊圖

建置信任鏈的一個可能方式是將其分割為好幾個安全的信任區域。透過研究保護每個區域所需的基本方法,以下定義了可能會受到攻擊的地方:裝置韌體、與伺服器之間的通訊以及介面安全性,因此需增強處理欺騙(Spoofing)/干擾(Jamming)的應用程式介面(API)控制與穩定性。開發人員需確保每個主要元件中都有個穩固的信任根(Root of Trust),然後再定義如何將它與其它的元件鏈結。建議可以參考相關的業界標準與指南,例如GSMA IoT安全指南(GSMA IoT Security Guidelines)。此外,針對建置安全的穿戴式裝置,國際電子電機工程師學會(IEEE)也發表了完整的準則。

現在,讓我們進一步探討內建蜂巢式模組的MPERS設計,圖3顯示了每個元件的主要安全考量。在此方塊圖中,分別以數字標示出來五種不同的攻擊方式,將在下文中詳細說明。

圖3 建立安全區域

首先,也是最重要的,為安全開機和韌體升級,確保你的裝置會執行程式碼,因此它需要建置安全的開機方法。當啟動系統時,每個階段都一定要先通過驗證,然後才能啟動下一個處理流程。當檢視韌體安全性時,你還需要注意,韌體應如何更新。更新韌體不僅能增加新功能,還能修補安全功能。對於會透過智慧 型手機應用程式與網際網路相連的裝置,採用空中傳輸(Over-the-air, OTA)應該會是比較理想的方式。

然而,具備蜂巢式連接功能的穿戴式裝置,例如MPERS,無需透過智慧型手機就能直接上網。雖然OTA韌體更新的做法很容易,但成為攻擊弱點的機率也會變高。

確保下載的韌體版本或修補程式在燒錄之前先通過驗證是非常重要的。這必須包含一個程序,以確保結果版本能在使用前完成驗證以及完整性檢查;利用向後追蹤的功能,確認先前驗證過的版本是否在更新過程中有違反安全或硬體問題,同時能防止用到較舊的版本。建置OTA以及能夠儲存數個韌體版本可能需要更 多的記憶體容量,因此會對設計過程造成影響。

下一個考量,是通訊或傳輸層。需要一個機制,讓裝置能夠雙向地透過雲端執行伺服器驗證。不管利用哪種方式,裝置都應該能對與伺服器通訊的資料予以簽核或加密。裝置需要有能力安全地管理用來簽核、解密和加密流程所用的密鑰,以確保這些密鑰能夠在需要時進行變更,或甚至每使用一次就變更。

傳輸的數據有可能會被攔截,或是受到中間人(Man-in-the-middle)攻擊的威脅,包括在裝置介面層級。因此,不管如何,都不能讓裝置處於未授權控制的狀態。確保所有介面通道與傳輸埠的存取都受到妥善的控制,安全介面是非常重要的。其中包括測試與除錯埠,雖然在測試時,它們會實際存在於電路板上,但 是在正式的軟體生產版本時便應該被關閉。同樣地,沒有被微控制器或無線模組用到的傳輸埠也都應該被封閉。讓任何一個可存取的連接埠保持開放狀態,是最有可能被利用來做為入侵的路徑。

裝置功能的存取,安全API通常是透過多個定義好的API來完成。可惜的是,裝置特性的存取以及安全性常被忽略。對於那些想要入侵裝置的駭客來說,即使只是為了好玩,通常會花很多時間來探測開放API,並測試API與裝置功能性之間的關係。有時候,程式碼中的API不僅能提供標準特性與功能的存取,還能存取 付費服務。開發人員也常常利用未建檔的API,作為自行測試與配置之用,因此這些API也需要妥善進行保護。所以,應採用正式的驗證與授權技巧,來允許存取或啟用這類的API。

最後的考量,為偵測欺騙和干擾是針對從外部裝置,截取資料程式的穩固性(例如GNSS接收器)。這些外部裝置的位置會影響感測器數據值的準確性。在偵測與處理失效狀況時,解決方案的穩固性是否足以因應是這裡的主要考量。

舉例來說,不管是透過干擾GNSS接收器,或欺騙GNSS接收器的輸入資訊,偵測回報位置與實際位置的差異,以及保護系統免於受到直接攻擊都同樣重要。對傳輸至主機的感測器資料施以中間人攻擊也是我們必須關注的。設計中還需考量安全性功能,將能夠偵測這些和欺騙攻擊,以及警示終端應用程式等功能導入。

因此,工程師在選用GNSS與蜂巢式模組時,應謹慎審視它們的功能特性。

目前已有廠商推出可支援韌體內建多項安全特性的設計,像是u-blox EVA-M8M,該元件能夠透過內部的兩個狀態訊息提醒主要應用程式,GNSS訊號是否遭受到故意的干擾。「JamInd」訊息表示有窄頻的連續波存在,它的強度高於正常接收環境的臨界值,可能會對所有可能的GNSS頻率接收造成干擾。第二個訊息「JammingState」則是警示主機,寬頻與連續波兩種干擾都有。

此外,u-blox GNSS模組具備了偵測意圖欺騙衛星資料的能力。若有人意圖在不同位置建立一個假的GNSS訊號來欺騙接收器。欺騙偵測功能會利用防欺騙演算法來偵測GNSS訊號中的可疑改變。

為了因應下一代連網穿戴式裝置的廣域連接功能需求,u-blox正在開發新系列的模組,如表1所示。安全性將會是所有這些產品的核心要件,所以這些新裝置將能體現我們所謂的「五個安全支柱」(5 Pillars Of Security)。這些支柱,如以上所說明的,包括:安全開機與韌體更新、透過SSL的蜂巢式驗證、安全介 面、安全API以及干擾偵測。

表1 適用於穿戴式應用的u-blox蜂巢式模組比較表

(本文作者皆任職於u-blox)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!