欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种基于802.11ac MAC层指纹的设备识别方法独创技术0字

一种基于802.11ac MAC层指纹的设备识别方法

2021-03-21 05:03:56

附图说明" src="/d/file/p/2020/11-20/cbebc9cf69b6b61fdb59b87bf99b7c1e.gif" />

一种基于802.11ac MAC层指纹的设备识别方法

  技术领域

  本发明涉及一种基于802.11ac MAC层指纹的设备识别方法,属于设备识别技术领域

  背景技术

  物联网节点用于感知周围环境的数据。这些环境数据往往需要通过无线网络上传到云服务器进行进一步的数据处理。由于Wi-Fi有着传输速率较高,部署成本低廉的特点,因此它成为物联网节点的主要通信协议之一。根据Wi-Fi相关市场组织的报告,2019年Wi-Fi芯片在全球市场上的总价值将超过22,000美元。Wi-Fi网络在成本和速度方面都具有如此巨大的优势,以至于被广泛部署在各个领域。

  然而,从安全性的角度来看,Wi-Fi的普及会导致很多问题。由于Wi-Fi固有的开放性,包括恶意攻击者在内的任何人都可以与无线接入点(AP)进行连接。一旦攻击者可以破坏AP,他们可以注入和嗅探合法用户的流量。

  对于接入设备识别是确保AP安全非常重要的一环,现有技术中关于MAC层指纹的设备识别的方法存在以下一些问题:

  首先,绝大多数的工作只关注了802.11b/g/n,没有考虑到802.11ac的VHT信息(Very High Throughout)。

  其次,无法解决802.11ac Wi-Fi设备字段随机变化的问题。802.11ac Wi-Fi设备中的变化字段大部分代表该设备的能力,例如支持的信息流数量,接收、发送端支持速率等等,无法使用匹配的方法进行识别。

  最后,忽略了如SSID和厂商的信息不能作为特征,容易就被攻击者修改的问题。

  发明内容

  目的:针对目前802.11ac帧与802.11b/g/n协议存在的差异,为了解决802.11ac探测请求帧字段值随机变化,给生成设备指纹带来的问题,本发明提供一种基于802.11acMAC层指纹的设备识别方法,最终实现对802.11ac的设备识别。

  技术方案:为解决上述技术问题,本发明采用的技术方案为:

  一种基于802.11ac MAC层指纹的设备识别方法,包括如下步骤:

  获取802.11ac探测请求帧,使用流量分析技术解析802.11ac探测请求帧中信息元素的有效字段,并对会被设备拥有者修改的有效字段内容进行去除,得到处理过的探测请求帧;

  对处理过的探测请求帧进行补全,生成指纹,对指纹进行消除量纲和归一化的处理得到处理后的指纹,将处理后的指纹作为神经网络的输入,将处理后的指纹进行设备类型标注,将设备类型对应的序号作为标签,并将标签进行编码作为神经网络的输出,对设备识别神经网络进行训练;

  将待识别设备处理后的指纹输入训练后的设备识别神经网络,得到待识别设备的设备类型。

  作为优选方案,所述得到处理过的探测请求帧,具体步骤如下:

  S101、利用抓包工具获取智能无线设备的探测请求帧,以pcap文件格式进行存储;

  S102、对pcap文件中的每条探测请求帧中的校验序列有效性进行检查,筛选出有效的探测请求帧;

  S103、利用802.11解析库对源MAC地址、目的MAC地址、厂家、SSID在有效的探测请求帧的偏移位置进行定位,并得到源MAC地址、目的MAC地址、厂家、SSID字段的长度,将源MAC地址、目的MAC地址、厂家、SSID字段赋值为0。

  作为优选方案,所述设备类型定义规则为相同的操作系统且相同的处理器芯片型号对应的智能无线设备为同一种设备类型,不同的操作系统或者不同的处理器芯片类型的智能无线设备为不同的设备类型。

  作为优选方案,所述处理过的探测请求帧用0到剩余长度进行补全,得到指纹。

  作为优选方案,所述指纹进行消除量纲和归一化的处理,具体步骤如下:

  对指纹中每4bit长度的内容进行十六进制的转化得到Fi,并且对Fi进行归一化操作:

  

  得到处理后的指纹的特征向量其中n是原指纹特征向量的有效个数。

  作为优选方案,所述设备识别神经网络采用多层感知机,层数设置为5,每层神经元的个数为128个,dropout的参数设为0.3。

  作为优选方案,所述标签采用one-hot进行编码。

  作为优选方案,所述抓包工具采用tcpdump或者wireshark。

  作为优选方案,所述802.11解析库采用dpkt或者scapy。

  有益效果:本发明提供的一种基于802.11ac MAC层指纹的设备识别方法,与现有技术相比,本发明具有以下有益效果:

  (1)对探测请求帧数据中易被篡改的字段进行去除,减小了被攻击者从应用上层攻击的可能性。

  (2)利用深度学习的方法克服了字段值随机变化的问题,完成了特征的自动提取,实现了对设备的识别。

  附图说明

  图1为本发明设备识别方法的场景示意图。

  图2为本发明设备识别方法的分类模型训练图。

  图3为本发明设备识别方法的识别流程图。

  具体实施方式

  下面结合具体实施例对本发明作更进一步的说明。

  如图1所示,基于802.11ac协议组建的无线网络,各类智能无线设备通过设置在无线接入点(AP)内的监控节点模块,对智能无线设备的探测请求帧进行采集,无线接入点可以本地对探测请求帧进行分析与识别,或者发送至后台的设备识别服务器进行分析与识别。设备识别针对的是设备类型的识别,相同的操作系统且相同的处理器芯片型号对应的智能无线设备为同一种设备类型,不同的操作系统或者不同的处理器芯片类型的智能无线设备为不同的设备类型。

  监控节点模块在采集探测请求帧时,可以采用802.11ac设备常用的信道,如信道36、40、44、48、52、56、60等同时采集,提高探测请求帧的收集速率。

  如图2所示,一种基于802.11ac MAC指纹的设备识别方法,包括以下步骤:

  S1、获取802.11ac探测请求帧,使用流量分析技术解析802.11ac探测请求帧中信息元素的有效字段,并对会被设备拥有者修改的有效字段内容进行去除,得到处理过的探测请求帧。具体操作流程如下:

  S101、利用开源的抓包工具如tcpdump或者wireshark,并在抓包工具过滤器的选项中输入参数type mgt subtype、probe-req,获取智能无线设备的探测请求帧,以pcap文件格式进行存储;

  S102、对pcap文件中的每条探测请求帧中的校验序列有效性进行检查,筛选出有效的探测请求帧,确保每条探测请求帧在物理层面上成功解调。

  S103、利用开源的802.11解析库,如dpkt、scapy对源MAC地址、目的MAC地址、厂家、SSID这些字段在探测请求帧的偏移位置进行定位,同时得到每个字段的长度。源MAC地址、目的MAC地址在探测请求帧的偏移位置和长度固定;厂家和SSID信息需要按照格式(信息元素类型-长度-字段内容)进行解析,其中厂家字段一般情况下有多个,且分布在探测请求帧信息元素部分中的任意位置,因此需要遍历信息元素内的所有字段进行筛选。利用提取到所有易被篡改字段的偏移量和长度后,将这些字段赋值0,消除它们对设备识别所产生的影响。

  如图2所示,S2、对S1中处理过的探测请求帧进行补全,生成指纹,对指纹进行消除量纲和归一化的处理得到处理后的指纹,将处理后的指纹作为神经网络的输入。将处理后的指纹进行设备类型标注,将设备类型对应的序号作为标签,并将标签进行one-hot编码作为神经网络的输出,对设备识别神经网络进行训练。

  根据实际测试,探测请求帧的长度不会超过200个字节长度。为了配合神经网络的输入方式,设置指纹的长度为200个字节,不足200个字节的探测请求帧用0进行补全。为了消除指纹中的量纲,对每个4bit长度的内容进行十六进制的转化得到Fi,并且对Fi进行归一化操作:

  

  最终形成400维的特征向量其中n是原指纹特征向量的有效个数。

  神经网络采用了轻量级的多层感知机作为多分类模型,取得分类性能和计算代价的平衡。多层感知机包括输入输出层的层数设置为5,每层神经元的个数为128个,dropout的参数设为0.3。

  实施例1:

  如图3所示,设备识别神经网络通过MAC层指纹识别设备,包括:模型训练阶段和设备识别阶段。

  模型训练阶段包括:训练报文获取、训练数据预处理和训练指纹生成、神经网络模型训练,生成智能无线设备的分类模型。

  设备识别阶段包括:实测报文获取,实测数据预处理和实测指纹生成、智能设备识别,实现对智能无线设备的在线识别。

  实施例2:

  设备识别阶段将采集的样本按照6:2:2的比例划分为训练集、验证集和测试集,训练集将样本分批进行训练,每批次样本数量为2048个,同时利用验证集进行测试,防止模型过拟合。最后利用测试集进行设备分类,验证分类模型的实际效果,实际测试设备类型如表1所示。

  表1.设备类型列表

  

  

  以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

《一种基于802.11ac MAC层指纹的设备识别方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)