Share via


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 模型進行分類:

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

阻斷服務:藉由干擾無線電頻率或剪斷線路,即可讓裝置變成無法運作或通訊。 例如,蓄意破壞監控攝影機的電源或網路連線,使其完全無法回報資料。

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

竄改:監控攝影機如果是顯示空走廊的可見範圍影像,可能會被對著這類走廊的照片拍攝。 若有人在煙霧或火災感應器下面拿著打火機,系統可能會發出報告。 不論是哪一種情況,裝置在技術上可能完全值得系統信任,但它會報告受操控的資訊。

竄改:攻擊者可能會使用擷取的密碼編譯金鑰來攔截和隱藏自裝置傳送的資料,然後使用以竊取的金鑰通過驗證的假資料來取而代之。

資訊洩漏:如果裝置正在執行受操控的軟體,這類受操控的軟體可能會將資料洩漏給未經授權的一方。

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

阻斷服務:可將裝置關閉或轉換成無法通訊的模式 (許多產業用機器會刻意設計此功能)。

竄改:可將裝置重新設定成以控制系統不知的狀態運作 (在已知的校正參數範圍外),藉此提供可能被誤解的資料

權限提高:具有特定功能的裝置可能會被強制執行其他動作。 例如,程式設計為半路開啟的閥可受誘騙一路打開。

詐騙/竄改/否認性:在未受保護的情況下 (消費性遙控器很少有這種情況),攻擊者將能夠以匿名方式操控裝置的狀態。 遙控器就是很好的一例可以關閉任何電視機。

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

  • 詐騙 (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。 IPSec 的 6LowPAN 擴充功能為支援無線感應器網路 (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 儲存體加密、簽署記錄 讀取儲存體的資料、竄改遙測資料。 竄改排入佇列或快取的命令控制資料。 竄改組態或韌體更新封包,而本機快取或佇列可能會導致 OS 及/或系統元件遭到入侵 加密、訊息驗證碼 (MAC) 或數位簽章。 盡可能透過資源的存取控制清單 (ACL) 或權限,進行強式存取控制。
裝置 OS 映像 TRID 竄改OS/取代 OS 元件 唯讀 OS 分割區、簽署 OS 映像、加密
現場閘道器儲存體 (佇列資料) TRID 儲存體加密、簽署記錄 讀取儲存體的資料、竄改遙測資料、竄改排入佇列或快取的命令控制資料。 竄改組態或韌體更新封包 (指向裝置或現場閘道器),而本機快取或佇列可能會導致 OS 及/或系統元件遭到入侵 BitLocker
現場閘道器 OS 映像 TRID 竄改OS/取代 OS 元件 唯讀 OS 分割區、簽署 OS 映像、加密

下一步

如需深入了解 IoT 安全性,請參閱: