Zed指南 | 终极 IoT 安全最佳实践指南 给你的物联网从边缘到云的多层保护

本指南将为您提供成功保护 IoT 生态系统的实用建议,更重要的是,随着 IoT 安全格局的变化和发展,始终保证您的 IoT 生态系统安全无忧。

终极IoT安全最佳实践指南封面图
出处:AWS

当今的物联网 (IoT) 解决方案通过几乎所有市场(包括工业、商业和消费类应用程序)的各种使用案例来加速实现业务成果。IoT 领域发展迅速:IDC 估计,到 2025 年全球将有 416 亿台互联设备,生成总计 79.4 ZB 的数据。Statista 预测,到 2025 年,网络上将有超过 750 亿个连接的终端节点。为了保护您的客户、设备和组织,IoT 生态系统的基础应该围绕安全性构建。最佳 IoT 安全解决方案可提供从边缘到云的多层保护,为您的 IoT 设备、其连接和数据提供妥善保护。它还应包括预防措施和主动监控/警报,以便您可以确保设备安全并在现场按预期运行,同时应对和管理新出现的安全问题。

IoT 队列提出了许多独特的安全挑战,单靠防火墙和防病毒软件等传统方法无法应对这些挑战。实际上,事实证明,仅依靠这些传统解决方案不足以保护任何系统、IoT 或非 IoT。对于 IoT 设备,有时甚至无法使用传统方式。例如,防病毒软件通常无法在受限设备上运行。

IoT 设备的计算、内存和存储功能通常都不强,这限制了直接在其硬件上实现安全的机会。此外,互联设备的软件和硬件组件通常由不同的制造商制造,这可能导致安全元素所有权不明确。

新的攻击途径不断涌现,需要对设备设置和运行状况进行持续审计,并修复已发现的安全问题(即更新固件和修补程序)。这意味着您的 IoT 安全策略需要面向未来,提供定期的固件更新和配置策略实施,以适应新设备、不断膨胀的数据和不断演变的威胁。

本指南将为您提供成功保护 IoT 生态系统的实用建议,更重要的是,随着 IoT 安全格局的变化和发展,始终保证您的 IoT 生态系统安全无忧。

云安全最佳实践

最出色的 IoT 安全解决方案植根于云安全。云架构提供了内在安全规定和最佳实践,为强大、易于管理的 IoT 保护提供坚实基础。在云中保护 IoT 解决方案时,请遵循以下最佳实践:

1. 了解责任共担:了解您以及您的供应商和合作伙伴在维护设备安全方面的职责。这些职责应预先记录下来,并且您应努力审查和选择其安全实践与您的业务目标相契合的可信赖的合作伙伴和供应商。

2. 实施强大的身份验证体系:使用最小特权原则,并通过对每一次交互进行适当授权来强制执行职责分离。集中管理特权,减少甚至消除对长期证书的依赖。

3. 实现可追溯性:实时监控和审计对环境执行的操作和更改并发送警报。将日志和指标与系统集成,以便自动做出响应并采取措施。

4. 在所有层面应用安全机制: 与其将重点仅放在保护单个外层上,不如应用深度防御方法和其他安全控制措施,将安全机制应用到所有层面(例如边缘网络、Virtual Private Cloud [VPC]、子网、负载均衡器、每个实例、操作系统和应用程序)。

5. 自动实施安全最佳实践:借助基于软件的自动化安全机制,您能够以安全、快速且具有成本效益的方式实现扩展。建立安全架构(包括实施控制措施),可在版本控制模板中以代码形式定义和管理。

6. 保护传输中的数据和静态数据:按敏感程度对您的数据进行分类,并根据情况采用相应的机制(例如加密、令牌化和访问控制)。

7. 限制对数据的访问:创建相关机制和工具来减少或消除直接访问或人工处理数据的需求。这样做可以降低由于处理敏感数据而导致数据丢失、被修改以及其他人为错误的风险。

8. 为应对安全事件做好准备:制定符合您组织要求的事件管理流程。开展事件响应模拟演练并使用具有自动化功能的工具来提高检测、调查以及恢复的速度。

IoT 安全最佳实践

理想情况下,您可以依赖用于 IoT 生态系统中各个构建块的众所周知且可重用的云安全实践列表,并且这些原则将完全符合您的独特要求和约束。然而,实际上,至少某些 IoT 安全职责必须由您承担。

不过,请放心,以下最佳实践将帮助您从设计和实施到持续运营和管理各个层面,保护您的业务和 IoT 生态系统。除了最佳实践本身之外,我们还就每条规则提供了概要建议列表。这些建议并非详尽列举,它们只是为了阐明每条规则背后的基本概念。

1. 为设备和系统预置唯一身份和凭证

• 为所有设备及本地或云中系统分配唯一身份。
• 为每个身份分配唯一的加密凭证,例如 X.509 证书。
• 创建机制以促进凭证的生成、分发、轮换和吊销。
• 选择使用受硬件保护的模块(例如可信平台模块 [TPM] 或硬件安全模块 [HSM])来存储凭证和执行身份验证操作。
• 创建机制以安全地管理对 IoT 服务和资源的访问。

2. 应用身份验证和访问控制机制

• 根据您的威胁模型建立明确的信任边界,并对这些边界之外的所有访问实施访问控制。
• 识别并减少易于伪造或欺骗身份的入口点问题以及未经授权的特权升级。
• 考虑部署服务,使您无需对密码、令牌或其他密钥进行硬编码即可对身份进行身份验证。
• 如果威胁模型包括未经授权的攻击者可能对设备进行的物理访问,请对设备硬件采取防篡改措施,并在物理上和/或在固件或操作系统层禁用所有未使用的硬件接口。
• 创建机制以定期评估凭证和特权,并在它们的身份在生命周期事件中发生相关转换时进行评估。
• 强制执行资源消耗限制并进行限流以保护共享资源的可用性。

3. 使用加密网络协议

• 使用经过验证、受信任的 IoT 软件开发工具包 (SDK) 将设备安全地连接到云。
• 保护入站和出站短程和远程网络通信通道的机密性和完整性,以进行数据传输、监控、管理、预置和部署。
• 通过使用加密网络协议来检测任何未经授权的修改,可以保护数据完整性(无论分类级别如何)。
• 对于无法支持加密网络协议的资源受限设备,请将网络活动限制为网络级信任边界(如威胁模型中所标识)内的短距离连接。
• 使用开放和标准的加密网络协议,安全社区会公开持续地审查和执行同行评审。
使用诸如单向哈希函数或加密函数之类的加密基元不能替代用于保护传输中数据的加密协议。加密协议考虑了执行数据传输安全控制所需的上下文信息。
加密协议提供安全控制,例如收件人身份验证、安全的加密密钥交换或协商、消息顺序完整性和成功的消息收发验证。
• 考虑在开放且维护良好的操作系统(例如 FreeRTOS)上运行设备,使您可以轻松、持续地添加安全功能和应用程序。“Am

4. 创建持续更新和部署机制

• 使用加密网络协议传输部署构件。
• 在分布式部署构件上应用和验证数字签名。
• 应用默认配置以自动部署安全更新和补丁。
• 在部署构件存储库及其分发系统上采用身份验证和访问控制。
• 维护整个 IoT 生态系统中已部署软件的清单,包括版本和补丁状态。
• 监控部署状态并调查任何失败或已停止的部署。
• 使用版本控制机制来防止未经授权的攻击者强迫固件或软件降级。
• 维护通知机制,以在基础设施无法将安全更新部署到您的队列时立即向利益相关者发出警报。
• 创建机制以识别和替换无法接收更新的受限设备。
• 创建检测和响应机制,以处理部署的软件或固件中未经授权的更改。

5. 部署安全审计和监控机制

• 部署审计和监控机制,以持续收集和报告整个 IoT 生态系统的活动指标和日志。
• 监控设备上的活动和设备外的相关活动,例如网络流量和入口点、进程执行以及系统交互,以防出现任何意外行为。
• 使用日志进一步监控事件并解决问题。
• 维护并定期执行安全事件响应计划以及遏制和恢复机制。
• 这应该与您的 IoT 元素运营商的技术技能水平及其部署和所有权模型相对应。
• 记录用户、角色或服务采取的安全措施。

6. 建立安全机制的持续运行状况检查

• 通过使用金丝雀测试等机制,持续检查您的安全控制和系统是否完好。
• 验证在外部依赖项或内部系统出现故障的情况下,安全控制措施是否可以防止未经授权的访问并维护其完整性。
• 测试您的 IoT 设备,以确保它们在发生以下故障时能够维持其安全性控制:
电池电量不足或波动
内存或处理资源不足
物理传感器或其他连接设备出现故障
引入格式错误的输入,包括感测到的数据
缺少网络连接或出现间歇性连接

7. 主动评估潜在安全事件的影响

• 创建并维护包含所有资产和系统的威胁模型,该模型以您的责任共担模型为依据。
• 识别并衡量潜在安全事件对 IoT 设备、其感知的环境和驱动系统、关联的本地和云基础设施、操作员和供应链系统以及流程的影响。
• 考虑安全事件的不同要素,例如规模、复杂程度和未经授权的访问级别,以评估潜在影响。创建预防、检测、遏制和恢复的相应深入层。
• 为设备和现场网关预置仅授予所需特权的凭证。

8. 最大限度地缩小 IoT 生态系统的攻击面

• 识别并消除设备、现场网关和后端系统上未使用的入口点。
• 禁用未使用的设备传感器、传动器、服务和/或未使用的功能。
• 禁用依赖项中未使用的功能或不安全的默认配置。
• 使用最少数量的依赖项,例如第三方库和网络服务。
• 在整个 IoT 生态系统中采用默认安全配置。
• 仅添加维护良好的依赖项,并建立一种机制使其保持最新状态。
• 随着 IoT 生态系统的发展,定期检查并确定最小化攻击面的机会。

9. 避免不必要的数据访问、存储和传输

• 对整个 IoT 生态系统中收集的数据进行识别和分类,并了解其相应的业务使用案例。
• 发现机会并采取相应举措以停止收集未使用的数据或调整其粒度和保留时间。
• 如果您不需要完整的特定数据,可以考虑使用令牌化和单向加密哈希。
• 考虑使用非对称加密技术来保护 IoT 设备和仅负责临时收集和批处理数据的设备上的静态数据,并定期将数据提交给其他系统进行处理。
• 仅将数据存储并传输到拥有强大所有权和严格安全控制的中央系统。
• 在授予对任何收集数据的访问权限时,遵循最小特权原则。
• 确定并考虑您的 IoT 设备的独特功能。
这可能包括会影响您的监管和法律合规性的移动性、驱动性、感官数据收集和传输以及所有权转移。
• 在制造、分发和操作 IoT 设备和系统的区域中,考虑客户对隐私和透明度的期望以及相应的法律要求。
• 编纂并发布您面向客户的隐私声明。

10. 监控漏洞披露和威胁情报来源

• 随时了解最近攻击活动中使用的已公开漏洞、对抗技术、策略和程序,并评估其潜在影响。
• 将漏洞披露和威胁情报中的信息与审计事件、配置和元数据相关联。
这将帮助您在持续的对抗活动环境中检测出任何涉及基础设施参与或滥用的趋势
• 为您的 IoT 解决方案创建一个漏洞披露程序,以促进与安全研究人员的互动,并鼓励他们负责任地披露潜在安全问题。

关键术语定义

IoT 生态系统 – IoT 解决方案的所有元素,包括设备硬件和固件、本地和云中系统和软件,以及设备制造、运输和预置等流程。

最小特权原则 – 仅向您的身份授予在预期环境中执行预期操作所需的最少特权的安全最佳实践。

威胁模型 – 列出了对 IoT 生态系统相关潜在威胁以及相应缓解措施和可接受风险的动态文档。还包括所有资产的完整清单、与之交互的系统、威胁边界以及入口点。

部署构件 – 用户在 IoT 设备或通用主机上安全可靠地安装软件或固件时所需的所有源代码、配置和二进制文件。

金丝雀测试 – 将编程代码更改推送给没有自发进行任何测试的少数最终用户的软件测试,目的是确保代码更改是透明的,并且可以在实际环境中运行。

指南下载:

一条评论