IoT 工作負載中的安全性

IoT 解決方案有一項挑戰,就是在幾乎無直接互動下保護各種和異質裝置型工作負載。 IoT 裝置建立器、IoT 應用程式開發人員和 IoT 解決方案操作員,在完整的 IoT 解決方案生命週期中共同負責安全性。 從一開始就以安全性作為考量來設計解決方案非常重要。 瞭解潛在威脅,並在您設計和建構解決方案時加入深度防禦

安全性規劃從威脅模型開始。 瞭解攻擊者如何入侵系統,可協助您確保從一開始就採取適當的風險降低措施。 當您將威脅模型化納入設計階段時,其可提供最大的價值。 在威脅模型化練習中,您可以將典型的 IoT 架構分成數個元件或區域:裝置、裝置閘道、雲端閘道和服務。 每個區域都可以有自己的驗證、授權和資料需求。 您可以使用區域來隔離損害,並限制低信任區域對較高信任區域的影響。 如需詳細資訊,請參閱物聯網 (IoT) 安全性架構

下列 IoT 工作負載的安全性指引可確定重要考量,並提供設計和實作建議。

評估 IoT 工作負載的安全性

若要透過 Well-Architected Framework 安全性要素的角度來評估 IoT 工作負載,請在 Azure Well-Architected 檢閱中完成 IoT 工作負載的安全性問題。 評估確定 IoT 解決方案的重要安全性建議之後,請使用下列內容來協助實作建議。

設計原則

架構卓越五大要素 可支援 IoT 工作負載設計方法。 這些要素可作為跨 重要 IoT 設計領域的後續設計決策指南針。 下列設計原則可擴充 Azure Well-Architected Framework - 安全性的品質要素。

設計原則 考量事項
強式身分識別 使用強式身分識別來驗證裝置和使用者。 擁有受信任身分識別的硬體根信任、註冊裝置、發出可更新認證,以及使用無密碼或多重要素驗證 (MFA)。 檢閱一般 Azure 身分識別和存取管理考慮
最低權限 自動化並使用最低權限存取控制,以限制對遭入侵裝置或身分識別或未核准工作負載的影響。
裝置健康情況 評估裝置健康情況以控制裝置存取或標示裝置以進行補救。 檢查安全性設定、評估弱點和不安全的密碼、監視威脅和異常,以及建置持續的風險設定檔。
裝置更新 持續更新,讓裝置保持良好狀態。 使用集中式設定和合規性管理解決方案和健全的更新機制,以確保裝置處於最新狀態且狀況良好。
監視系統安全性、規劃事件回應 主動監視未經授權或遭入侵的裝置,並回應新出現的威脅。

零信任安全性模型

未經授權存取 IoT 系統可能會導致大量資訊洩漏,例如洩漏的處理站生產資料,或網路實體系統控制的許可權提升,例如停止工廠生產線。 零信任安全性模型有助於限制使用者取得雲端或內部部署 IoT 服務和資料未經授權存取的潛在影響。

在授與存取權之前,不要假設公司防火牆後方的所有專案都是安全的,零信任會完整驗證、授權和加密每個存取要求。 使用零信任保護 IoT 解決方案首先會實作基本身分識別、裝置和存取安全性做法,例如明確驗證使用者、檢閱網路上的裝置,以及使用即時風險偵測來做出動態存取決策。

下列資源可協助您實作零信任 IoT 解決方案:

  • Microsoft 零信任評定會分析您目前保護身分識別、端點、應用程式、網路、基礎結構和資料之間的差距。 使用建議的解決方案來設定零信任實作的優先順序,並繼續進行Microsoft 零信任 指引中心的指引

  • 物聯網技術檔的零信任網路安全性說明如何根據 Microsoft 環境和客戶體驗,將零信任方法套用至 IoT 解決方案。

  • NIST零信任 架構 (nist.gov) 檔提供建立零信任架構的指引。 本檔提供一般部署模型和使用案例,其中零信任可以改善企業的整體資訊技術安全性狀態。

IoT 架構模式

大部分的 IoT 系統都會使用 已連線的產品或連線的作業架構模式。 這些模式之間有重要的安全性差異。 連線作業或作業技術 (OT) 解決方案通常具有監視和控制其他實體裝置的內部部署裝置。 這些 OT 裝置增加了許多安全性挑戰,例如竄改、封包探查,以及頻外管理和無線 (OTA) 更新的需求。

工廠和 OT 環境很容易成為惡意程式碼和安全性缺口的目標,因為設備可能老舊、實際易受攻擊,並且與伺服器層級安全性隔離。 如需端對端的觀點,請檢閱 Azure Well-Architected Framework 安全性要素

IoT 架構層

安全性設計原則有助於厘清考慮,以確保 IoT 工作負載符合基礎 IoT 架構層的需求。

所有層級都受限於可根據 STRIDE 類別分類的各種威脅:詐騙竄改否認性資訊洩漏拒絕服務,以及提高權限。 設計及建置 IoT 架構時,請一律遵循 Microsoft 安全性開發生命週期 (SDL) 做法。

此圖顯示 IoT 架構中的各層和跨領域活動。

裝置和閘道層

此架構層包含裝置和閘道周圍的立即實體空間,可允許實體存取或對等數位存取。 許多產業公司都使用 ISA 95 標準中包含的 Purdue 模型,以確保其流程控制網路同時保護其有限的網路頻寬,並提供即時確定性行為。 Purdue 模型提供一層額外的深度防禦方法。

強式裝置身分識別

IoT 裝置和服務緊密整合的功能可提供強大的裝置身分識別。 這些功能包括:

  • 硬體根信任。
  • 使用憑證、MFA 或無密碼驗證的增強式驗證。
  • 可更新的認證。
  • 組織 IoT 裝置登錄。

硬體根信任具有下列屬性:

  • 安全認證儲存體,可在專用、防竄改硬體中提供身分識別。
  • 與實體裝置綁定的固定上線身分識別。
  • 用於一般裝置存取的唯一個別裝置可更新作業認證。

上線身分識別代表實體裝置,並且與實體裝置密不可分。 此身分識別通常會在製造期間建立並安裝,並且在裝置的存留期內無法更改。 有鑑於其不變性和存留期,您應該只使用裝置上線身分識別,將裝置上線到 IoT 解決方案。

上線之後,佈建並使用可更新作業身分識別認證,來對 IoT 應用程式進行身分驗證和授權。 讓此身分識別可更新,可讓您管理裝置的存取權和撤銷,以進行操作存取。 您可以在更新時套用原則導向的閘道,例如裝置完整性和健康情況的證明。

硬體根信任也可確保裝置是依照安全性規格建置,並符合必要的合規性規範。 保護硬體根信任的供應鏈,或 IoT 裝置的任何其他硬體元件,以確保供應鏈攻擊不會危害裝置完整性。

無密碼驗證通常使用標準 x509 憑證來證明裝置的身分識別,可提供比兩方之間的共用密碼和對稱權杖等秘密更高的保護。 憑證是提供可更新無密碼驗證的強式標準化機制。 若要管理憑證:

  • 從受信任的公開金鑰基礎結構 (PKI)佈建作業憑證。
  • 使用適合商務用途、管理額外負荷和成本的續約存留期。
  • 自動更新,以將手動輪替所造成的任何潛在存取中斷降到最低。
  • 使用標準、最新的加密技術。 例如,透過憑證簽署要求 (CSR) 進行更新,而不是傳輸私密金鑰。
  • 根據其作業身分識別授與裝置的存取權。
  • 支援認證撤銷,例如使用 x509 憑證時的憑證撤銷清單 (CRL),以立即移除裝置存取權,例如回應入侵或竊取。

某些舊版或資源受限的 IoT 裝置無法使用強式身分識別、無密碼驗證或可更新認證。 使用 IoT 閘道作為守護者,在本機與這些較不具功能的裝置進行互動,橋接這些閘道以存取使用強式身分識別的 IoT 服務。 此做法可讓您立即採用零信任,同時隨著時間推移,過渡到使用功能更強大的裝置。

虛擬機器 (VM)、容器或任何內嵌 IoT 用戶端的服務無法使用硬體根信任。 使用這些元件可用的功能。 沒有硬體根信任支援的 VM 和容器可以使用無密碼驗證和可更新認證。 深度防禦解決方案會盡可能提供備援,並在必要時填補空缺。 例如,與現場的 IoT 裝置相比,您可以將虛擬機器和容器放置在物理安全性更高的區域 (例如資料中心)。

使用集中式組織 IoT 裝置登錄來管理組織的 IoT 裝置生命週期及稽核裝置存取。 這種方法類似於保護組織員工的使用者身分識別,以達到零信任安全性的方式。 雲端式身分識別登錄可以處理 IoT 解決方案的規模、管理和安全性。

IoT 裝置登錄資訊會藉由確認裝置身分識別和認證為已知且已授權,將裝置上線至 IoT 解決方案。 裝置上線之後,裝置登錄會包含裝置的核心屬性,包括其作業身分識別,以及用來驗證日常使用的可更新認證。

您可以使用 IoT 裝置登錄資料來:

  • 檢視組織的 IoT 裝置詳細目錄,包括健康情況、修補程式和安全性狀態。
  • 查詢和分組裝置以進行調整作業、管理、工作負載部署和存取控制。

使用網路感應器來偵測並清查未連線到 Azure IoT 服務的非受控 IoT 裝置,以進行感知和監視。

最低特殊權限存取

最低特殊權限存取控制有助於限制可能遭入侵或執行未核准工作負載之已驗證身分識別的影響。 針對 IoT 案例,使用下列方式授與操作員、裝置和工作負載存取權:

  • 裝置和工作負載存取控制,僅適用於存取裝置上已設定範圍的工作負載。
  • Just-In-Time 存取。
  • 增強式驗證機制,例如 MFA 和無密碼驗證。
  • 根據裝置內容的條件式存取,例如 IP 位址或 GPS 位置、系統設定、唯一性、一天中的時間或網路流量模式。 服務也可以使用裝置內容來有條件地部署工作負載。

若要實作有效的最低特殊權限存取:

  • 設定 IoT 雲端閘道存取管理,只授與後端所需功能的適當存取權限。
  • 確保連接埠具有最低存取權,以限制 IoT 裝置和雲端應用程式的存取點。
  • 建置機制,以防止和偵測實體裝置竄改。
  • 透過適當的存取控制模型管理使用者存取,例如角色型或屬性型存取控制。
  • 使用網路分割為 IoT 裝置分層最低特殊權限存取。

網路微型分割

網路設計和設定會根據 IoT 裝置的流量模式和風險暴露來區隔,以提供建置深度防禦的機會。 此分割可將遭入侵裝置和敵人轉向更高價值資產的潛在影響降到最低。 網路分割通常會使用新一代防火牆。

網路微分割可讓您在網路層隔離功能較不強大的裝置,不論是在閘道後方或離散網路區段上。 使用網路分割來將 IoT 裝置分組,並使用端點保護來減輕潛在入侵的影響。

實作整體防火牆規則策略,以允許裝置在需要時存取網路,並在不允許時封鎖存取。 為了支援深度防禦,成熟的組織可以在 Purdue 模型的多層實作微分割原則。 如有必要,請在裝置上使用防火牆來限制網路存取。

裝置健康情況

在零信任原則下,裝置健康情況是判斷裝置風險設定檔 (包括信任層級) 的重要因素。 使用風險設定檔作為存取閘道,以確保只有狀況良好的裝置可以存取 IoT 應用程式和服務,或識別健康狀況可疑的裝置以進行補救。

根據業界標準,裝置健康情況評估應包括:

  • 安全性設定評量和證明裝置已安全地設定。
  • 弱點評估,以判斷裝置軟體是否過期或有已知的弱點。
  • 不安全的認證評估,以檢查裝置認證 (例如憑證) 和通訊協定,例如傳輸層安全性 (TLS) 1.2+。
  • 主動威脅和威脅警示。
  • 異常行為警示,例如網路模式和使用方式偏差。

裝置的零信任準則

為了支援零信任,IoT 裝置應該:

  • 包含硬體根信任,以提供強式裝置身分識別。
  • 使用可更新認證進行一般作業和存取。
  • 對本機裝置資源 (例如相機、儲存體和感應器) 強制執行最低權限存取控制。
  • 發出適當的裝置健康情況訊號,以強制執行條件式存取。
  • 提供裝置可用存留期的更新代理程式和對應的軟體更新,以確保可以套用安全性更新。
  • 包含裝置管理功能,以啟用雲端驅動裝置設定和自動化安全性回應。
  • 執行與安全性監視、偵測和回應系統整合的安全性代理程式。
  • 將實體攻擊足跡降到最低,例如關閉或停用不需要的任何裝置功能,例如實體 USB 或 UART 連接埠,或是 WiFi 或藍牙連線。 必要時,請使用實體移除、覆蓋或封鎖。
  • 保護裝置上的資料。 如果待用資料儲存在裝置上,請使用標準加密演算法來加密資料。

有數個 Azure 產品和服務支援 IoT 裝置安全性:

  • Azure Sphere 守護者模組會將重要的舊版裝置連線到具有零信任功能的 IoT 服務,包括強式身分識別、端對端加密,以及一般安全性更新。

  • Azure IoT Edge 提供邊緣執行階段連線給 IoT 中樞和其他 Azure 服務,並支援憑證作為強式裝置身分識別。 IoT Edge 支援 PKCS#11 標準,適用於裝置製造身分識別和其他儲存在信賴平台模組 (TPM) 或硬體安全模組 (HSM) 上的秘密。

  • Azure IoT 中樞 SDKS是一組裝置用戶端程式庫、開發人員指南、範例和檔。 裝置 SDK 會實作各種安全性功能,例如加密和驗證,以協助您開發強固且安全的裝置應用程式。

  • Azure RTOS 提供即時作業系統作為 C 語言程式庫的集合,您可以在各種內嵌 IoT 裝置平臺上部署。

    Azure RTOS 包含具有 TLS 1.2 和 1.3 和基本 X.509 功能的完整 TCP/IP 堆疊。 Azure RTOS 和 Azure IoT Embedded SDK 也與 Azure IoT 中樞、Azure 裝置布建服務 (DPS) 和Microsoft Defender整合。 X.509 相互驗證等功能並支援新式 TLS 加密套件,例如 ECDHE 和 AES-GCM,涵蓋安全網路通訊的基本概念。

    Azure RTOS 也支援:

    • 支援硬體安全性功能之微控制器平臺上的零信任設計,例如 Arm TrustZone、記憶體保護和資料分割架構。
    • 從 ST Microelectronics 保護元素裝置,例如 STSAFE-A110。
    • 如 ARM 平臺安全性架構 () 等業界標準,結合硬體和韌體來提供一組標準化的安全性功能,包括安全開機、密碼編譯和證明。
  • Azure 認證裝置計畫可讓裝置合作夥伴輕鬆地區分和升級裝置。 此計畫可協助解決方案建立者和客戶尋找以啟用零信任解決方案的功能所建置的 IoT 裝置。

  • Edge 安全核心計畫 (預覽版) 會驗證裝置是否符合裝置身分識別、安全開機、作業系統強化、裝置更新、資料保護和弱點洩漏的安全性需求。 Edge 安全核心計畫需求會從各種產業需求和安全性工程觀點中擷取。

    Edge 安全核心程式可讓Azure 證明服務等 Azure 服務根據裝置狀態做出條件式決策,進而啟用零信任模型。 裝置必須包含硬體根信任目錄,並提供安全的開機和韌體保護。 這些屬性可由證明服務測量,並由下游服務用來有條件地授與敏感性資源的存取權。

擷取和通訊層

擷取至 IoT 解決方案的資料應受到 Azure Well-Architected Framework 安全性要素中的指引保護。 此外,針對 IoT 解決方案,請務必確保從裝置到雲端的通訊安全,且使用最新的 TLS 標準加密。

裝置管理和模型化層

此架構層包含雲端中執行的軟體元件或模組,這些模組會與裝置和閘道互動,以進行資料收集和分析,以及用於命令和控制。

IoT 服務的零信任準則

使用提供下列金鑰零信任功能的 IoT 服務:

  • 完全支援零信任使用者存取控制,例如強式使用者身分識別、MFA 和條件式使用者存取。
  • 與使用者存取控制系統整合,以取得最低特殊權限存取和條件式控制。
  • 用於完整裝置清查和裝置管理的中央裝置登錄。
  • 相互驗證,提供具有強式身分識別驗證的可更新裝置認證。
  • 具有條件式存取的最低特殊權限裝置存取控制,因此只有符合健康情況或已知位置等準則的裝置可以連線。
  • OTA 更新,讓裝置保持良好狀態。
  • IoT 服務和已連線 IoT 裝置的安全性監視。
  • 所有公用端點的監視和存取控制,以及對這些端點的任何呼叫的驗證和授權。

數個 Azure IoT 服務提供這些零信任的功能。

  • 適用於 IoT 的 Windows 有助於確保 IoT 安全性範圍之主要要素的安全性。

    • BitLocker 磁片磁碟機加密、安全開機、Windows Defender應用程式控制、Windows Defender惡意探索防護、安全通用 Windows 平臺 (UWP) 應用程式、整合寫入篩選器、安全通訊堆疊和安全性認證管理,可在程式碼執行期間和傳輸中保護待用資料。

    • 裝置健康情況證明 (DHA) 偵測及監視信任的裝置,讓您從信任的裝置開始,並隨著時間維護信任。

    • 裝置更新中心和Windows Server Update Services套用最新的安全性修補程式。 您可以使用Azure IoT 中樞裝置管理功能、Microsoft Intune或協力廠商行動裝置管理解決方案,以及 Microsoft System Center Configuration Manager來補救裝置的威脅。

  • 適用於 IoT 的 Microsoft Defender 是無代理程式的網路層安全性平台,可提供 IoT 和 OT 裝置的持續資產探索、弱點管理和威脅偵測。 適用於 IoT 的 Defender 會使用 IoT 感知行為分析來持續監視網路流量,以識別未經授權或遭入侵的元件。

    適用於 IoT 的 Defender 支援專屬的內嵌 OT 裝置和舊版 Windows 系統 (通常位於 OT 環境中)。 適用於 IoT 的 Defender 可以清查所有 IoT 裝置、評估弱點、提供風險型防護建議,以及持續監視裝置是否有異常或未經授權的行為。

  • Microsoft Sentinel是雲端式安全性資訊和事件管理, (SIEM) 和安全性協調流程、自動化和安全性協調流程、自動化和回應 (SOAR) 平臺,與 IoT Microsoft Defender緊密整合。 Microsoft Sentinel 透過收集所有使用者、裝置、應用程式和基礎結構的資料,包括防火牆、網路存取控制和網路交換器裝置,提供整個企業的雲端規模安全性檢視。

    Microsoft Sentinel 可以快速找出異常行為,指出 IoT 或 OT 裝置的潛在危害。 Microsoft Sentinel 也支援協力廠商安全性作業中心, (SOC) 解決方案,例如 Splunk、IBM QRadar 和 ServiceNow。

  • Azure IoT 中樞提供 IoT 裝置的作業登錄。 IoT 中樞接受裝置作業憑證來啟用強式身分識別,並可集中停用裝置以防止未經授權的連線。 IoT 中樞支援佈建支援 IoT Edge工作負載的模組身分識別。

    • Azure IoT 中樞裝置布建服務 (DPS) 提供集中裝置登錄,讓組織裝置大規模註冊上線。 DPS 接受裝置憑證,以使用強式裝置身分識別和可更新認證啟用上線,並在IoT 中樞註冊裝置以進行每日作業。

    • 適用于 IoT 中樞 的 Azure 裝置更新 (ADU) 可讓您為 IoT 裝置部署 OTA 更新。 ADU 提供雲端裝載的解決方案,幾乎可連線任何裝置,並支援廣泛的 IoT 作業系統,包括 Linux 和 Azure RTOS

    • Azure IoT 中樞虛擬網路的支援可讓您透過您操作的虛擬網路來限制對IoT 中樞的連線。 此網路隔離可防止對公用網際網路的連線暴露,並可協助防止來自敏感性內部部署網路的外泄攻擊。

下列 Microsoft 產品在整體 IoT 解決方案中完全整合硬體和 Azure 服務。

  • Azure Sphere 是完全受控的整合式硬體、OS 和雲端平臺解決方案,可協助中型和低電源 IoT 裝置達到 高度安全裝置的七個屬性 ,以實作零信任。 裝置會使用明確驗證,並實作憑證型裝置證明和驗證 (DAA) ,以自動更新信任。

    Azure Sphere 會使用最低許可權的存取權,其中應用程式預設會拒絕存取所有周邊和連線選項。 針對網路連線,允許的 Web 網域必須包含在軟體資訊清單中,否則應用程式無法在裝置外部連線。

    Azure Sphere 是以假設的缺口為基礎所建置。 整個 OS 設計中的深度防禦層保護。 在 Azure Sphere 裝置上的 Arm TrustZone 中執行的安全世界分割區,可協助區隔 OS 缺口,而無法存取 Pluton 或硬體資源。

    Azure Sphere 可以是保護其他裝置的守護者模組,包括專為受信任連線而設計的現有舊版系統。 在此案例中,Azure Sphere 守護者模組會透過乙太網路、序列或 BLE,使用應用程式和與現有裝置的介面進行部署。 裝置不一定具有直接網際網路連線能力。

  • Azure Percept 是端對端邊緣 AI 平臺,可協助您在幾分鐘內開始概念證明。 Azure Percept 包含與 Azure AI 和 IoT 服務整合的硬體加速器、預先建置的 AI 模型,以及解決方案管理。

    Azure Percept 裝置會使用硬體根信任來協助保護推斷資料、AI 模型,以及相機和麥克風等隱私權敏感感應器。 Azure Percept 可啟用Azure Percept Studio服務的裝置驗證和授權。 如需詳細資訊,請參閱 Azure Percept 安全性

DevOps 層

企業 IoT 解決方案應該為操作員提供管理系統的策略。 主動專注安全性的 DevOps 方法包括:

  • 集中式設定和合規性管理,以安全地套用原則及散發和更新憑證。
  • 可部署的更新,以更新裝置上的完整軟體集、韌體、驅動程式、基底 OS 和主機應用程式,以及雲端部署的工作負載。

如需詳細資訊,請參閱使用 Azure 和 GitHub 啟用 DevSecOps

持續更新

若要根據健康情況控制裝置存取,您必須主動維護處於運作良好目標狀態的生產裝置。 更新機制應:

  • 具有遠端部署功能。
  • 能夠適應環境、作業條件和驗證機制的變化,例如由於到期或撤銷所導致的憑證變更。
  • 支援更新推出驗證。
  • 與普遍的安全性監視整合,以啟用安全性的排程更新。

您應該能夠延遲干擾商務持續性的更新,但在偵測到弱點之後,最終會在定義完善的時間間隔內完成更新。 尚未更新的裝置應該標示為狀況不良。

安全性監視和回應

IoT 解決方案必須能夠針對其所有的連線裝置大規模執行監視和補救。 作為深層防禦策略,監視會為受管理的新建裝置新增額外的保護層,並為不支援代理程式且無法從遠端修補或設定的舊版、未受管理的既有裝置提供補償控制。

您必須決定記錄層級、要監視的活動類型,以及警示所需的回應。 記錄應該安全地儲存,且不包含任何安全性詳細資料。

根據網路安全性和基礎架構安全性機構 (CISA),安全性監視程式應該監視及稽核控制器的未經授權變更、來自裝置的異常行為,以及存取和授權嘗試。 安全性監視應包括:

  • 產生所有 IoT 和 OT 裝置的現狀資產清查和網路對應。
  • 識別跨 IoT 和 OT 網路使用的所有通訊協定。
  • 編目來自網路的所有外部連線。
  • 識別 IoT 和 OT 裝置中的弱點,並使用風險型方法來減輕弱點。
  • 實作具有異常偵測的警覺監視程式,以偵測惡意網路原則,例如 IoT 系統中的無文件惡意軟體攻擊 (LOtL)。

大部分的 IoT 攻擊都會遵循 終止鏈 結模式,其中敵人會建立初始腳點、提高其許可權,並橫向移動整個網路。 攻擊者通常會使用特殊許可權認證來略過新一代防火牆等障礙,以強制執行跨子網的網路分割。 快速偵測和回應這些多階段攻擊需要跨 IT、IoT 和 OT 網路的統一檢視,並結合自動化、機器學習和威脅情報。

從整個環境收集訊號,包括內部部署和多個雲端中的所有使用者、裝置、應用程式和基礎結構。 分析集中式 SIEM 中的訊號,以及擴充偵測和回應 (XDR) 平臺,SOC 分析師可以在其中搜捕併發現先前未知的威脅。

最後,使用 SOAR 平臺來快速回應事件,並減輕攻擊,然後再對組織造成重大影響。 您可以定義在偵測到特定事件時自動執行的劇本。 例如,您可以自動封鎖或隔離遭入侵的裝置,使其無法感染其他系統。

下一步