你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
IoT 工作负载的安全性
IoT 解决方案面临着在极少或没有直接交互的情况下保护基于设备的多样化且异类工作负载的挑战。 IoT 设备构建者、IoT 应用程序开发人员和 IoT 解决方案操作员在 IoT 解决方案的整个生命周期内共担安全责任。 设计解决方案时必须从一开始就考虑安全性。 了解潜在威胁,并在设计和构建解决方案时添加深度防御。
安全计划从威胁模型开始。 了解攻击者可能如何入侵系统有助于确保从一开始就采取适当的缓解措施。 在将威胁建模包含于设计阶段中时,威胁建模才能发挥最大的价值。 作为威胁建模练习的一部分,可以将典型的 IoT 体系结构划分为多个组件或区域:设备、设备网关、云网关和服务。 每个区域可以有自己的身份验证、授权和数据要求。 可以使用区域来隔离损坏,并限制低信任区域对较高信任区域的影响。 有关详细信息,请参阅物联网 (IoT) 安全体系结构。
以下 IoT 工作负载安全指南确定了关键注意事项并提供了设计和实现建议。
评估 IoT 工作负载中的安全性
若要通过架构良好的框架安全性支柱的镜头来评估 IoT 工作负载,请在 Azure Well-Architected 评审中完成 IoT 工作负载的安全问题。 在评估确定 IoT 解决方案的关键安全建议后,使用以下内容来帮助实施建议。
设计原理
卓越体系结构的五大支柱 是 IoT 工作负载设计方法的基础。 这些支柱充当跨 关键 IoT 设计领域的后续设计决策的指南针。 以下设计原则扩展了 Azure Well-Architected 框架 - 安全性的质量支柱。
设计原则 | 注意事项 |
---|---|
强标识 | 使用强标识对设备和用户进行身份验证。 拥有受信任身份的硬件信任根,注册设备,颁发可续订凭据,并使用无密码或多重身份验证 (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) 做法。
设备和网关层
此体系结构层包括设备和网关周围的即时物理空间,允许物理访问或对等数字访问。 许多工业公司使用 ISA 95 标准中包含的 Purdue 模型来确保其过程控制网络既保护受限制的网络带宽,又提供实时确定性行为。 Purdue 模型提供了额外一层深度防御方法。
强设备标识
IoT 设备和服务的紧密集成功能可提供强设备标识。 这些功能包括:
- 硬件信任根。
- 使用证书、MFA 或无密码身份验证进行强身份验证。
- 可续订凭据。
- 组织 IoT 设备注册表。
硬件信任根具有以下属性:
- 在专用防篡改硬件中证明身份的安全凭据存储。
- 绑定到物理设备的不可变加入标识。
- 用于常规设备访问的唯一每设备可续订操作凭据。
加入标识表示物理设备且与之密不可分。 此标识通常在制造过程中创建和安装,在设备的生存期内无法更改。 鉴于其不可变性和生存期,应仅使用设备加入标识将设备加入 IoT 解决方案。
加入后,预配并使用可续订的操作标识和凭据,以便对 IoT 应用程序进行身份验证和授权。 使此标识可续订,可以管理设备的访问和吊销,以便进行操作访问。 可以在续订时应用策略驱动的入口,例如设备完整性和运行状况的证明。
硬件信任根还确保设备按照安全规范构建,并符合所需的合规性制度。 保护硬件信任根的供应链或 IoT 设备的任何其他硬件组件,以确保供应链攻击不会损害设备完整性。
无密码身份验证通常使用标准的 x509 证书来证明设备的标识,可比双方共享的机密(例如密码和对称令牌)提供更好的保护。 证书是一种强大的标准化机制,可提供可续订的无密码身份验证。 若要管理证书,请执行以下操作:
- 从受信任的公钥基础结构 (PKI) 预配操作证书。
- 使用适合业务使用、管理开销和成本的续订生存期。
- 使续订自动执行,以最大程度减少由于手动轮换造成的任何潜在访问中断。
- 使用标准、最新的加密技术。 例如,通过证书签名请求 (CSR) 续订,而不是传输私钥。
- 根据设备的操作标识授予对设备的访问权限。
- 使用 x509 证书时支持凭据吊销(例如证书吊销列表 (CRL)),以立即删除设备访问,例如响应入侵或被盗。
某些旧版或资源受限的 IoT 设备无法使用强标识、无密码身份验证或可续订凭据。 使用 IoT 网关作为保护者来与这些能力较弱的设备进行本地接口连接,将其桥接以访问具有强标识模式的 IoT 服务。 这种做法允许你立即采用零信任,同时随着时间的推移过渡到使用功能更强大的设备。
虚拟机 (VM)、容器或任何嵌入 IoT 客户端的服务都无法使用硬件信任根。 对这些组件使用可用功能。 没有硬件信任根支持的 VM 和容器可以使用无密码身份验证和可续订凭据。 深度防御解决方案尽可能提供冗余,并在必要时填补空白。 例如,与现场的 IoT 设备相比,可以在具有更高物理安全性的区域(例如数据中心)中找到 VM 和容器。
使用集中式组织 IoT 设备注册表来管理组织的 IoT 设备生命周期并审核设备访问。 此方法类似于保护组织员工的用户标识以实现零信任安全性的方式。 基于云的标识注册表可以缩放、管理 IoT 解决方案并保护其安全。
IoT 设备注册表信息将设备加入 IoT 解决方案,方法是验证设备标识和凭据是否已知,以及是否有权。 加入设备后,设备注册表会包含设备的核心属性,其中包括用于日常身份验证的操作标识和可续订凭据。
可以使用 IoT 设备注册表数据来:
- 查看组织的 IoT 设备的清单,包括运行状况、修补程序和安全状态。
- 对设备进行查询和分组,以便进行缩放的操作、管理、工作负载部署和访问控制。
使用网络传感器检测和盘存未连接到 Azure IoT 服务的非托管 IoT 设备,以便进行感知和监视。
最小特权访问
最小特权访问控制有助于限制可能遭到入侵或正在运行未经批准的工作负载的经过身份验证的标识的影响。 对于 IoT 方案,请使用以下项授予操作员、设备和工作负载访问权限:
- 设备和工作负载访问控制,仅允许访问设备上的作用域工作负载。
- 实时访问。
- 强身份验证机制,例如 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支持存储在受信任的平台模块 (TPM) 或硬件安全模块 (HSM) 上的设备制造标识和其他机密的 PKCS#11 标准。
Azure IoT 中心 SDK 是一组设备客户端库、开发人员指南、示例和文档。 设备 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 平台安全体系结构等行业标准 (PSA) ,它结合了硬件和固件,提供一组标准化的安全功能,包括安全启动、加密和证明。
Azure 认证设备计划使设备合作伙伴能够轻松区分和推广设备。 该计划可帮助解决方案构建者和客户找到使用支持零信任解决方案的功能构建的 IoT 设备。
Edge Secured-core 计划(预览版)将验证设备是否符合设备标识、安全启动、操作系统强化、设备更新、数据保护和漏洞泄露的安全要求。 Edge Secured-core 计划要求是从各种行业要求和安全工程观点中提取的。
Edge 安全核心计划使 Azure 服务(如 Azure 证明 服务)能够根据设备状况做出条件决策,从而启用零信任模型。 设备必须包含硬件信任根,并提供安全启动和固件保护。 这些属性可由证明服务度量,并由下游服务用来有条件地授予对敏感资源的访问权限。
引入和通信层
引入 IoT 解决方案的数据应遵循 Azure Well-Architected Framework 安全支柱中的指导进行保护。 此外,对于 IoT 解决方案,确保从设备到云的通信是安全的,并使用最新的 TLS 标准进行加密,这一点至关重要。
设备管理和建模层
此体系结构层包括在云中运行的软件组件或模块,这些组件或模块与设备和网关进行交互,以便进行数据收集和分析,以及用于命令和控制。
IoT 服务的零信任条件
使用提供以下关键零信任功能的 IoT 服务:
- 完全支持零信任用户访问控制,例如强用户标识、MFA 和条件用户访问。
- 与用户访问控制系统集成,实现最小特权访问和条件控制。
- 用于完整设备清单和设备管理的中央设备注册表。
- 相互身份验证,提供具有强身份验证的可续订设备凭据。
- 使用条件访问实现最小特权设备访问控制,因此只有符合条件(如运行状况或已知位置)的设备才能连接。
- OTA 更新,使设备保持正常运行状态。
- IoT 服务和连接的 IoT 设备的安全监视。
- 所有公共终结点的监视和访问控制,以及对这些终结点的任何调用的身份验证和授权。
多个 Azure IoT 服务提供这些零信任功能。
Windows for IoT 有助于确保 IoT 安全范围内关键支柱的安全性。
BitLocker 驱动器加密、安全启动、Windows Defender应用程序控制、Windows Defender攻击防护、安全通用 Windows 平台 (UWP) 应用程序、统一写入筛选器、安全通信堆栈和安全凭据管理保护静态数据、代码执行期间和传输中的数据。
设备运行状况证明 (DHA) 检测和监视受信任的设备,使你能够从受信任的设备开始,并在一段时间内保持信任。
设备更新中心和Windows Server Update Services应用最新的安全修补程序。 可以使用Azure IoT 中心设备管理功能、Microsoft Intune或第三方移动设备管理解决方案以及 Microsoft System Center Configuration Manager来修正对设备的威胁。
Microsoft Defender for IoT 是一个无代理的网络层安全平台,可为 IoT 和 OT 设备提供持续的资产发现、漏洞管理和威胁检测。 Defender for IoT 使用 IoT 感知行为分析持续监视网络流量,以识别未经授权或遭到入侵的组件。
Defender for IoT 支持通常位于 OT 环境中的专有嵌入式 OT 设备和旧 Windows 系统。 Defender for IoT 可以清点所有 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 中心 中注册设备以执行其日常操作。
Azure 设备更新 (ADU) for IoT 中心 允许为 IoT 设备部署 OTA 更新。 ADU 提供了一个云托管的解决方案来连接几乎任何设备,并支持各种 IoT 操作系统,包括 Linux 和 Azure RTOS。
Azure IoT 中心对虚拟网络的支持允许通过你运行的虚拟网络将连接限制为IoT 中心。 此网络隔离可防止连接暴露到公共 Internet,并有助于防止来自敏感本地网络的外泄攻击。
以下 Microsoft 产品将硬件和 Azure 服务完全集成到整体 IoT 解决方案中。
Azure Sphere 是一种完全托管的集成硬件、OS 和云平台解决方案,可帮助中低功耗 IoT 设备获得 高度安全设备的七个属性 ,以实现零信任。 设备使用显式验证并实现基于证书的设备证明和身份验证 (DAA) ,这将自动续订信任。
Azure Sphere 使用最低特权访问,默认情况下拒绝应用程序访问所有外围设备和连接选项。 对于网络连接,允许的 Web 域必须包含在软件清单中,否则应用程序无法在设备外部连接。
Azure Sphere 是围绕假定的违规行为构建的。 整个 OS 设计的深层防御层保护。 在 Azure Sphere 设备上的 Arm TrustZone 中运行的安全世界分区有助于将 OS 违规与访问 Pluton 或硬件资源分开。
Azure Sphere 可以是保护其他设备(包括不设计用于受信任连接的现有旧系统)的守护者模块。 在此方案中,Azure Sphere 保护者模块通过以太网、串行或 BLE 与应用程序一起部署,并与现有设备建立接口。 设备不一定具有直接的 Internet 连接。
Azure Percept 是一个端到端边缘 AI 平台,可帮助你在几分钟内开始概念证明。 Azure Percept 包括与 Azure AI 和 IoT 服务集成的硬件加速器、预生成的 AI 模型和解决方案管理。
Azure Percept 设备使用硬件信任根来帮助保护推理数据、AI 模型和对隐私敏感的传感器(如相机和麦克风)。 Azure Percept 为Azure Percept Studio服务启用设备身份验证和授权。 有关详细信息,请参阅 Azure Percept 安全性。
DevOps 层
企业 IoT 解决方案应为操作员提供一种策略来管理系统。 主动关注安全性的 DevOps 方法包括:
- 集中式配置和合规性管理,用于安全地应用策略以及分发和更新证书。
- 可部署的更新,用于更新设备上的全套软件,包括固件、驱动程序、基础操作系统和主机应用程序,以及任何云部署的工作负载。
有关详细信息,请参阅使用 Azure 和 GitHub 启用 DevSecOps。
持续更新
若要基于运行状况控制设备访问,必须主动将生产设备保持为正常运行的目标状态。 更新机制应:
- 具有远程部署功能。
- 可灵活应对环境、操作条件和身份验证机制的更改,例如证书因过期或吊销而发生更改。
- 支持更新推出验证。
- 与无处不在的安全监视集成,实现安全性的计划更新。
你应该能够延迟干扰业务连续性的更新,但最终会在检测到漏洞后在明确定义的时间间隔内完成更新。 尚未更新的设备应标记为运行不正常。
安全监视和响应
IoT 解决方案需要能够对其所有连接的设备大规模执行监视和修正。 作为深度防御策略,监视为托管的绿地设备添加了额外的保护层,同时为不支持代理且无法轻松进行远程修补或配置的旧版非托管棕地设备提供补偿控制。
需要确定日志记录级别、要监视的活动类型以及警报所需的响应。 日志应安全地存储,并且不包含任何安全详细信息。
根据网络安全和基础设施安全局 (CISA),安全监视计划应监视和审核对控制器的未经授权的更改、设备的异常行为以及访问和授权尝试。 安全监视应包括:
- 生成所有 IoT 和 OT 设备的“按原样”资产清单和网络映射。
- 识别 IoT 和 OT 网络中使用的所有通信协议。
- 对与网络间的所有外部连接进行编目。
- 识别 IoT 和 OT 设备中的漏洞,并使用基于风险的方法来缓解它们。
- 实现带异常情况检测的警惕监视程序以检测恶意网络策略,例如 IoT 系统中的“离地攻击”。
大多数 IoT 攻击遵循 杀伤链 模式,即攻击者建立初始立足点、提升其特权,并在网络中横向移动。 通常,攻击者使用特权凭据绕过屏障,例如为跨子网强制实施网络分段而建立的下一代防火墙。 快速检测和响应这些多阶段攻击需要跨 IT、IoT 和 OT 网络的统一视图,并结合自动化、机器学习和威胁智能。
从整个环境(包括所有用户、设备、应用程序和基础结构)收集信号,包括本地和多个云中的。 (XDR) 平台分析集中式 SIEM 和扩展检测和响应中的信号,SOC 分析师可在其中搜寻和发现以前未知的威胁。
最后,使用 SOAR 平台快速响应事件,并在攻击对组织造成重大影响之前缓解攻击。 可以定义在检测到特定事件时自动执行的 playbook。 例如,可以自动阻止或隔离遭到入侵的设备,使其无法感染其他系统。