从设备安全到网络安全、应用程序安全等等
学习路径:培养 IoT 开发技能
本教程已纳入面向 IoT 的开发者指南 IoT 201 学习路径。
- IoT 架构
- IoT 安全挑战(本文)
- IoT 数据分析
- IoT 设备管理
- 教程:构建门禁监控系统
下面我们将介绍我认为 IoT 安全面临的十大挑战:
- 安全约束装置
- 授权和验证设备
- 管理设备更新
- 安全通信
- 保证数据隐私和完整性
- 保护 Web、移动和云应用程序
- 保证高可用性
- 通过检测漏洞防止事件发生
- 管理漏洞
- 预测并抢先预防安全问题
许多 IoT 设备的存储、内存和处理能力有限,通常需要能够在低功耗条件下运行,比如在使用电池运行时。
高度依赖于加密的安全方法不太适合这些资源受限的设备,因为它们执行复杂加密和解密的速度不足以让它们实时安全地传输数据。
IoT 系统应使用多层防御来弥补这些设备局限,例如将设备隔离到单独的网络上并使用防火墙。
由于如此多设备在 IoT 系统中提供了潜在的入口点,设备验证和授权对保护 IoT 系统至关重要。
设备在访问网关、上游服务和应用程序之前,必须先确定自己的身份。但是,有许多 IoT 设备未能有效实现设备验证,例如那些使用弱基础密码验证或原封不动地使用默认密码的设备。
采用默认提供了安全保护的 IoT 平台 有助于解决这些问题,比如,通过启用双因素验证 (2FA) 和强制使用强密码或证书。IoT 平台还提供了设备授权服务,用于确定每个设备有权访问系统中的哪些服务、应用程序或资源。
对在 IoT 设备和网关上运行的固件或软件应用更新(包括安全补丁)存在着许多挑战。例如,需要不断跟踪可用的更新,跨包含异构设备(它们通过一系列不同的网络协议通信)的分布式环境而异步应用更新。您必须实现一个良好的回滚策略,以防更新失败。
不是所有设备都支持无线更新或无中断更新,所以可能需要物理地访问设备或临时停止生产来应用更新。另外,可能不是所有设备都能够获得更新,特别是旧设备或制造商不再提供支持的设备。
甚至在更新可用时,设备所有者也可能选择不更新应用,所以保持向后兼容性很重要。作为设备管理的一部分,您需要持续跟踪每个设备上部署的版本,以及哪些设备在不再提供更新后退役。
设备管理器系统常常支持向设备自动推送更新,以及在更新过程失败时设法回滚。它们也有助于保证只执行合法的更新,例如通过使用数字签名。
详细阅读 保护 IoT 设备和网关。
设备本身受到保护后,下一个 IoT 安全挑战是保证设备通过网络与云服务或应用程序的通信是安全的。
许多 IoT 设备在通过网络发送消息之前未进行加密。但是,最佳实践是使用传输加密,并且是采用 TLS 这样的标准。使用单独的网络来隔离设备也有助于建立安全、私有的通信,从而使传输的数据保持机密。常用的措施包括使用防火墙,限制对网关设备的物理访问,使用随机生成的一次性密码,以及关闭设备不需要的操作系统功能。
详细阅读 保护网络中的 IoT 数据。
保证数据完整性,这可能涉及到采用校验和数字签名来保证数据未被修改。区块链 —— 作为 IoT 数据的一种去中心化分布式账本,提供了一种可扩展且具有灾备能力的方法来保证 IoT 数据的完整性。
Web、移动和云应用程序及服务用于管理、访问和处理 IoT 设备和数据,所以它们也必须在一种多层 IoT 安全方法中受到保护。应遵循所有保护移动和 Web 应用的标准实践。
详细阅读 IoT 应用程序的安全最佳实践。
随着我们的日常生活越来越依赖 IoT,IoT 开发者必须考虑 IoT 数据及依靠该数据的 Web 和移动应用程序的可用性,以及考虑我们访问 IoT 系统所管理的物理设备的能力。连接中断或设备故障,或者 拒绝服务攻击 等攻击导致的破坏潜力不只是带来不便。在一些应用程序中,缺乏可用性的影响可能意味着损失收入,损坏设备或者甚至失去生命。
详细阅读 保护 IoT 设备免遭恶意软件攻击。
IoT 系统的复杂性还使得很难评估漏洞的后果或破坏程度,从而无法管控其影响。挑战包括识别哪些设备受到了影响,哪些数据或服务被访问或损害,以及哪些用户受到了影响,然后立即采取措施来解决该情形。
设备管理器维护着一个设备注册表,可使用它来临时禁用或隔离受影响的设备,直到可以修复它们。此特性对网关等重要设备特别重要,可用来限制它们导致危害或破坏的潜力,例如,它们在受到攻击后可能会利用虚假数据让系统泛洪。可以通过基于漏洞管理策略的规则,使用规则引擎来自动应用操作。
要安全地管理设备、数据及移动和基于云的 IoT 应用程序和服务,以及处理出现的威胁或问题,务必为 IoT 开发采用多层安全设计方法。忽视 IoT 系统安全可能会导致系统故障、资金损失,甚至是其他损害。
整合默认安全保护 —— 始终为安全特性配置最安全的设置,包括在开发之前、期间和之后,这将使您能够维护数据隐私和完整性,同时提供高度可用的 IoT 数据、应用和服务。