没有合适的资源?快使用搜索试试~ 我知道了~
2857摘要显王德克萨斯大学达拉斯分校理查森,德克萨斯州,美国xxw161030@utdallas.edu双号德克萨斯大学达拉斯shao@utdallas.edu理查森,美国德克萨斯州2022年7ACM,纽约州纽约市,美国,14页。物联网(IoT)的蓬勃发展导致了对新连接技术的需求。Zigbee以其低功耗和灵活的网络结构,已成为物联网生态系统中必不可少的无线通信协议之一,并被许多大公司采用。目前已有数千种Zigbee认证产品,从传感器到链接灯产品,再到智能能源设备。人们普遍认为,由于封闭网络的性质和加密的使用,Zigbee是相对安全的然而,在本文中,我们发现了与Zigbee相关的攻击,其中对手在目标网络之外,并且不知道加密密钥。 低攻击要求带来高威胁。 这些攻击会误导设备接受伪造的数据包,从而危及Zigbee网络的正常运行。我们进一步开发了一个框架来有效地识别这些问题。 该框架支持地址和网络信息的灵活修改,以及MAC层的位级操作。为了加速分析,我们设计了语义感知模糊生成包候选人,更有可能产生有意义的结果。我们在10个真实世界的Zigbee系统上进行实验 使用我们的方法,我们已经确定了五种类型的实际攻击,从通信中断到安全密钥泄漏。我们展示了对工业Zigbee产品和系统的概念验证攻击。我们的研究结果揭示了Zigbee的新安全问题,并进一步激发了可能的缓解方法。CCS概念• 安全和隐私→移动和无线安全。关键词安全; Zigbee;语义感知模糊ACM参考格式:显王、双豪。2022年。 在2022年ACM SIGSAC计算机和通信安全会议(CCS '22)的会议记录中允许免费制作本作品的全部或部分的数字或硬拷贝,以供个人或课堂使用,前提是制作或分发副本的目的不是为了盈利或商业利益,并且副本的第一页上有本声明和完整的引用。必须尊重作者以外的其他人拥有的本作品组件的版权。允许使用学分进行摘要以其他方式复制、重新发布、在服务器上发布或重新分发到列表中,需要事先获得特定许可和/或付费。 请求权限请发邮件至permissions@acm.org。CCS©2022版权归所有者/作者所有。授权给ACM的出版权ACM ISBN 978-1-4503-9450-5/22/11。. . 15美元https://doi.org/10.1145/3548606.3560703https://doi.org/10.1145/3548606.35607031介绍物联网(IoT)技术扩展了网络连接,并带来了新级别的便利性和实用性,例如家庭自动化[2,12,34,35,41],远程医疗,护理[4,22,24,29,31],自动驾驶汽车[75,78],以及智能制造和农业[55,79]。最近的一份报告估计,到2025年,部署的物联网设备数量将达到270亿,全球市场价值将达到3万亿美元[37]。物联网的蓬勃发展提高了对新无线通信技术的需求特别是Zigbee,由于其低功耗和安全特性,已经发展成为物联网通信的关键标准,并被许多领先公司采用在连接标准联盟网站上列出了超过4,000种认证产品[21](通常称为Zigbee联盟网站),从传感器和门锁,到链接灯产品,再到智能能源设备。因此,了解和分析Zigbee的安全性是一项迫切的任务.挑战 现有的Zigbee相关安全研究集中在利用密钥泄漏的攻击[60,81]或旧一代设计(例如重放或DoS攻击[16,57],这些攻击在最新的Zigbee协议中不可利用)。Zigbee网络是一个封闭的网络。除了在调试步骤(通常需要人工交互)期间,Zigbee网络将不允许节点加入。它缺乏系统的方法来全面检查Zigbee的安全性,例如在封闭的正常操作期间与网络外部的对手。此外,有效地找到有意义的测试用例并识别Zigbee漏洞是具有挑战性的。Zigbee具有多种数据包格式,尚未得到深入研究。特别是Zigbee协议使用128位AES-CCM* 加密,并生成32位身份验证码(详见第2.2节)。因此,直接探索Zigbee分组空间用于安全性分析是不切实际的。新的解决方案和发现。 与之前的工作不同,我们发现了针对封闭Zigbee网络并绕过安全机制的攻击(第3节中的威胁模型):具体来说,对手在目标Zigbee网络之外,不知道加密密钥,并且不依赖于调试阶段的短利用时间窗口(即,在任意时间攻击为了解决这些问题,我们开发了一个框架(第5节),以灵活地支持地址和网络信息的修改,并生成细粒度的数据包CCS王贤和郝爽2858操纵其他研究人员可以调整我们的框架,进行进一步的Zigbee安全实验。此外,我们开发了语义感知模糊(第6节),以优先考虑具有遵循Zigbee协议的一般结构的格式的数据包,这更有可能产生有意义的结果。我们研究了多个Zigbee协议层之间的语义相关性,并处理加密和不同的数据包结构。 我们的方法有效地探索了Zigbee中的潜在漏洞。我们在10个真实世界的Zigbee系统上进行了实验 使用我们的分析方法,我们已经确定了五种类型的实际攻击,并展示了各种Zigbee系统容易受到类似的攻击。这些Zigbee系统使用不同的芯片组和不同的软件。我们识别的攻击可以从封闭的Zigbee网络外部发起(在正常运行期间的任意时间,而不仅仅是短暂的调试窗口)。在两种类型的攻击中,未经网络授权的对手可以中断正常运行的物联网设备,从而停止预期的功能(例如,当存在闯入时,运动传感器不能发送第三种类型的攻击触发目标设备暴露加密密钥,这允许攻击者控制网络中的所有设备(因为加密密钥被网络中的所有设备使用)。 在后两种类型的攻击中,易受攻击的Zigbee系统将接受并处理无效数据包。我们进一步调查的Zigbee系统中的漏洞的原因,并提供缓解建议。与我们揭示的攻击相比,其他先前已知的干扰攻击[54]是一种典型的威胁,它使用物理信号干扰并破坏无线连接。Zigbee协议已经采用并标准化了针对干扰的有效对策,包括使用信号扩展的DSSS(直接序列扩展频谱)[7,63]和提供动态信道改变的DCA(动态信道分配)[18,20]。在我们的实验中,我们观察到DCA被用于实际设备中,其中Zigbee网络在感测到干扰时将切换到不同的信号信道。 与需要每秒发送数百个数据包的干扰相比,我们识别的攻击每秒发送数十个数据包并找到上层漏洞。另一类典型的Zigbee攻击利用调试阶段[49,51,52],当新设备加入Zigbee网络时。攻击者需要等到Zigbee网络被激活(由良性用户)才能接受加入请求,这将是一个很小的时间窗口来发动攻击。相比之下,我们发现的攻击可以在任意时间危及Zigbee网络和设备(不依赖于调试窗口)。总之,我们的论文做出了以下贡献:我们发现Zigbee相关的攻击可以从目标网络外部发起,并且不需要加密密钥。这些攻击可以在封闭正常操作期间的任意时间利用Zigbee网络,而恶意研究主要针对调试阶段(需要人工交互才能启用,并且时间窗口较小)[49,51,52]或旧一代设计[16,57]。我们开发了一个框架来有效地识别以前未知的Zigbee漏洞。我们设计语义感知的模糊化以生成符合协议的数据包作为候选包,这提供了细粒度操作和更高的机会来达到有意义的极端情况。我们对10个真实世界的Zigbee产品和系统进行了实验,并确定了五种类型的攻击。攻击向量源于网络层,并且可以影响上层Zigbee协议层。 我们分析了问题的原因,并提出了可能的方法来减轻威胁。2背景Zigbee专为低功耗、低带宽需求而设计,可以通过网状无线网络传输数据 介绍了Zigbee网络的体系结构、协议栈、调试过程及其安全机制.2.1Zigbee协议Zigbee网络概述。Zigbee网络中的节点是指物理通信设备。 每个节点都有一个由制造商设置的64位全局唯一MAC地址(也称为扩展地址)。此外,当节点加入Zigbee网络时,16位网络地址(也称为逻辑地址或短地址)被分配给节点。 网络地址被引入以符合节点的相对小的存储和Zigbee分组长度限制,并且旨在仅是唯一的并且用于网络内的通信。Zigbee节点可以分为三种类型,包括控制器、路由器和终端设备。控制器(也称为协调器)管理Zigbee网络,并向打算加入网络的所有其余节点提供许可每个集中式Zigbee网络都有一个控制器,该控制器具有16位个人区域网络标识符(PAN ID)和64位扩展PAN ID(EPID)。两个标识符都可以唯一地定义网络。控制器维护每个节点的MAC地址和其对应的网络地址的路由表。控制器是更新网络信息的唯一节点(如第2.2节所述的网络密钥)。路由器充当控制器和终端设备之间的中间节点。路由器维护路由表并且可以包括终端设备虽然攻击也适用于路由器,但本文没有使用路由器终端设备可以与其父节点(控制器或路由器)通信,但不能中继数据。 终端设备支持与物理世界交互并收集数据的功能。Zigbee协议栈。Zigbee堆栈架构由五层组成,如图1所示。 自下 而上 依次 为 物理 层、 媒 体访 问 控制 ( MAC ) 层 、网 络( NWK ) 层 、 应 用 支 持 子 层 ( APS ) 和 Zigbee 集 群 库(ZCL)。APS和ZCL是属于应用层的组件物理层设置Zigbee网络的物理信道(每个信道5Mb),其是802.15.4中在ISM频带中标识的16个信道之一MAC 层和网络层负责数据传输和路由。Zigbee节点地址(MAC和网络地址)和网络标识符(PAN ID和EPID)被包括并在MAC和网络层中表示为明文格式。APS为应用层的其他组件提供控制服务ZCL定义了由连接标准联盟开发的集群功能,其中每个集群包含···Don’tCCS2859Zigbee集群库(ZCL)应用支持子层网络(NWK)层Zigbee网络PAN ID ABC4EPID 5B:2C:2C:FA:57:75:5D:12控制器设备媒体访问控制(MAC)物理层图1:Zigbee协议栈。条形图案指示加密信息。APS和ZCL属于应用层。MAC和网络层包含MAC和网络地址、PAN ID和EPID的明文信息。MAC地址00:0D:6F:00:0F:3F:AF:BC网络地址00003攻击者MAC地址00:0D:6F:00:0F:3F:AF:BC网络地址0000 PAN IDABC4EPID 5B:2C:2C:FA:57:75:5D:12MAC地址00:22:A3:00:00:1F:05:5D网络地址57C3攻击数据包一组带有属性的命令 这些集群依次指定不同的应用程序配置文件,例如Light Link 1.1 、Home Automa-tion 1.3和Health Care1.0。 Zigbee网络可以选择应用加密机制来保护应用层信息(参见第2.2节)。2.2Zigbee安全安全钥匙。Zigbee协议支持对称加密以实现安全通信。加密算法是高级加密标准(AES)。Zig-bee网络的安全密钥包括网络密钥和链路密钥。在调试过程中分发128位网络密钥,并将其用于加密网络层有效载荷(即,应用层信息)。存在128位工厂编程的链路密钥,其用于加密初始网络密钥传输或可选地加密APS的有效载荷(即,ZCL信息)。Zigbee协议栈中的加密部分如图1中的条纹图案所示。 虽然IEEE 802.15.4 MAC层具有加密选项,但由于密码操作的高功耗和密钥分发的挑战,MAC层加密在实践中没有使用。数据加密和身份验证。 Zigbee使用AES加密和CCM* 操作模式来提供数据传输的真实性和机密性。相应层的AUX报头包含安全级别、帧计数器和源地址(例如,网络层的源MAC地址),其构造在AES加密中使用的随机数以防止重放攻击。 计算消息完整性代码(MIC)并将其附加在加密的有效负载之后,以进行完整性保护(32位长,指定默认安全级别)。 直接暴力破解32位MIC在时间消耗方面是不可行的。在每秒200个数据包的数据包传输速率下,32位MIC的蛮力估计需要248天以上。3新攻击场景下的威胁模型有两个主要因素使得危及Zigbee网络和通信具有挑战性:(1)Zigbee网络具有图2:新攻击场景的威胁模型。Zigbee网络是一个封闭的网络,不允许未经授权的设备进行通信,但基本的网络信息(如设备MAC地址和PAN ID)是未加密的,可以通过无线嗅探轻松获知。攻击数据包由外部冒充者生成和发送,该冒充者假装使用控制器的MAC地址(MAC),PAN ID)(PAN ID)。目标设备将处理攻击数据包(ICMP)并导致异常状态。封闭的网络性质,其配备有专用的调试过程以将新设备添加到网络中调试过程通常需要用户 按下控制器上的按钮)。控制器和新设备将在调试阶段交换EPID、PAN ID、MAC地址并建立加密密钥。除了调试,Zigbee网络是关闭的,控制器将不处理加入请求。来自未授权设备的分组被拒绝;(2)Zigbee协议使用AES算法的加密和CCM* 模式的认证来保护应用层(即,网络层的有效载荷如果不知道正确的安全密钥(在调试期间交换),攻击者就无法渗透Zigbee系统。因此,现有的攻击场景集中在利用调试阶段[1,51,52,61]或侧渠道与安全密钥暴露[26,32,57,60,81]。然而,我们发现Zigbee攻击可以绕过这两个约束。 图2显示了我们的威胁模型和示例攻击场景。简化的Zigbee网络有两个节点:一个Zigbee控制器和一个设备通信和传输数据。每个节点都有一个64位MAC地址和一个16位网络地址(在调试过程中分配)。Zigbee网络由控制器指定的16位PAN ID和64位EPID标识。图2中的攻击设备不在目标Zigbee网络中(即,未授权),并且不知道12用链接密钥用网络密钥网络地址NWK AUX接头:源MAC地址PAN IDEPID网络/MAC地址CCS王贤和郝爽2860生成与模糊从MAC层生成数据包NWK层起毛APS层起毛ZCL层起毛图3:我们的分析框架概述网络密钥唯一的要求是,对手通过无线电链路在数据包中嗅探公开可用的Zigbee网络信息,包括设备的MAC地址和网络地址,以及网络PANID和EPID。如图1所示,此信息在MAC和网络层的报头中未加密。攻击设备将冒充已经在目标Zigbee网络中的节点。 由于控制器在Zigbee网络中具有最多的功能,因此我们专注于模仿控制器的攻击。请注意,以下攻击步骤可以在Zigbee网络的封闭正常操作期间(而不是在调试阶段)的任意时间启动攻击步骤 作为在IEEE 802.15.4的MAC层上进行通信的先决条件,攻击设备需要覆盖其制造商产生的物理地址并假装是Zigbee网络中的控制器。攻击者可以通过嗅探Zigbee数据包轻松获得控制器的MAC地址,因为MAC地址作为明文包含在MAC和网络层的报头中(如图1所示)。 在图2的示例中,攻击设备将MAC地址设置为00:0D:6F:00:0F:3F:AF:BC,与控制器的地址相同。攻击步骤攻击设备还模仿网络标识符。控制器为了获得网络EPID,对手可以广播信标请求。然后,控制器将在信标响应中发回EPID(5B:2C:2C:FA:57:75:5D:12)(同时宣布网络关闭,不接受加入请求)。接下来,对手选择一个目标设备(或多个设备)作为攻击目标。类似地,目标设备的MAC和网络地址(图2的示例中的00:22:A3:00:00:1F:05:5D和57C3)可以容易地从数据包嗅探获得。通过设置匹配的网络信息,攻击设备可以伪装成控制器向目标设备发送数据包攻击步骤 攻击设备构造数据包并将其注入Zigbee网络。攻击者的目标是使目标设备处理伪造的数据包,并最终处于功能失调的状态。虽然常规Zigbee通信在网络层有效载荷上使用加密,但数据包使用特定的控制字段和命令精心编制的文件可能会导致漏洞。第7节显示了我们已经确定的五种详细攻击。 这些攻击可以迫使Zigbee设备断开网络连接或泄露加密密钥。攻击依赖于最低限度的条件。 对手不在目标Zigbee网络内,不需要知道加密密钥,并且不依赖于调试阶段。所有需要的信息都可以通过无线流量嗅探(例如,以获得MAC地址和PANID)或主动探测(例如,获得EPID)。 威胁模型与现实世界中的非特权对手的能力兼容。4我们的分析方法概述我们开发了一个框架来系统地分析Zigbee协议,并识别对手可以利用的弱点,上述袭击。一般的想法是模拟一个攻击设备,枚举潜在的问题控制字段和命令,以生成用于评估的数据包,并跟踪Zigbee系统中的缺陷状态。开发平台。 我们选择构建基于德州仪器CC2538评估模块的框架,该评估模块为Zigbee开发提供可编程功能。CC2538模块支持最新版本的Zigbee标准Zigbee 3.0。该模块将Zigbee协议实现为Z-stack(C)。 更多实验设置详情见第7节。我们的框架开发为Zig- bee网络提供了灵活的分析,设计包括两个部分:设置操作和数据包模糊。图3展示了我们的框架设计的概述。灵活的设置操作(第5节)。 为了支持灵活的配置和数据包传输,我们在两个阶段操纵框架模块。 通电阶段(第5.1节):当框架模块通电时,我们修改加载过程并覆盖框架模块的MAC地址。我们可以为框架模块设置任意MAC地址,以便与Zigbee网络进行交互网络设置阶段(第5.2节):当无线电天线被激活时,我们在框架模块中操纵网络信息。我们修改网络形成过程来分配我们选择的PAN ID和EPID 在路由表中,我们直接插入目的节点的信息进行实验。设置操纵网络设置阶段分组MAC地址PAN ID操作EPID操作路由插入Don’tCCS2861我们的框架可以灵活地配置设备和网络设置,其他研究人员可以对其进行调整,以进行各种各样的Zigbee物联网实验,例如,在应用程序开发过程中进行测试管理 在本文中,我们使用我们的框架来模拟攻击者的能力(即,在目标网络之外并且没有经历试运行阶段)并且生成用于模糊化的分组。我们用控制器节点的MAC地址配置框架模块,分配PANID和EPID作为目标网络,并插入到目标设备的路由路径。第5节描述了框架开发的更多细节。语义感知数据包模糊(第6节)。 目标是识别可能导致Zigbee系统陷入异常状态(如断开连接)的数据包。我们生成的数据包的基础上从MAC层的位操作低级操作实现了对分组组件的精细粒度控制。为了提高分析速度,我们开发了语义感知模糊,这导致数据包更有可能被目的地节点处理,并探索有意义的角落情况。 我们模糊各种字段和命令,以找到导致攻击向量的数据包。由于常规Zigbee网络使用AES-CCM* 保护(在第2.2节中描述),因此我们还致力于绕过加密机制。 我们在第6节详细阐述了语义感知模糊。从MAC层构造和模糊分组 接下来,我们描述我们的设计选择组装数据包的MAC层。在每一层上(例如,MAC层、网络层或APS层)有独立的功能来生成数据报。如图1所示,可以对APS层(网络层的有效载荷)或ZCL层(APS层的有效载荷)进行加密。例如,要处理加密的APS层,我们需要操作网络层。然而,网络层功能提供有限的能力来修改其自身的内容。为了解决这个问题,我们改为使用MAC层功能来直接编辑MAC有效载荷,这为网络层和其他上层提供了完整的比特级操作能力。从MAC层构造数据包允许对数据包细节进行细粒度控制以发现漏洞。5柔性分析框架的设计在本节中,我们将详细介绍我们的分析框架。首先,我们解释如何在上电阶段修改MAC地址然后,我们说明了网络信息的配置,以允许框架模块发送伪造的数据包到目标Zigbee网络。5.1上电阶段的操作作为设置的第一阶段,我们需要能够任意操纵框架模块的MAC地址。原始MAC地址由制造商指定,并且每次启动设备时都会自动加载我们在实现中添加代码,以便在从其中一个源(包括非易失性存储器、闪存或随机生成)获取MAC地址的步骤之后,将MAC地址替换为不同的值我们指定的新MAC地址将在引导时被加载到框架模块中以用于通信。5.2网络设置阶段的操作一个更具挑战性的任务是建立从框架模块(作为来自网络外部的对手)到目标网络设备的网络连接。Zigbee网络是一个封闭的网络。在正常操作期间,网络不接受关联请求,并且授权节点在网络中具有其角色(例如控制器、路由器或终端设备)。但是,新设备不被网络识别,不能发挥任何作用。我们的方法的总体思想是,我们使框架模块(作为控制器)创建一个与目标网络具有相同网络标识符的单独网络,而不是尝试直接加入目标Zigbee网络,并直接插入规则以路由到目标设备(目标网络中的设备)。因此,当框架模块将数据包发送到“自己”的设备时,它实际上是传输到目标网络中的设备。我们利用Zigbee网络形成过程来执行网络设置操作。网络形成需要控制器执行三个步骤:(1)启用无线电天线,(2)设置PAN ID和EPID,以及(3)打开以接受关联请求。 框架模块被配置为(2)生成目标网络PAN ID和EPID以及(3)添加目标设备的路由路径而无需调试。请注意,到目前为止,该模块为了避免原始控制器干扰网络形成,在目标Zigbee网络的传输范围之外的地方进行设置(在如第3节中嗅探所需的信息之后)。 下面我们描述操作细节。PAN ID操作。16位PAN ID包含在每个Zigbee数据包中(在MAC层报头中),以识别相关网络。我们的目标是修改框架模块创建的新Zigbee网络的PANID,并使其与目标网络的PAN ID相同。在该实现中,PAN ID在配置文件中指定目标网络的PANID可以通过无线流量嗅探轻松获得,因为它是未加密传输的。如果我们在配置文件中放置相同的值,框架模块将在构建新网络时将其用作PAN ID。EPID操作。64位EPID是唯一网络标识符的长版本(与16位PANID对应)。 Zigbee主要在常规通信中使用PAN ID,而EPID用于调试或重新加入过程(在信标数据包中唯一标识Zigbee网络)。如第3节所述,攻击者可以通过简单地广播信标请求来获取附近Zigbee网络的EPID 在网络形成过程中,我们通过设置特定值将EPID分配给新创建的网络。路由插入。虽然框架模块已经生成了一个具有确切标识符的新网络作为目标网络,但该网络还不包含任何其他节点。我们的目标是诱导框架模块相信目标设备与这个新网络相关联,并等待通信。在CCS王贤和郝爽28621staticvoidzclGenericApp_HandleKeys(字节移位,2字节键)3.四......5如果(按键HAL_KEY_SW_1)//如果按下按钮1&6.7uint16 DestShortAddr=0x57C3;8uint8 DestExtAddr[Z_EXTADDR_LEN]={90x00、0x22、0xA3、0x00、100x00,0x1F,0x05,0x5D};11Dest= AssocAddNew(DestShortAddr,12DestExtAddr,13CHILD_RFD_RX_IDLE);14}十五...16}清单1:我们用来添加关于网络地址为0x57C3、MAC地址为00:22:A3:00:00:1F:05:5D的节点(目的地)的路由信息的示例代码。功能-tionzclGenericApp_HandleKeys()处理由按下按钮触发的事件。如果我们按下按钮1,代码将被执行。在网络形成结束时,框架模块将处于开放模式几百秒,以接受新节点加入。然而,设备没有主动发送关联请求的动机(因为它与原始网络处于稳定的连接状态)。我们通过函数AssocAddNew(A,B,C)找到一个替代解决方案。该函数将新节点的网络地址(A)和MAC地址(B)与两个节点之间的关系(C)进行映射。我们框架模块中的关系类型是父( 控 制 器 ) 。模 块 启 动 后 , 我 们 按 下 函 数zclGenericApp_HandleKeys()中的按钮1(清单1中的第5行)来执行路由插入。框架模块将路由表中目标设备(图2中)的网络地址0x57C3和MAC地址00:22:A3:00:00:1F:05:5D映射为关联节点,无需调试。该模块不知道目标网络的网络密钥,这与我们在第3节中提出的威胁模型相对应。6语义感知的ZIGBEE包模糊化本节介绍我们如何使用框架并生成候选数据包来查找Zigbee中的漏洞。首先,我们系统地探索Zigbee数据包的语义,以分析加密和各种数据包结构。其次,我们模糊字段和命令,以识别可能导致Zigbee网络处于异常状态的数据包。6.1Zigbee分组结构的语义研究一个稻草人的方法是把随机的内容在gener-网络层分组具有32比特1作为随机模糊的探索空间。我们使用的天线的最大数据包传输速率小于每秒200个数据包 暴力破解将花费超过248天的时间来检查长度最短的NWK数据包。我们的目标是探索Zigbee数据包不仅在NWK层,而且在APS和ZCL层。为了加快分析速度,我们生成符合协议的数据包并分析数据包中的详细字段. 我们面临两个挑战:(1)Zigbee使用加密进行数据传输,(2)根据不同的报头值,数据包具有不同的长度和格式。管理加密和身份验证。如第2.2节所述,Zigbee使用128位AES-CCM* 加密并生成32位MIC,这可以防止重放攻击或明文暴力攻击(即, 枚举密文以命中有意义的纯文本)。在我们的威胁模型中,对手不知道目标Zigbee网络的网络密钥如果没有正确的密钥,数据包就不能被其他节点正确地接受和读取我们检查Zigbee分组中的未加密字段(例如, MAC或网络报头),并找到传输可导致目标节点处理的明文的方法。 为了使层的有效载荷加密,在该层上存在三个与安全相关的字段:安全使能位(在层报头的帧控制字段中)、安全AUX报头(用于构造随机数)和MIC(附加在有效载荷之后用于完整性检查)。图4展示了网络层上的字段位置。其中,安全使能位起着决定性的作用。如果安全启用位被设置为0,则层有效载荷将不部署任何安全机制。因此,该层将不包括AUX报头(由于没有数据加密)或MIC。该设置绕过安全机制,并且可以接收伪造的未加密消息并影响目标设备。如果安全使能位被设置为1,则有效载荷将与附加在有效载荷之后的MIC一起被加密我们生成的数据包没有网络密钥的先验知识是无效的数据包,但如果系统有实现缺陷,它们可能会造成负面影响。 Zigbee 128位AES-CCM* 加密使用“计数器模式”,允许生成任意长度的加密输出(输出可以短于128位)。在“计数器模式”中,128位AES加密增量随机数(不直接加密明文),然后与明文进行XOR。与原始明文具有相同长度的密文足以用于解密,例如,一个字节的数据将被加密并作为一个字节的密文传输。在第6.2节中,我们开发了模糊和探索加密的NWK有效载荷和MIC的策略。分析各种数据包格式。除了加密之外,Zigbee还具有多种数据包格式,这使得现有的协议模糊方法难以实现[27,68,73]。首先,报头值导致不同的报头长度,从而改变分组结构。 Zigbee使用这种动态策略来使分组尽可能短。例如,上面提到的安全使能位分组并盲目测试是否会导致Zigbee网络故障然而,这样的方法具有较差的效率,因为许多生成的分组具有破坏的格式并且将被目标节点直接拒绝。例如,即使是最短的1报头中的两个字节的帧控制字段、一个字节的NWK命令和一个字节的命令属性。报头还包含两个字节的源网络地址和两个字节的目的网络地址,我们不将其计入探索空间。Don’tCCS2863××NWKAUX报头报头加密NWK有效载荷MIC安全使能位图4:网络层的数据包结构(安全相关信息).NWK层上的两位帧类型确定有效载荷是对应于NWK命令还是对应于较高的APS层,并且IEEE地址包括字段的设置将在报头中添加八字节MAC地址(除了短网络地址之外)。因此,Zigbee分组结构基于报头值而显著变化。第二,在有效载荷中,命令和属性参数是相关的,并且需要不同的长度。例如,属性ID具有不同的数据类型以实现各种功能。 我们需要恢复特定的命令和相关的数据结构,以便在改变数据时做出有意义的选择。为了应对这些挑战,我们通过以下步骤分析Zigbee分组我们通过发送数据包并检查捕获的Zigbee流量的格式更改来主动枚举每个字段。 我们为Zigbee分析设计了两个新的步骤:一个是确定头字段以找到模糊位置,另一个是检索命令和参数的模糊范围(用于NWK,APS和ZCL层)。首先,每个层报头具有帧控制字段(NWK层中的两个字节、APS层中的一个字节和ZCL层中的一个字节),其决定其它报头字段以及分组是否包含上层。 我们逐位枚举帧控制值以找到相应的结构变化,然后在模糊上层时构建符合协议的下层。其次,我们的模糊集中在不同上层的集群ID,命令ID和属性ID,因为它们决定了数据包的功能。这些字段是相互关联的,并且跨不同的层。例如,不同的命令ID需要不同长度的属性ID,并且APS报头中的集群ID确定ZCL层命令ID(在不同的层)。我们测试簇、命令和属性的最大值和最小值,以找到映射范围和有意义的模糊值。我们每层的模糊细节在第6.2节中详细说明。6.2模糊细节与异常定位我们模糊的字段的数据包范围从网络(NWK)层,到APS,到ZCL层。 我们考虑不同层之间的语义和关系。 为了设置分组细节,我们构造每个层的报头和有效载荷(基于MAC层操作),并利用Zigbee命令和属性的结构来确保所生成的分组具有协议兼容的格式。网络(NWK)层模糊。我们首先配置网络层报头和有效载荷。特别是,网络报头中的帧控制字节具有安全使能位,可以设置为0或1,如第6.1节所述。网络头可以使用三个表1:我们定义的潜在异常事件圆圈中的指数表示我们最终在模糊实验中发现的异常。地址设置类型(源和目的地网络地址、源和目的地网络地址和源MAC地址、源和目的地网络地址和源和目的地MAC地址)和两个安全位设置(0和1)。Zigbee数据包的最大长度应小于标准[28]中规定的128字节。网络层数据包包括该层中的命令ID。 每个网络命令包都有自己的属性要模糊化。有13个有效的网络命令。每个命令都有一个属性(一个字节)。 在网络层,如果安全使能位设置为0,则总共有3,328(= 13256)个组合。如果安全使能位设置为1,则网络有效载荷被加密,并且MIC被添加用于完整性检查。 在比特级别上,我们可以将随机数据放入数据包中进行探索。然而,暴力破解整个空间是不可行的 如第6.1节所述,Zigbee加密的“计数器模式”保留了内容长度,因此我们将利用Zigbee命令的长度结构来优先考虑可能导致有意义结果的情况。 所有定义的Network命令都是一个字节,我们最多再添加一个字节作为属性。由于我们没有网络密钥,我们设置随机MIC值(以满足MIC长度),并仅使用可能命令的长度模糊有效载荷为了检查绕过完整性检查的缺陷,我们模糊了8位和16位的加密有效载荷长度在这一类别中有65,792个组合(28和216的总和)。 NWK报头有3个未加密的位,可以针对不同的数据包设置进行模糊处理。总模糊数为526,336(=65792 23),我们在安全启用位设置为1的情况下探索。#①②③456事件超过10分钟信标请求信标请求10分钟或更长时间未加密的数据包隐含异常正常通信中断断开连接和重新连接连续失败的重新连接尝试信息泄露可能是暴力破解密码-分组文本⑦8⑨网络密钥传输--明文形式的网络密钥加密已知密钥高RSSI(接收到的电池电量增加,数据包中的信号强度指标响应数据包去通信滞后时间超过3秒-接收日期1011睡眠模式数据包执行设备休眠-ing网络中的中继列表-路由路径更改工作标头已更改CCS王贤和郝爽2864× ××设备作用Vendor-A报警系统供应商-B集成系统供应商-C照明系统供应商-D锁系统Vendor-E检漏系统Vendor-F温控系统Vendor-G电子插头系统Vendor-H空气监测系统Vendor-I门传感器系统Vendor-J原型系统目标目标目标目标可编程模块CC2538分组生成器USB适配器CC2531嗅探器表2:我们实验中使用的设备APS层起毛。 对于上层,我们继续利用我们的框架模块在比特级别上枚举APS和ZCL字段,并使用数据包嗅探工具来识别有意义的值。 我们在生成的数据包中引入有可能触发异常状态的字段进行模糊处理。在APS报头中,配置文件ID(如家庭自动化(0x0104))表示特定的应用程序。每个配置文件对应于数据包中用作命令容器(在ZCL中定义)的一组集群 群集由APS标头中的群集ID指定,例如电源配置(0x0001)。对于家庭自动化配置文件,有113个有效群集。源和目的端点字段用于多路复用,我们分配默认值1.APS层数据包的模糊参数与ZCL层数据包的模糊参数存在差异。APS层数据包中有命令ID 因此,APS层的模糊参数是命令ID及其相关属性。有16个有效的APS命令。由于APS命令大多与安全信息或网络的路由地址相关,因此我们没有模糊APS命令中的属性我们只是用目标设备和控制器地址固定地址参数,并将所有安全信息设置为0(我们不知道安全信息)。此外,APS层数据包中的APS头中没有集群ID、配置文件ID和端点,因此我们不需要设置或模糊这些参数。在APS层上,只有16种组合。ZCL层模糊。ZCL报头具有在接收设备上引起动作或生成响应的命令ID。总共有22个命令ID。 示例命令包括写入、读取或配置。ZCL负载包含属性和数据类型。属性ID,例如,硬件版本(0x0003)表示命令的数据有21个定义的属性值。 每个属性将与数据类型相关,例如,有符号16位整数。ZCL层上定义了总共56种数据类型对于固定的配置文件ID,我们将通过集群ID、命令ID、属性ID和数据类型枚举不同的值来生成候选数据包,这导致2,923,536个组合(=113 22 21 56)。定位攻击数据包。 结合NWK、APS和ZCL层,我们有3,453,216个组合要模糊。为了有效地定位特定的攻击数据包,可以影响Zigbee系统,我们开发了一种二分搜索方法。首先,我们将所有数据包分成更小的组(例如,120,000/组),以便于实验设置。第二,对于每个分组中的数据包,我们重复发送它们,以检查是否对评估系统产生负面影响(例如断开连接)。 如果我们观察到异常,则表明存在潜在的攻击数据包。 我们将序列分成两半,分别对前半序列和后半序列进行测试。通过迭代过程,我们可以缩小包含攻击包的序列。 在评估候选数据包序列时,我们会重复发送相同的序列,因此特定数据包有足够的机会影响目标系统。第三,当序列大小减少到10左右时,我们改为逐个评估单个数据包。 对于每个候选包,我们分析了发送固定数量的数据包可能导致攻击的最小数量。识别异常。 我们监控目标Zigbee网络的流量,以检查模糊是否会导致异常状态。我们在表1中定义了可能的异常事件列表。 第一列显示指数,圈出的指数表示我们最终在实验中发现的异常(在第7.2节中,我们通过指数指定观察到的异常事件)。第二列描述了我们期望观察到的异常事件最后一列进一步解释了攻击结果。例如,如果我们观察到Zigbee流量中的信标请求(异常②),则表明攻击导致设备与网络断开连接并尝试重新加入(使用信标请求)。我们承认我们的异常定义无法捕捉所有潜在的漏洞。然而,通过我们的模糊框架,供应商和开发人员可以扩展有关其产品的定义异常事件,以找到更具体的漏洞。7实验和发现本节描述我们在真实Zigbee系统中进行的实验以及检查传输数据包的结果。首先,我们介绍我们用于分析的实验设置。然后,我们详细介绍了五种攻击,我们发现通过使用模糊测试和生成协议兼容的数据包。7.1实验装置在我们的实验中,我们使用了10种设备来寻找潜在的漏洞。为了避免有针对性的攻击,我们在报纸上匿名提供特定于供应商的信息表2列出了我们实验中使用的Zigbee设备和系统这些系统使用各种芯片组和软件。 我们对模块CC2538 [39]进行了编程,以生成和发送Zigbee数据包。 我们还使用USB加密狗CC2531 [38]来嗅探Zigbee数据包,并在Ubiqua协议分析仪中分析数据包[69]。 在概念验证攻击中,我们将传输速率设置为100 ms(即,每秒10个数据包我们测试了物理距离来发动攻击。 通过增强的天线,攻击可以在60米左右的距离内成功。7.2已识别的攻击和分析我们确定了39个参数设置,导致五个攻击类别。我们的模糊处理需要57 -12
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 利用迪杰斯特拉算法的全国交通咨询系统设计与实现
- 全国交通咨询系统C++实现源码解析
- DFT与FFT应用:信号频谱分析实验
- MATLAB图论算法实现:最小费用最大流
- MATLAB常用命令完全指南
- 共创智慧灯杆数据运营公司——抢占5G市场
- 中山农情统计分析系统项目实施与管理策略
- XX省中小学智慧校园建设实施方案
- 中山农情统计分析系统项目实施方案
- MATLAB函数详解:从Text到Size的实用指南
- 考虑速度与加速度限制的工业机器人轨迹规划与实时补偿算法
- Matlab进行统计回归分析:从单因素到双因素方差分析
- 智慧灯杆数据运营公司策划书:抢占5G市场,打造智慧城市新载体
- Photoshop基础与色彩知识:信息时代的PS认证考试全攻略
- Photoshop技能测试:核心概念与操作
- Photoshop试题与答案详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功