手把手玩转路由器漏洞挖掘系列-ZigBee协议
手把手玩转路由器漏洞挖掘系列-ZigBee协议
原创 nil 山石网科安全技术研究院 2024-10-17 10:39
1. 基本介绍
ZigBee是一种低复杂度、低功耗、低速率、低成本的近距离无线通信技术。它基于IEEE 802.15.4标准,主要用于短距离数据传输和监控应用。
ZigBee网络由协调器、路由器和终端设备组成,支持星型、树型和网状等多种拓扑结构。该技术广泛应用于智能家居、工业自动化、医疗监护等领域,通过低功耗和自组织网络特性,实现高效、可靠的无线数据传输。ZigBee的传输速率在10KB/秒到250KB/秒之间,支持大量设备连接,具有强大的网络容量和灵活的节点配置能力。
2. 协议概述
2.1 栈结构
ZigBee协议组成主要涵盖了四个层次,这些层次共同构成了ZigBee网络协议栈的基础,确保了数据的可靠传输和网络的有效管理。以下是ZigBee协议组成的详细概述:
– 物理层
-
处理无线电硬件之间的实际通信
-
基于IEEE 802.15.4标准的无线通信技术
-
传输层
-
管理无线链路,包括处理帧的发送、接收、超时重传、收发确认等
-
提供了安全和管理机制,如加密、身份认证和底层设备管理
-
网络层
-
负责多跳网络的支持,主要包括路由选择、拓扑结构和组网等功能(星型、树型和网状拓扑结构)
-
协调器、路由器和终端设备
-
负责定义不同应用的数据格式和通信规则
-
节点之间的路由和寻址机制,确保数据传输的可靠性和安全性
-
不同设备之间的互相通信,允许节点在网络中相互切换
2.2 数据帧
2.2.1 具体分布
-
物理层
-
SHR – 前导序列
-
PHR – PSDU长度信息
-
PSDU – MAC层协议数据单元
-
传输层
-
MHR – 控制信息、序列号、寻址信息等
-
MSDU – 网络层和应用层数据
-
MFR – 帧校验序列
-
网络层
-
网络层帧头和有效载荷
-
应用层
-
数据和服务
2.2.2 帧结构
信标帧
帧控制域 | 序列号 | 地址域 | 附加安全头部 | 超帧描述 | GTS分配释放信息 | 转发数据目标地址信息 | 帧负载 | FCS |
---|
数据帧
帧控制域 | 序列号 | 地址域 | 附加安全头部 | 数据帧负载 | FCS校验 |
---|
确认帧
帧控制域 | 序列号 | FCS |
---|
2.3 安全机制
ZigBee主要提供三个级别的安全模式:
– 非安全模式
-
不采取任务安全措施 – 可重发、中间人攻击
-
访问控制模式
-
只允许接入的硬件设备MAC地址存在列表中,限制无合法节点访问获取相关数据
-
安全模式
-
支持128位AES加密算法进行数据通信加密
Wireshark里面提供的安全级别可支持预设密钥用于解析数据包
2.4 密钥类型
– 主密钥
-
配合ZigBee对称密钥的建立(SKKE)过程来派生其它密钥,在建立网络时生成或配置的,用于后续生成网络密钥和链接密钥。
-
网络密钥
-
保护广播和组数据的机密性和完整性,同时也为网络认证提供保护
-
链接密钥
-
保护两个设备之间单播数据的机密性和完整性
-
其他密钥
-
除了上述主要密钥外,ZigBee协议还可能定义其他类型的密钥,如应用主密钥、应用链接密钥等,用于特定场景下的安全通信
3. 安全风险
3.1 中间人攻击
ZigBee采用非安全模式,对数据传输内容没有加密,可能被窃取敏感数据内容。
3.2 密钥攻击
在密钥传输过程中,密钥内容会以明文形式传输,因此可能被获取密钥信息,通过密钥对数据信息进行解密或者伪造合法接入设备。
4. 总结
当前,针对ZigBee协议的攻击策略主要聚焦于其密钥安全性的薄弱环节,其密钥安全是整个Zigbee协议中最重要一环。