物联网设备面临的安全威胁分析
众所周知,物联网(IoT)设备预计将无处不在。这些由半导体驱动的设备将推动每一个可想象的过程实现智能化。从简单的开灯到门诊护理或工厂控制等更复杂的过程,通过传感、处理和云连接,物联网设备将大幅提高工作效率。应用场景多种多样,它们的发展前景和影响力也将不可估量。
介绍
然而,互联设备的日益“智能化”也带来了安全挑战。例如,传统的照明控制相对原始,它是一个带有物理开关的电源电路。要对开关进行操作则需要物理上接触并操作开关。要避免未经授权的使用,只需要对开关进行简单的物理保护。现在考虑将照明控制看作是物联网设备的智能化身。光传感器、距离传感器、逻辑控制(通常在微控制器中实现)以及云应用无线连接取代了传统的物理开关。在智能化过程中,照明开关被转换成一个通过网络与应用服务器一起工作的嵌入式客户端。保护智能照明开关因此变得更加复杂。这种复杂性的提高将给所有物联网设备设计人员带来挑战。好消息是,带有安全保护的微控制器能够显著提高物联网设备的安全性,加快设计周期。
本文中的案例研究介绍了如何确定网络摄像头物联网设备的安全要求。顾名思义,这种设备已经实现互联,并广泛应用于众多应用,从简单的家庭网络摄像头到复杂的工业系统,不一而足。通过定义对网络摄像头的相关威胁并确定防御这些威胁的安全目标,从而制定了该设备的安全要求。本文介绍了基于Arm®技术的赛普拉斯PSoC® 6 MCU,是能够满足上述要求的可用解决方案。该方法同样适用于其他物联网设备。
识别数据资产 → 识别威胁 → 定义安全目标 → 满足需求
图1:设计安全的物联网设备时的分析过程
物联网设备安全性分析
保护物联网设备的想法可能令人望而生畏。初步研究很快揭示了有关密码学、威胁、安全目标和其他几个主题的大量知识。面对铺天盖地的信息,物联网设备设计人员通常会问的第一个问题是:“我如何判断所需安全性要达到哪种水平?”,紧接着是“我该从哪里入手?”
Arm提供了平台安全架构(PSA),帮助设计人员快速入门。通过利用PSA的一整套威胁模型和安全性分析、硬件和固件架构规范以及可信固件M参考实现,物联网设计师能够快速且轻松地实现安全设计。
通过使用双Arm Cortex®-M内核,结合可配置的内存和外设保护单元,赛普拉斯PSoC 6 MCU实现了PSA定义的最高保护级别。本文将PSA网络摄像头威胁模型和安全性分析(TMSA)应用于PSoC 6 MCU,演示如何针对网络摄像头应用进行安全性评估。
任何攻击的目标都是获取物联网设备的数据并以某种方式加以利用。如图1所示,分析过程的第一步是识别物联网设备处理的数据资产及其安全属性。
接下来的步骤是识别针对这些资产的威胁,定义抵御这些威胁的安全目标,并确定需求以满足安全目标。通过满足这些要求,基于微控制器的设计可为安全目标提供支持,并最终保留资产的安全属性。最后,应该对设计进行评估,以判定设计是否达到安全目标。通常情况下,这类评估会利用应用于设计的威胁模型来评估设备的攻击防御能力。
数据资产
每个物联网设备的价值都建立在数据之上,以及如何对这些数据进行管理。数据资产在嵌入式系统中有多种表现形式。例如,固件定义设备的行为。其他示例包括用于控制设备的唯一ID、密码和加密密钥。此外,还有物联网设备生成的数据,例如来自网络摄像头的图像数据或来自传感器的环境数据。无论其形式如何,每种数据资产都具有各自的安全属性。安全属性是系统所依赖的数据资产的固有特性,是系统信任该数据资产的基础。机密性、完整性和真实性是三种常见的安全属性。
机密性
机密性指的是主动或被动保密或私有的状态。
机密性要求只有授权人员才能够读取数据资产。换言之,它是机密或私有的。密码是具有机密性安全属性的数据资产的常见示例。其他示例可能包括物联网设备生成的个人数据,如心率数据或位置信息。
完整性
完整性指的是完整且不可分割的状态。
完整性要求数据资产在使用或传输时保持不变。完整性通常与建立引用的数据(如启动固件)相关联。启动固件确保MCU配置为应用可执行的已知初始状态。对启动固件进行更改可能会影响该初始状态,并存在操作或安全风险。
真实性
真实的性质(毫无争议的来源;不是副本;真实的)
真实性要求只有受信任的参与者才能建立数据资产的当前状态。当与完整性相结合时,真实性便能够建立信任,因此它是安全物联网设备的关键基石。在先前的启动固件示例中,数字签名可用于在升级固件时对真实性和完整性进行评估,以确保仅使用可信固件。
全面识别物联网设备中的数据资产至关重要,因为每个后续步骤都依赖于此步骤。举例来说,网络摄像头将具备以下数据资产:
摄像头 ID | 设备的 唯一标识符 |
固件 | 定义硬件的 操作方式 |
固件 证书 | 用于安全启动 |
证书 | 用于加密操作的数据 |
日志 | 历史数据 |
图像 | 由摄像头捕获并 通过网络发送的数据 |
配置 | 用于配置的数据, 包括网络配置 |
每种数据资产都将具备与其相关联的安全属性。
数据 资产 | 安全 属性 |
摄像头 ID | 完整性 |
固件 | 机密性(可选)、 完整性、真实性 |
固件 证书 | 完整性 |
证书 | 机密性、完整性 |
日志 | 完整性 |
图像 | 机密性、完整性 |
配置 | 机密性(可选)、 完整性 |
威胁
威胁旨在破坏数据资产的安全属性并将其用于未经授权的目的。为了识别威胁,必须对物联网设备中数据的使用进行评估。例如,证书可用于访问物联网设备的网络。如果证书的机密性受到损害,则未经授权的参与者就可以使用它们来访问网络。这种攻击称为冒充攻击。通过系统地评估每种数据,可以创建潜在威胁列表。
此外,网络摄像头可能面临以下对其数据资产的威胁:
威胁 | 目标数据资产 | 安全属性 |
冒充攻击 | 证书 | 机密性、完整性 |
中间人攻击 | 证书 | -- |
镜像 | ||
配置 | 机密性、完整性 | |
机密性 | 完整性、机密性、完整性 | |
固件滥用 | 固件 | |
篡改 | 摄像头 ID | 完整性 |
固件 | 机密性、完整性 | |
真实性 | ||
完整性 | ||
证书 | 机密性、完整性 | |
日志 | 完整性 | |
镜像 | 机密性、完整性 | |
配置 |
安全目标
通过识别威胁,可以定义安全目标。安全目标是在应用级别定义的,本质上提供了实现需求。一些安全目标可以作为可信应用(TA)实现,它们在安全的MCU提供的隔离执行环境中执行。隔离执行环境全面保护TA及其使用/处理的数据。物联网设备应用本身在不安全的执行环境中运行,并通过使用处理器间通信(IPC)通道的API与隔离执行环境中的TA进行通信。TA则利用硬件中的可用资源(如加密加速器和安全内存)来为目标提供支持。
继续此示例,前面确定的威胁可以通过以下安全目标进行防御:
安全 目标 | 威胁 | |||
冒充 攻击 | 中间人 攻击 | 固件 滥用 | 篡改 | |
访问 控制 | X | X | ||
安全 存储 | X | |||
固件 真实性 | X | |||
通信 | X | |||
安全 状态 | X | X |
评论