附录5:Azure IOT SDLC Best Practice
保护物联网 (IoT) 基础结构需要严格的深度安全防御策略。 该策略要求保护云中的数据,在公共 Internet 中传输数据时保护数据的完整性以及安全预配设备。 在总体基础结构中的每一层构建更强的安全性保证。
一、保护 IoT 基础结构
此深度安全保护可由制造、开发和部署 IoT 设备与基础结构所涉及的各个积极参与者来开发及执行。 下面是这些参与者的高级描述。
IoT 硬件制造商/集成商:通常这些参与者是要部署的 IoT 硬件的制造商、组装来自各个制造商的硬件的集成商,或针对其他供应商制造或集成的 IoT 部署提供硬件的供应商。
IoT 解决方案开发人员:IoT 解决方案的开发通常由解决方案开发人员完成。 此开发人员可能是内部团队成员或专门从事此活动的系统集成商 (SI)。 IoT 解决方案开发人员可从头开始开发 IoT 解决方案的各种组件,或者集成各种现成组件或开源组件。
IoT 解决方案部署人员:完成开发 IoT 解决方案之后,需要在现场部署解决方案。 此过程涉及硬件部署、设备互连以及在硬件设备或云中部署解决方案。
IoT 解决方案操作员:IoT 解决方案部署完成之后,需要长期的操作、监视、升级和维护。 这些任务可由内部团队来完成,该团队由信息技术专业人员、硬件操作和维护团队,以及负责监督整体 IoT 基础结构行为是否正常的领域专业人员组成。
后续部分将提供每个参与者可遵循的最佳实践,以帮助开发、部署和操作安全的 IoT 基础结构。
二、IoT 硬件制造商/集成商
以下是 IoT 硬件制造商和硬件集成商的最佳做法。
设置符合最低要求的硬件范围:硬件设计应包括硬件工作时所需的最少功能,仅此而已。 其中一个例子就是仅在必需运行设备时,才包括 USB 端口。 这些附加功能会使硬件容易出现有害的攻击载体,因此应予以避免。
让硬件具有防篡改功能:内置检测物理篡改(例如打开设备护盖、拆下设备构件)的机制。 这些篡改信号可以是上传到云的数据流的一部分,可提醒操作员这些事件。
围绕安全硬件构建功能:如果 COGS 允许,请构建安全功能,例如,安全与加密存储或基于受信任的平台模块 (TPM) 的引导功能。 这些功能将使设备更安全,有助于保护 IoT 总体基础结构。
安全升级:设备生存期内,固件升级无可避免。 构建安全的设备升级路径和固件版本加密保证,可保护设备在升级期间和升级之后的安全性。
三、IoT 解决方案开发人员
以下是 IoT 解决方案开发人员的最佳做法:
遵循安全软件开发方法:开发安全软件需要在项目开端到项目实施、测试和部署过程中,随时考量安全相关事项。 平台、语言和工具的选择也都受此方法的影响。 Microsoft 安全开发周期提供构建安全软件的循序渐进方法。
谨慎选择开源软件:开源软件有时可以加速解决方案的开发。 选择开源软件时,请考虑每个开源组件的社区活跃程度。 活跃的社区可确保软件受支持,问题得以发现和解决。 相反,不知名或不活跃的开源软件项目可能不会受到支持,且问题也可能不会得以发现。
谨慎集成:库和 API 的边界上存在许多软件安全漏洞。 当前部署中不需要的功能仍然可能会通过 API 层得到使用。 若要确保总体安全性,请务必检查正针对安全缺陷进行集成的组件的所有接口。
四、IoT 解决方案部署人员
以下是 IoT 解决方案部署人员的最佳做法:
安全部署硬件:IoT 部署可能需要将硬件部署在不安全的位置,例如公共场所或不受监督的区域。 在这种情况下,请确保硬件部署能够在最大程度上防篡改。 如果硬件上有 USB 或其他端口,请确保这些端口盖有安全保护盖。 许多攻击载体可能使用这些端口作为入口点。
保持身份验证密钥处于安全状态:在部署期间,每个设备需要使用云服务生成的设备 ID 和关联的身份验证密钥。 即使是在部署之后,也必须以物理方式保护这些密钥的安全。 恶意设备可能会使用任何透漏的密钥伪装成现有设备。
五、IoT 解决方案操作员
以下是 IoT 解决方案操作员的最佳做法:
使系统保持最新状态:确保设备的操作系统和所有设备驱动程序都已升级到最新版本。 如果在 Windows 10(IoT 或 其他 SKU)中启用自动更新,则 Microsoft 将使其保持最新状态,为 IoT 设备提供安全的操作系统。 使其他操作系统(例如 Linux)保持最新有助于确保它们也能免于恶意攻击。
防御恶意活动:如果操作系统允许,请在每个设备操作系统上安装最新的防病毒和反恶意软件功能。 这种做法有助于缓解大多数外部威胁。 采取合适的步骤可保护大多数现代操作系统免受威胁。
经常审核:响应安全事件时,针对安全相关问题审核 IoT 基础结构是关键所在。 大多数操作系统都提供内置事件日志记录,应经常进行审查这些日志以确保未出现安全违规。 可将审核信息作为单独的遥测流发送到云服务,并在云中进行分析。
以物理方式保护 IoT 基础结构:针对 IoT 基础结构的最严重安全攻击是通过物理访问设备的方式发起的。 防止恶意使用 USB 端口和其他物理访问是一种非常重要的安全做法。 发现可能已出现的安全违规的一个关键在于记录物理访问,例如 USB 端口的使用。 同样,Windows 10(IoT 和其他 SKU)可针对这些事件启用详细日志记录。
保护云凭据:用于配置和操作 IoT 部署的云身份验证凭据可能是访问和损坏 IoT 系统的最简单手段。 经常更改密码并避免在公用计算机上使用凭据可保护这些凭据。
不同的 IoT 设备具有不同的功能。 某些设备可能是运行常见桌面操作系统的计算机,而某些设备可能运行极其精简的操作系统。 前面描述的安全最佳做法可能适用于这些不同级别的设备。 如果这些设备的制造商提供了附加的安全和部署最佳实践,则应予以遵循。
某些旧式设备和功能受限的设备可能不是专门为 IoT 部署而设计的。 这些设备可能缺少加密数据、连接 Internet 或提供高级审核功能。 在这种情况下,安全的新式现场网关可聚合旧式设备中的数据,并提供通过 Internet 连接这些设备所必需的安全性。 现场网关可提供安全身份验证、加密会话协商、云命令接收,以及其他许多安全功能。
来源:Azure固件安全
Last updated