IoT 解決方案的安全性架構

當您設計和建構 IoT 解決方案時,請務必瞭解潛在威脅並包含適當的防禦。 瞭解攻擊者可能如何入侵系統,協助您從頭開始確定已就緒適當的風險降低措施。

威脅模型化

Microsoft 建議使用威脅模型化程式作為 IoT 解決方案設計的一部分。 如果您不熟悉威脅模型化和安全開發生命週期,請參閱:

IoT 中的安全性

在威脅模型化練習中,將您的 IoT 架構分成數個區域很有説明:

  • 裝置
  • 現場閘道
  • 雲端閘道
  • 服務

每個區域通常會有自己的資料和驗證和授權需求。 您也可以使用區域來隔離損毀,並限制低信任區域對較高信任區域的影響。

每個區域都會以 信任界限 分隔,如下圖所示的虛線紅色線條。 它表示資料從一個來源轉換到另一個來源。 在此轉換期間,資料可能會受到下列威脅:

  • 詐騙
  • 竄改
  • 否認性
  • 資訊洩漏
  • 拒絕服務
  • 提高權限

若要深入瞭解,請參閱 STRIDE 模型

A diagram that shows the zones and trust boundaries in a typical IoT solution architecture.

您可以使用 STRIDE,將每個區域內每個元件的威脅模型化。 下列各節詳細說明應落實的每個元件和特定安全性考慮和解決方案。

本文的其餘部分會更詳細地討論這些區域和元件的威脅和風險降低。

裝置區域

裝置環境是裝置周圍的空間,實體存取和局域網路數位存取裝置是可行的。 區域網路假設與公用網際網路相異且隔離,但可能橋接至公用網際網路。 裝置環境包含任何允許裝置點對點通訊的短程無線無線電技術。 它不包含任何網路虛擬化技術,可建立這類區域網路的錯覺。 如果公用操作員網路輸入點對點通訊關係,則不包含任何兩個裝置必須跨公用網路空間進行通訊的公用操作員網路。

現場閘道區域

現場閘道是裝置、設備或一般用途伺服器電腦軟體,可作為通訊啟用者,而且可能作為裝置控制系統和裝置資料處理中樞。 現場閘道區域包含現場閘道本身,以及連結至該區域的所有裝置。 現場閘道在專用資料處理設施之外運作,通常是位置系結、可能受到實體入侵的影響,而且作業備援有限。 現場閘道通常是攻擊者在取得實體存取權時可能會實際破壞的事情。

現場閘道與流量路由器不同,因為其具有管理存取和資訊流程的作用。 現場閘道有兩個不同的介面區。 其中一個會面對連結至它的裝置,並代表區域內的 。 另一個面向所有外部合作物件,而且是區域的邊緣。

雲端閘道區域

雲端閘道是一種系統,可讓您從和遠端通訊到部署在多個月臺中的裝置或現場閘道。 雲端閘道通常會啟用雲端式控制和資料分析系統,或這類系統的同盟。 在某些情況下,雲端閘道可能會立即協助從平板電腦或手機等終端機存取特殊用途裝置。 在雲端閘道區域中,作業措施會防止目標實體存取,而且不一定會公開至公用雲端基礎結構。

雲端閘道可對應到網路虛擬化重迭,以隔離雲端閘道及其所有連結的裝置或現場閘道與任何其他網路流量。 雲端閘道本身不是裝置控制系統或裝置資料的處理或儲存設備;這些設施會與雲端閘道介面。 雲端閘道區域包含雲端閘道本身,以及直接或間接連結的所有現場閘道和裝置。 區域的邊緣是所有外部合作物件透過通訊的不同介面區。

服務區域

此內容中的服務是透過現場或雲端閘道與裝置互動的任何軟體元件或模組。 服務可以從裝置收集資料,並命令和控制這些裝置。 服務是一種調解器,其身分識別會針對閘道和其他子系統執行以下動作:

  • 儲存和分析資料
  • 根據資料見解或排程對裝置發出命令
  • 將資訊和控制功能公開給授權的使用者

IoT 裝置

IoT 裝置通常是特殊用途的裝置,範圍從簡單的溫度感應器到複雜的工廠生產線,裡面有數千個元件。 IoT 裝置功能的範例包括:

  • 測量和報告環境條件
  • 轉向閥
  • 控制水壓
  • 發出警示
  • 開啟或關閉燈

這些裝置的用途會決定其技術設計,以及其生產與排程存留期作業的可用預算。 這些因素的組合會限制可用的作業能源預算、實體使用量,以及可用的儲存體、計算和安全性功能。

自動化或遠端控制的 IoT 裝置可能會出錯的事項包括:

  • 實體瑕疵
  • 控制邏輯瑕疵
  • 故意未經授權的入侵和操作。

這些失敗的後果可能是嚴重的,如被毀的生產地塊,建築物被燒毀,或傷害和死亡。 因此,對於讓專案移動的裝置,或報告感應器資料會導致導致事情移動的命令,會有高安全性列。

裝置控制和裝置資料互動

連接的特殊用途裝置具有顯著數量的潛在互動介面區域和互動模式,必須考慮這些,以提供用於保護對這些裝置的數位存取的架構。 數位存取 是指透過軟體和硬體執行的作業,而不是透過直接實體存取裝置。 例如,將裝置放入門上鎖的房間,即可控制實體存取。 雖然無法透過軟體和硬體拒絕實體存取,仍可採取一些措施來防止實體存取導致系統干擾。

當您探索互動模式時,請檢視 具有相同關注層級的裝置控制和 裝置資料 。 裝置控制項是指提供給裝置的任何資訊,目的是要修改其行為。 裝置資料是指裝置發出給任何其他方有關其狀態及其環境觀察狀態的資訊。

Azure IoT 參考架構的威脅模型

本節使用 Azure IoT 參考架構 來示範如何思考 IoT 的威脅模型,以及如何解決所識別的威脅:

Diagram that shows the Azure IoT reference architecture.

下圖使用資料流程圖模型,提供參考架構的簡化檢視:

A data flow diagram derived from the Azure IoT reference architecture.

架構會分隔裝置和現場閘道功能。 此方法可讓您使用更安全的現場閘道裝置。 現場閘道裝置可以使用安全通訊協定與雲端閘道通訊,這通常需要比控溫器等簡單裝置更強大的處理能力。 在圖表中的 Azure 服務區域 中,Azure IoT 中樞服務是雲端閘道。

根據先前所述的架構,下列各節會顯示一些威脅模型化範例。 這些範例著重于威脅模型的核心元素:

  • 程序
  • 通訊
  • 儲存體

程序

以下是處理常式類別中威脅的一些範例。 威脅會根據 STRIDE 模型分類:

詐騙 :攻擊者可能會在軟體或硬體層級從裝置擷取密碼編譯金鑰。 接著,受攻擊者會使用這些金鑰,透過原始裝置的身分識別,從不同的實體或虛擬裝置存取系統。

阻斷服務 :裝置可以藉由干擾無線電頻率或切割電線來轉譯無法運作或通訊。 例如,有其電源或網路連線的監視攝像頭完全無法報告資料。

竄改 :攻擊者可能會部分或完全取代裝置上的軟體。 如果裝置的密碼編譯金鑰可供攻擊者程式碼使用,則可以使用裝置的身分識別。

改:顯示空走廊可見光譜圖片的監控攝像頭,可以針對這樣的走廊的照片。 煙霧或火災感應器可能會報告有人拿著打火機。 不論是哪一種情況,裝置在技術上可能完全值得系統信任,但它會報告操作的資訊。

竄改:攻擊者可能會使用擷取的密碼編譯金鑰來攔截和隱藏從裝置傳送的資料,並將它取代為使用遭竊金鑰驗證的 False 資料。

資訊洩漏 :如果裝置正在執行受操縱的軟體,這類受操縱的軟體可能會將資料外泄給未經授權的合作物件。

資訊洩漏 :攻擊者可以使用擷取的密碼編譯金鑰,將程式碼插入裝置與現場閘道或雲端閘道之間的通訊路徑,以擷取資訊。

阻斷服務 :裝置可以關閉或變成無法進行通訊的模式(這在許多工業機器中是刻意的)。

竄改 :裝置可以重新設定為以控制系統未知的狀態運作(在已知校正參數之外),因此提供可能誤解的資料

提高許可權:執行特定功能的 裝置可以強制執行其他動作。 例如,程式設計為開啟半路的閥可以一路打開。

詐騙/竄改/否認 :如果未受到保護(這很少發生消費者遠端控制的情況),攻擊者可以匿名操作裝置的狀態。 一個很好的圖例是一個遠端控制,可以關閉任何電視。

下表顯示這些威脅的範例風險降低。 威脅資料行中的值為縮寫:

  • 詐騙 (S)
  • 竄改 (T)
  • 否認性(R)
  • 資訊洩漏(I)
  • 阻斷服務 (D)
  • 權限提高 (E)
元件 威脅 降低 風險 實作
裝置 S 將身分識別指派給裝置並驗證裝置 將裝置或裝置的一部分取代為其他裝置。 您如何知道您正在與正確的裝置交談? 使用傳輸層安全性 (TLS) 或 IPSec 驗證裝置。 基礎結構應該支援在這些無法處理完整非對稱密碼編譯的裝置上使用預先共用金鑰 (PSK)。 使用 Microsoft Entra ID、 OAuth
TRID 讓人難以甚至無法從裝置擷取金鑰和其他密碼編譯資料,為裝置套用防竄改機制。 風險在於有人竄改裝置(實體干擾)。 您確定該裝置尚未遭到竄改。 最有效的風險降低是受信任的平臺模組 (TPM)。 TPM 會將金鑰儲存在無法讀取金鑰的特殊晶片內部線路中,但只能用於使用金鑰的密碼編譯作業。 裝置的記憶體加密。 裝置的金鑰管理。 簽署程式碼。
E 擁有裝置的存取控制。 授權配置。 如果裝置允許根據來自外部來源的命令或甚至遭入侵的感應器來執行個別動作,則允許攻擊執行無法存取的作業。 為裝置進行授權配置。
現場閘道 S 向雲端閘道驗證現場閘道(例如憑證型、PSK 或宣告型。) 如果有人可以詐騙現場閘道,則它可以以任何裝置的形式呈現自己。 TLS RSA/PSK、IPSec、 RFC 4279 。 一般而言,裝置的所有相同金鑰儲存和證明考慮 – 最佳案例是使用 TPM。 6LowPAN 擴充功能為 IPSec 支援無線感應器網路 (WSN)。
TRID 防止現場閘道遭到竄改 (TPM) 欺騙雲端閘道的詐騙攻擊,認為其與現場閘道交談可能會導致資訊洩漏和資料竄改 記憶體加密、TPM、驗證。
E 現場閘道的存取控制機制

通訊

以下是通訊類別中威脅的一些範例。 威脅會根據 STRIDE 模型分類:

阻斷服務 :限制裝置在主動接聽網路上的輸入連線或未經請求的資料包時,通常會受到 DoS 威脅。 攻擊者可以平行開啟許多連線,而不是為它們提供服務,或緩慢地服務,或用未經請求的流量淹沒裝置。 在這兩種情況下,裝置可以在網路上有效地轉譯為無法運作。

詐騙、資訊洩漏 :受限裝置和特殊用途裝置通常具有一對一的安全性設施,例如密碼或 PIN 保護。 有時候,他們完全依賴信任網路,並將資訊存取權授與任何裝置在同一個網路上。 如果網路受到公開的共用金鑰保護,攻擊者可以控制裝置或觀察其傳輸的資料。

詐騙 :攻擊者可能會攔截或部分覆寫廣播,並詐騙原始程式。

竄改 :攻擊者可能會攔截或部分覆寫廣播,並傳送虛假資訊。

資訊洩漏: 攻擊者可能會在廣播中竊聽,並在未經授權的情況下取得資訊。

阻斷服務: 攻擊者可能會干擾廣播訊號並拒絕資訊發佈。

下表顯示這些威脅的範例風險降低:

元件 威脅 降低 風險 實作
裝置IoT 中樞 TID (D)用來加密流量的 TLS (PSK/RSA) 竊聽或干擾裝置與閘道之間的通訊 通訊協定層級的安全性。 使用自訂通訊協定時,您必須瞭解如何保護它們。 在大部分情況下,通訊會從裝置到IoT 中樞進行(裝置起始連線)。
裝置到裝置 TID (D)用來加密流量的 TLS (PSK/RSA)。 讀取裝置之間傳輸的資料。 竄改資料。 使用新連線多載裝置 通訊協定層級的安全性 (MQTT/AMQP/HTTP/CoAP。 使用自訂通訊協定時,您必須瞭解如何保護它們。 DoS 威脅的緩和措施是透過雲端或現場閘道將裝置對等互連,並讓裝置只能做為網路的用戶端。 閘道代理對等互連之後,對等之間可能會有直接連線。
外部實體裝置 TID 將外部實體與裝置的強式配對 竊聽裝置的連線。 干擾與裝置的通訊 安全地將外部實體與裝置 NFC/藍牙 LE 配對。 控制裝置 (實體) 的操作面板。
現場閘道雲端閘道 TID 用來加密流量的 TLS (PSK/RSA)。 竊聽或干擾裝置與閘道之間的通訊 通訊協定層級的安全性(MQTT/AMQP/HTTP/CoAP)。 使用自訂通訊協定時,您必須瞭解如何保護它們。
裝置雲端閘道 TID 用來加密流量的 TLS (PSK/RSA)。 竊聽或干擾裝置與閘道之間的通訊 通訊協定層級的安全性(MQTT/AMQP/HTTP/CoAP)。 使用自訂通訊協定時,您必須瞭解如何保護它們。

儲存體

下表顯示儲存體威脅的範例風險降低:

元件 威脅 降低 風險 實作
裝置儲存體 TRID 儲存體加密,簽署記錄 從儲存體讀取資料,竄改遙測資料。 竄改佇列或快取的命令控制資料。 在本機快取或佇列時竄改組態或韌體更新套件可能會導致作業系統和/或系統元件遭到入侵 加密、訊息驗證碼 (MAC) 或數位簽章。 可能的話,透過資源存取控制清單 (ACL) 或許可權進行強式存取控制。
裝置 OS 映射 TRID 竄改 OS /取代 OS 元件 唯讀 OS 磁碟分割、已簽署的 OS 映射、加密
現場閘道儲存體(排入資料佇列) TRID 儲存體加密,簽署記錄 從儲存體讀取資料、竄改遙測資料、竄改佇列或快取的命令控制資料。 在本機快取或佇列時竄改組態或韌體更新套件(目的地為裝置或現場閘道),可能會導致作業系統和/或系統元件遭到入侵 BitLocker
現場閘道 OS 映射 TRID 竄改 OS /取代 OS 元件 唯讀 OS 磁碟分割、已簽署的 OS 映射、加密

下一步

若要深入瞭解 IoT 安全性,請參閱: