zoukankan      html  css  js  c++  java
  • ZigBee 安全探究

    ZigBee 安全探究

    0x02 ZigBee安全机制


    (注:对于本节内容,可能在新版ZigBee协议标准中会有所变化,请以新版为准。)  

    ZigBee主要提供有三个等级的安全模式:  

    1、 非安全模式:为默认安全模式,即不采取任何安全服务,因此可能被窃听;

    2、 访问控制模式:通过访问控制列表(Access Control ListACL,包含有允许接入的硬件设备MAC地址) 限制非法节点获取数据;

    3、 安全模式:采用AES 128位加密算法进行通讯加密,同时提供有0,32,64,128位的完整性校验,该模式又分为标准安全模式(明文传输密钥)和高级安全模式(禁止传输密钥)。   在一些模式里面又分有多种安全子级,整体来看可以直接参考Wireshark里面提供的安全级别(Edit=>Preferences=>Protocols=>ZigBee NWK)【如图3】,里面也支持预设密钥用于解析数据包。

    enter image description here

    如果使用安全模式,那么它会提供3种类型的密钥用于保证通讯安全:

    主密钥(Master Key):用于配合ZigBee对称密钥的建立(SKKE)过程来派生其它密钥,也就是说,设备要先拥有信任中心(ZigBee网络中有且仅有的一个可信任设备,负责密钥分发与管理,以及网络的建立与维护)生成的主密钥才能派生网络密钥和链路密钥给其它设备,它可以由信任中心设置,也可基于用户访问数据,比如个人识别码(PIN),口令或密码等信息;

    网络密钥(Network Key):用于保护广播和组数据的机密性和完整性,同时也为网络认证提供保护,被网络中的多个设备所共享,仅在广播消息中使用;

    链接密钥(Link Key):用于保护两个设备之间单播数据的机密性和完整性,仅通讯中的2个设备持有,而单个设备需要多个链接密钥来保护每个端对端会话。

    在ZigBee Pro(更高安全级别的ZigBee版本)中,管理员使用对称密钥建立方法来派生设备上使用的网络密钥和链接密钥,但是这要求设备拥有从信任中心生成的主密钥,同时要求设备已经加入网络。关于密钥生成的方法主要有两种方式:

    1、 密钥传输:采用此方法后,网络密钥与链接密钥可能以明文形式发送到网络中的其它设备,因此密钥有可能被窃听到,从而解密出所有通讯数据,或者伪造合法设备去控制相应智能设备。为了避免密钥明文传输,以及实现不同厂商设备之间的兼容性,协议还提供有默认的信任中心链接密 (TCLK:0x5A 0x69 0x67 0x42 0x65 0x65 0x41 0x6C 0x6C 0x69 0x61 0x6E 0x63 0x65 0x30 0x39)去加密传输的密钥,这就引入新的安全风险。此次BlackHat大会的ZigBee Exploited议题也正是通过该默认密钥去ZLL灯泡进行攻击,实现远程控制。

    2、 预安装:在设备上直接配置好密钥,如果需要更改,就需要重新刷设备固件,虽然这种方式更加安全可信,但也是最繁琐复杂的方式。此次360安全团队在Defcon大会上演示的正是对某种智能灯泡的固件进行逆向,从中找到密钥,从而实现对智能设备的控制。

    0x03 安全风险


    1、窃听攻击

      当ZigBee采用非安全模式时,对传输数据将不作加密处理,因此可能被外部窃取到通讯数据【如图4】。

    enter image description here

    2、密钥攻击

      由于在密钥传输过程中,可能会以明文形式传输网络/链接密钥【如图5】,因此可能被窃取到密钥,从而解密出通讯数据,或者伪造合法设备。也有可能通过逆向一些智能设备固件,从中获取密钥进行通讯命令解密,然后伪造命令进行攻击。

    enter image description here

    有些联合厂商在ZigBee基础上作了改进,比如ZigBee Light Link(ZLL)全球互联照明标准(源自2014年第二届家电节能与智能化技术大会)就采用ZLL密钥对传输密钥进行一次AES 128位加密再发出去【如图6】,以避免密钥泄露的情况,该ZZL密钥是ZigBee联盟在产品认证后授予的。

    enter image description here

    0x04 总结


    目前针对ZigBee协议的攻击,主要还是围绕密钥安全问题进行攻击。虽然ZigBee的流行度和使用范围并没有达到像WiFi、蓝牙那样普遍,但随着此次小米智能家庭套装的引用,可能会带动一波厂商使用到智能设备之中,因此有必要继续关注下ZigBee在智能设备中的安全问题。

    0x05 参考资料

    1、 ZigBee Specification Document 053474r17:http://home.deib.polimi.it/cesana/teaching/IoT/papers/ZigBee/ZigBeeSpec.pdf 

    2、 KillerBee - Practical ZigBee Exploitation Framework

    3、 Security Issues And Vulnerability Assessment Of ZigBee Enable Home Area Network Implementations

    4、 ZigBee技术及其安全性研究_虞志飞

    5、 ZigBee Exploited (BlackHat USA 2015):http://cognosec.com/zigbee_exploited_8F_Ca9.pdf

    6、 Take Unauthorized Control Over ZigBee Devices(Defcon 23):https://media.defcon.org/DEF%20CON%2023/DEF%20CON%2023%20presentations/Speaker%20&%20Workshop%20Materials/Li%20Jun%20&%20Yang%20Qing/DEFCON-23-Li-Jun-Yang-Qing-I-AM-A-NEWBIE-YET-I-CAN-HACK-ZIGB.pdf

    7、 docs-09-5378-00-0mwg-zigbee-security

    8、 docs-05-3765-00-0mwg-zigbee-security-layer-technical-overview

    9、ZigBee 3.0 – The Open, Global Standard for the Internet of Things

    来自 @腾讯安全平台部

  • 相关阅读:
    ios中要在tableview中添加事件的方法
    ios中键盘处理适合ipad 和iphone
    ios中LeveyPopListView 弹出view的用法
    ios中VRGCalendarView日历控件
    ios中MKHorizMenu用法
    ios中封装网络和tableview的综合运用
    ios中core Plot (2)
    ios中NSObject分类(2)
    ios中NSObject分类
    ios 中UIViewController的分类
  • 原文地址:https://www.cnblogs.com/jarvise/p/5153399.html
Copyright © 2011-2022 走看看