CN113328985B - 一种被动物联网设备识别方法、系统、介质及设备 - Google Patents

一种被动物联网设备识别方法、系统、介质及设备 Download PDF

Info

Publication number
CN113328985B
CN113328985B CN202110373243.XA CN202110373243A CN113328985B CN 113328985 B CN113328985 B CN 113328985B CN 202110373243 A CN202110373243 A CN 202110373243A CN 113328985 B CN113328985 B CN 113328985B
Authority
CN
China
Prior art keywords
internet
data
things
equipment
identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110373243.XA
Other languages
English (en)
Other versions
CN113328985A (zh
Inventor
范建存
杨涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN202110373243.XA priority Critical patent/CN113328985B/zh
Publication of CN113328985A publication Critical patent/CN113328985A/zh
Application granted granted Critical
Publication of CN113328985B publication Critical patent/CN113328985B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/259Fusion by voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种被动物联网设备识别方法、系统、介质及设备,首先基于智能网络环境,用wireshark对其中网络设备进行监控,捕捉其中的流量,对其特征维度进行优化,去除无用流量包和功能性的流量包;然后将真实流量中数据解析生成测试集数据;其次特征进行处理,对缺失值进行统一处理;再次,运用C4.5决策树算法对数据进行验证,结果显示识别准确率大大提升。

Description

一种被动物联网设备识别方法、系统、介质及设备
技术领域
本发明属于计算机技术领域,具体涉及一种被动物联网设备识别方法、系统、介质及设备。
背景技术
如今,越来越多的智能设备和智能传感器闯进了人们的生活,通过IOT(物联网)技术进行了链接,不断的帮助人们管理和改进自己的生活。事物的出现都有两面性,它的出现不单单是带来了便利,也带来了一些挑战。因为IOT是一种新兴事物,其中出现了网络安全问题,这些问题包括了设备标示,身份验证和隐私等。因为IOT是新兴事物,厂商们对其安全还没有一定的重视,比如在其中的一些管理方面使用弱口令甚至一些硬编码的存在,导致了黑客很容易进行攻击。还有物联网设备大多都和人们的生活息息相关,其产生的数据是极其隐私的,包含了人们生活中的重要数据,如果被人恶意截取导致泄漏,会造成更大的人们财产损失。2017年 7月破坏了赌场网络的鱼缸传感器,以及自身对大学校园网络的攻击自动售货机,在这两种情况下,网络分段都可能潜在的阻止攻击,而更好的可见性将允许快速隔离以限制对企业网络的网络攻击的破坏。
随着物联网设备的迅速增加和网络的复杂性和规模的增长,不能再利用传统的手段去进行管理,需要一定的手段来帮助网络管理员来管理物联网设备。通过精心设计的标识和认证机制,可以解决很多的网络安全问题。可以使网络管理员可以管理和实施单个设备的管理,也可以对整个物联网中的设备进行集中管理操作,确保正确的设备有正确的权限连接到正确的网络环境中。将物联网设备进行身份验证可以将其加入白名单中,对侵入的物联网设备进行设备识别可以迅速对身份进行识别,及时通知管理员有未知设备联入其智能环境中。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种被动物联网设备识别方法、系统、介质及设备,采用被动方式识别物联网设备,解决了主动检测会造成物联网设备崩溃,计算能力低下,无法向外提供服务的问题;抓取真实流量,根据其需求的不同,对其网络协议进行特征提取,提高识别效率;运用C4.5算法,提高识别准确率和速率。
本发明采用以下技术方案:
一种被动物联网设备识别方法,,包括以下步骤:
S1、建立智能物联网设备环境;
S2、解析步骤S1建立的智能物联网设备环境中物联网设备发送的数据包,利用熵的形式以及设备特性和协议特性筛选相关特征,剔除无目的数据包,抛弃虚假数据包和噪音数据包,保留有效数据包作为后续处理用数据集;
S3、采集智能物联网设备环境中各种物联网设备发送和接收的数据包以及截取路由设备产生的数据包,根据设备特性和协议特性对流量包的协议特征对步骤S2生成的数据集进行处理,利用wireshark扫描pcap包,对不同设备使用的网络协议进行划分,利用具有设备特征的网络协议作为区分手段,将划分的网络协议参数作为继续识别的特征维度,构造整个物联网设备识别的具有16位特征的数据集;
S4、利用C4.5算法对步骤S3解析出的数据集进行十折交叉拆分,将拆分的数据集输入自适应Boost中得到多个C4.5弱分类器,将弱分类器结合成为强分类器,对强分类器得出的结果进行加权投票,将加权投票票数最高的类别输出为结果,完成物联网设备识别。
具体的,步骤S1中,构建智能环境时,考虑同一类型物联网设备的分类情况,统一厂商不同设备的分类情况以及物联网设备和非物联网设备的分类情况,利用熵值的变化筛选特征维度。
具体的,步骤S2中,分裂时采用最大熵值进行分裂。
具体的,步骤S3中,利用wireshark提取数据中MAC地址作为标签;根据网络层、传输层和应用层的特征对数据集进行分类,再进行特征提取,根据协议构造的流量包中的数据建立特征维度,并对缺失值进行统一处理,对特征进行重新量化,最后总结出具有16个特征维度的数据集。
具体的,步骤S4中,利用十字交叉拆分将具有16位特征的数据集划分为9个训练集和1 个测试集,将9个训练集输入自适应Boost中得到多个C4.5弱分类器;引入信息增益比的概念,从候选划分属性中找出信息增益比高于平均水平的属性,再从中选择增益比最高的,递归完成树的构建,树的每个叶子结点即为最终识别结果。
进一步的,信息增益比g(D,A)为:
g(D,A)=Ent(D)-Ent(D |A)
其中,Ent(D)为熵,Ent(D|A)为条件熵。
进一步的,步骤S4完成后,利用剩余的1个测试集进行验证,将分类正确和分类错误的设备进行统计计算,采用准确率、真正率、假正率和召回率对步骤S4的识别结果进行评价,定义预测正确的结果占总样本的百分比为准确率;定义样本正确判断所占的比例值为真正率,定义分类算法把其它应用类型错误判断为实际类型的比例为假正率,利用十折交叉验证进行准确性验证,然后采取真实数据判断识别效果。
本发明的另一个技术方案是,一种被动物联网设备识别系统,其特征在于,包括:
环境模块,建立智能物联网设备环境;
数据模块,析智能物联网设备环境中物联网设备发送的数据包,利用熵的形式以及设备特性和协议特性筛选相关特征,剔除无目的数据包,抛弃虚假数据包和噪音数据包,保留有效数据包作为后续处理用数据集;
处理模块,采集各种物联网设备发送和接收的数据包以及截取路由设备产生的流量包,根据设备特性和协议特性对流量包的协议特征对数据模块生成的数据集进行处理,利用 wireshark扫描pcap包,对不同设备使用的网络协议进行划分,利用具有设备特征的网络协议作为区分手段,将步划分的网络协议参数作为继续识别的特征维度,构造整个物联网设备识别的具有16位特征的数据集;
识别模块,利用C4.5算法将处理模块解析出的数据集进行十折交叉拆分,将拆分的数据集输入自适应Boost中得到多个C4.5弱分类器,将弱分类器结合成为强分类器,对强分类器得出的结果进行加权投票,将加权投票票数最高的类别输出为结果,完成物联网设备识别。
本发明的另一个技术方案是,一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行所述的方法中的任一方法。
本发明的另一个技术方案是,一种计算设备,包括:
一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行所述的方法中的任一方法的指令。
与现有技术相比,本发明至少具有以下有益效果:
本发明一种被动物联网设备识别方法,依据网络协议,采用被动的物联网设备识别方式,解决了主动检测会导致物联网设备服务崩溃的问题;基于各种网络协议,筛选其中有效字段,并抓取真实流量中数据进行增量训练,提高识别效率;由于物联网设备种类繁多且常用的IP 识别方式无法适应多种场景,本发明根据实际需求,去除了采用源IP和目的IP的识别方式,采用了多网络协议的识别方式;引入C4.5机器学习算法,改善了筛选特征构建分类器准确率底下的的问题,采集各种网络协议的特征,解决了无法在多智能环境下准确识别的问题,通过优化算法模型,提高识别准确率和速率。
进一步的,为构造识别能力强、识别范围广的普遍适用性物联网设备分类器,需要大量的样本数据,然而单纯的搭建各种物联网设备环境不可行。因此,根据厂商,用途等筛选物联网设备,要有一定的相似性,也要有一定的异构性,即可较好的解决这个问题。并且对物联网设备特征进行向量化处理,对对其中一些无用流量进行过滤,但对一些功能性的操作进行了保留,也可以很好的识别这些流量包。
进一步的,使用流量包分析了多维特征,根据熵值的混乱程度和物联网设备所使用的应用层的协议的不同,来筛选了16位区分度较高的特征,不同的物联网设备会因为需求的不同,最终采用的应用层的协议会有所差异,协议的内部设定也会根据需求而做出相应的改变,所以我们采用了协议特征来作为特征选择的标准。
进一步的,运用Wireshark抓包工具抓取真实流量中数据,利用python的scapy将pacap 包进行拆分,并根据指纹库中对应16个维度特征进行解析,同时依据各个特征的需求对真实流量数据进行量化,生成测试集数据。
进一步的,C4.5作为机器学习中随进森林的改进版本,在许多监督学习方面都有很好的表现,最重要的是由于物联网设备底层实现的差异,许多物联网设备的底层系统采用的样本协议并没有很大区别,会出现过拟合等问题,而C4.5算法有很好的对抗过拟合的特性,而且建立分类器时采用的是信息增益率的方式,使得C4.5非常适合数据特点,所以具有优良的表现;采用C4.5决策树算法对增量训练前后的数据分别输入算法模型进行预测,C4.5决策树算法相比于传统的ID3决策树算法,提出信息增益比的概念,解决了最佳划分属性选择时偏向样本数量较多的类的问题,结果显示,增量训练后模型识别精度大大提升。
进一步的,因为熵值本身的缺陷,会因为样本数量的大小而影响熵值的大小,例如数据集小的数据的熵值相对而言可能就会很大,数据集大的数据的熵值相对而言就会很小,所以我们引入了信息增益g(D,A)来解决这个问题,其不会因为数据量的大小而产生变化,可以更好的描述数据集特征的混乱程度。
进一步的,舍弃了常用的源IP和目的IP特征维度,主要是因为这种特征只能对当前智能环境下有近乎100%的识别准确率,但是一旦重新分配IP或者目标服务器进行任何改变,将这些设备重新部署在新的智能环境上,或者停电等导致IP改变的情况,会造成此类识别方案的识别准确率大幅度下降,而此专利提出的方案,都是针对于当前设备的固有属性筛选的特征维度,并不受智能环境的更改而受太大影响。适用于多智能环境下的物联网识别方案。
综上所述,本发明去除因物联网设备环境的不同而导致的识别不准确的问题;对不同虚拟环境下的物联网设备训练提高识别效率;采用网络协议不同的方式来提高识别准确率,降低误报、漏报率。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的端口词云图;
图2为本发明的物联网设备生存时间柱状图;
图3为本发明的物联网设备流量包大小柱状图;
图4为本发明的物联网设备滑动窗口柱状图;
图5为本发明的wireshark解析pcap包图;
图6为本发明的算法结果展示图;
图7为本发明的细节分类图;
图8为本发明的混淆矩阵图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
本发明一种基于C4.5算法的被动物联网设备识别方法,首先基于多网络协议的特征,对其特征维度进行优化,去除采用源IP地址和目的IP地址无法适用于多智能环境的问题;然后抓取真实流量中数据解析生成测试数据集;其次对网络协议进行增量训练提高识别效率;运用 C4.5决策树算法对增量前后的数据进行验证,结果显示增量训练后识别准确率大大提升,提高识别准确率,降低误报、漏报率;具体步骤如下:
S1、基于多网络协议的特征设计;
物联网设备的运行机制是通过解析网络连接中的各种协议将数据构造成特定的包分析远程主机的信息。物联网设备通常有各种不同的需求,是由于不同的场景所需要,例如:进行TCP 连接发送SYN或SYN+ACK包时,虽然TCP包的头部信息结构一致,但是TCP选项字段信息不是固定的,这些数据会由于物联网设备的不同而发生变化。
对于物联网设备中网络协议通信,布局如下:
Figure RE-GDA0003175008680000081
智能环境中用来分类的网络协议有7种,tcp协议中olen和pclass这两个维度的值在指纹库中恒为0,因此将这两个维度舍去,IP地址因为在不同的智能环境中基本不相同,所以舍去,同时将wsize和scale这个维度拆分为两个维度,实际用16个维度。这16个维度数据根据所有可能情况分别从1开始量化,其中0为缺失值。
S2、解析真实流量数据;
抓取测试环境网关中数据流量,并依据物联网通信协议16个维度特征进行解析,得到16 个维度特征对应的属性值并量化去重,生成测试数据集。
熵Ent(D)是随机变量不确定性的度量,熵值越大,代表该变量的不确定性越大,熵越小,代表该变量的不确定性相对平稳。
Figure RE-GDA0003175008680000091
条件熵Ent(D|A)表示已知随机变量A的条件下,随机变量D的不确定性;定义为A给定条件下D的条件概率分布的熵对A的数学期望。
信息增益表示为得知A特征的信息时数据集D的分类不确定性的减少的程度,也就是集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A),即信息增益
g(D,A)=Ent(D)-Ent(D|A)
信息增益依赖于特征,决策树的建立的过程中节点分裂可以选择划分后信息增益大的作为划分特征,可以理解为该特征可以很好的划分数据集,让子集的纯度更高,也就是子集的不确定性更小,不同的特征往往具有不同的信息增益。信息增益大的特征具有更强的分类能力。
获取到与系统通信产生的TCP数据包解析得到:
Figure RE-GDA0003175008680000092
Figure RE-GDA0003175008680000101
如上表展示的是智能婴儿监视器发出的某一条数据包中解析到的特征字段,其被准确的识别分类为婴儿监视器,其MAC地址为00:24:e4:11:18:a8。
参数详解:
S3、采集各种物联网设备发送和接收的数据包以及截取路由设备产生的流量包,根据设备特性和协议特性对流量包的协议特征进行处理,利用wireshark扫描pcap包,对不同设备使用的网络协议进行划分,利用具有设备特征的网络协议作为区分手段,将步骤S3划分的网络协议的参数作为继续识别的特征维度构造整个物联网设备识别的16位特征;
在特征选择时,根据协议的特殊性来进行筛选,例如,IP层有IPv4和IPv6,但是IPv6 中并没有携带有效的识别信息,但是目前只有特定设备适配IPv6,所以可以作为识别的标准, IPv4中可以参考的有ttl和length,ttl是因为每个设备底层对其的实现参数设置是按照需求来决定的,所以每一种物联网设备都可能不一样,length代表数据包的大小,物联网设备和互联网设备在这里有很大区别,物联网设备产生的流量包也是由物联网的功能决定的,比如婴儿监视器,他可能每天产生的流量只有0.4MB,而一些智能相机,智能音箱一首歌一张照片的数据包都有接近10MB。所以TCP中的MMS值作为参考标准,IPv6中的ttl数恒定为1,不具有参考价值。从网络层,传输层,应用层所使用的网络协议可能因为设备的不同而有所区别,根据这种区别来对每种协议的特征进行提取加以分类。
S4、输入决策树算法得出结果。
将数据按照十折交叉验证的方式输入到C4.5算法中,其中决策树的建立和节点的分裂选择是依据最佳信息增益比来进行选择的,每次选择节点的分裂的目标函数是从候选划分属性中找出信息增益比高于其他属性节点的,也就是最高的信息增益率来作为分裂节点,递归下去生成决策树训练模型,当最大信息增益率小于阈值时,即认为没有找到有较优分类能力的特征,就没有继续往下分裂的必要了,根据最大表决原则,将最多计数的类别作为结果。
C4.5算法在其生成的过程中,分割方法即属性选择度量是关键。决策树一般的选择标准都有熵,信息增益,基尼系数,信息增益率等,相比而言,信息增益率更适合物联网设备识别的分类问题。
ID3算法的核心是在决策树节点分裂上应用信息增益准则作为选择特征,递归地构建决策树,但是会出现当特征取值比较多时,根据此特征划分更容易得到纯度更高的子集,因此划分后的熵更低,即不确定性更低,因此信息增益更大
C4.5算法对ID3算法很相似,但是C4.5算法是对ID3算法做出了改进,在C4.5在生成决策树的过程中,用最大信息增益比来选择特征。
最大信息增益比是特征A对训练数据集D的信息增益比GainRatio(D,A)定义为其信息增益Gain(D,A)与训练数据集D的经验熵H(D)之比:
Figure RE-GDA0003175008680000111
信息增益比通过引入一个被称作分裂信息的项来惩罚取值较多的特征。需要注意的是,单纯的选择信息增益比大的会出现一些问题,比如若某些特征的取值数量很少,会出现其中的特征值的信息增益比比较高,从而影响最终分类结果,因此,C4.5并不是直接选增益比最大的特征作为候选划分属性,而是使用一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益比最高的。C4.5算法对连续的数值特征也有优化处理,其思想是用二(多)分法将连续的数值特征离散化,对于每一种离散方案计算其信息增益比,选信息增益比最大的方案来离散连续的数值特征。
本发明再一个实施例中,一种被动物联网设备识别系统,该系统能够用于实现上述被动物联网设备识别方法,具体的,该被动物联网设备识别系统包括环境模块、数据模块、处理模块以及识别模块。
其中,环境模块,建立智能物联网设备环境;
数据模块,析智能物联网设备环境中物联网设备发送的数据包,利用熵的形式以及设备特性和协议特性筛选相关特征,剔除无用流量包,抛弃虚假流量和噪音数据,保留有效数据;
处理模块,采集各种物联网设备发送和接收的数据包以及截取路由设备产生的数据包,根据设备特性和协议特性对流量包的协议特征对数据模块生成的数据集进行处理,利用 wireshark扫描pcap包,对不同设备使用的网络协议进行划分,利用具有设备特征的网络协议作为区分手段,将步划分的网络协议参数作为继续识别的特征维度,构造整个物联网设备识别的具有16位特征的数据集;
识别模块,利用C4.5算法将处理模块解析出的数据集进行十折交叉拆分,将拆分的数据集输入自适应Boost中得到多个C4.5弱分类器,将弱分类器结合成为强分类器,对强分类器得出的结果进行加权投票,将加权投票票数最高的类别输出为结果,完成物联网设备识别。
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于被动物联网设备识别方法的操作,包括:
建立智能物联网设备环境;解析智能物联网设备环境中物联网设备发送的数据包,利用熵的形式以及设备特性和协议特性筛选相关特征,剔除无目的数据包,抛弃虚假数据包和噪音数据包,保留有效数据包作为后续处理用数据集;采集智能物联网设备环境中各种物联网设备发送和接收的数据包以及截取路由设备产生的数据包,根据设备特性和协议特性对流量包的协议特征对生成的数据集进行处理,利用wireshark扫描pcap包,对不同设备使用的网络协议进行划分,利用具有设备特征的网络协议作为区分手段,将划分的网络协议参数作为继续识别的特征维度,构造整个物联网设备识别的具有16位特征的数据集;利用C4.5算法对解析出的数据集进行十折交叉拆分,将拆分的数据集输入自适应Boost中得到多个C4.5弱分类器,将弱分类器结合成为强分类器,对强分类器得出的结果进行加权投票,将加权投票票数最高的类别输出为结果,完成物联网设备识别。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质 (Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关被动物联网设备识别方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
建立智能物联网设备环境;解析智能物联网设备环境中物联网设备发送的数据包,利用熵的形式以及设备特性和协议特性筛选相关特征,剔除无目的数据包,抛弃虚假数据包和噪音数据包,保留有效数据包作为后续处理用数据集;采集智能物联网设备环境中各种物联网设备发送和接收的数据包以及截取路由设备产生的数据包,根据设备特性和协议特性对流量包的协议特征对生成的数据集进行处理,利用wireshark扫描pcap包,对不同设备使用的网络协议进行划分,利用具有设备特征的网络协议作为区分手段,将划分的网络协议参数作为继续识别的特征维度,构造整个物联网设备识别的具有16位特征的数据集;利用C4.5算法对解析出的数据集进行十折交叉拆分,将拆分的数据集输入自适应Boost中得到多个C4.5弱分类器,将弱分类器结合成为强分类器,对强分类器得出的结果进行加权投票,将加权投票票数最高的类别输出为结果,完成物联网设备识别。
为使本发明实例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为Insteon摄像头的服务器端口的词云图,可以看出Insteon摄像头常用的远程服务端口有443,53,8000,80等,并且80端口使用最为较为频繁,80端口一般是http 服务,可以推断出摄像头主要使用HTTP协议完成传输,443端口一般是TLS加密协议使用的,所以也可以推断出摄像头主要使用HTTPS协议完成传输。
请参阅图2和图3,分别为不同物联网设备初始生存时间柱状图和不同物联网设备IP数据包长度柱状图,生存时间字段是指明数据报在网络中可经过路由器的最大值,常见的初始值有64,128,255等,可以从图2中看出大多数物联网设备使用的是64,少数的使用的是255,有的是128,还出现了不常见的199。图3中可以看出,物联网设备的IP报文总长度也有差异,虽然在28个设备中,有11个设备都是74字节的报文长度,但是剩下的设备只有一两个重叠。
请参阅图4和图5,为所捕获到的pcap包,用wireshark进行可视化处理,可以看出其中的一些基础特征,可以根据这些特征判断包流量包的发出设备和目标设备和地址,还有发送端口和接收端口,存活时间,包的序号,顺序,包的功能等,可以通过wireshark对流量包进行简要的处理,筛选掉一些不需要的废弃包。
(1)评价指标
本文选用查准率,查全率,精确度和F1度量四个指标从不同角度评价算法模型识别性能。为了便于理解,将样本分为正,负两类,其中正样本预测为正的数量为TP,证样本预测为负的数量为FN,负样本预测为正的数量为FP,负样本预测为负的数量为TN。
查准率是针对预测结果而言,预测为某类别的样本中,预测正确的样本所占的比例值,其计算公式为:
P=TP/(TP+FP)
查全率是针对样本集而言,某类样本被正确预测所占的比例,其计算公式为:
R=TP/(TP+FN)
F1度量实质上是查全率和查准率的调和平均数,查全率和查准率是从不同的角度评价性能,因此需要引入F1度量将查全率和查准率综合起来,计算公式为:
F1=2×P×R/(P+R)
(2)十折交叉验证
为了保证算法的准确性,采用十折交叉验证,即将数据集分成10份,轮流将其中的9份作为训练数据,1份作测试数据,每次验证都会算出相应的准确率,用10次结果准确率的平均值作为算法分类的最终正确率。十折交叉验证系统准确率的结果如图6所示。
图7为每种物联网设备的TP,FP,准确率召回率等。可以从图中看出,大部分设备具有较高的准确率,但是对于支持多网络协议的设备具有较低的准确率。
请参阅图8,混淆矩阵重点表示了设备的分类情况,可以看出,TP-Link路由器的分类错误次数出现最多,主要的原因是因为路由器不断的接收各种协议流量包也不断的构造与物联网设备相对应的流量包给予回应,所以区分准确率不高。
综上所述,本发明一种被动物联网设备识别方法、系统、介质及设备,使用多网络协议的识别效果有了显著提高,优化后的C4.5算法比原始决策树算法和优化后决策树算法在准确率、真正率上都有了显著提高,也大大降低了假正率。利用机器学习方法处理操作系统指纹分类问题是近年来物联网设备识别一个新兴的研究热点,本文实现了基于C4.5的被动物联网设备识别模型,与优化前后的决策树算法进行比较,实验证明了该模型的有效性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质 (包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/ 或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (4)

1.一种被动物联网设备识别方法,其特征在于,包括以下步骤:
S1、建立智能物联网设备环境,构建智能环境时,考虑同一类型物联网设备的分类情况,统一厂商不同设备的分类情况以及物联网设备和非物联网设备的分类情况,利用熵值的变化筛选特征维度;
S2、解析步骤S1建立的智能物联网设备环境中物联网设备发送的数据包,利用熵的形式以及设备特性和协议特性筛选相关特征,剔除无目的数据包,抛弃虚假数据包和噪音数据包,保留有效数据包作为后续处理用数据集,
抓取测试环境网关中数据流量,并依据物联网通信协议16个维度特征进行解析,得到16个维度特征对应的属性值并量化去重,生成测试数据集;
熵Ent(D)是随机变量不确定性的度量,代表该变量的不确定性相对平稳,
Figure FDA0003759629880000011
条件熵Ent(D|A)表示已知随机变量A的条件下,随机变量D的不确定性;定义为A给定条件下D的条件概率分布的熵对A的数学期望;
S3、采集智能物联网设备环境中各种物联网设备发送和接收的数据包以及截取路由设备产生的数据包,根据设备特性和协议特性对流量包的协议特征对步骤S2生成的数据集进行处理,利用wireshark扫描pcap包,对不同设备使用的网络协议进行划分,利用具有设备特征的网络协议作为区分手段,将划分的网络协议参数作为继续识别的特征维度,构造整个物联网设备识别的具有16位特征的数据集;
利用wireshark提取数据中MAC地址作为标签;根据网络层、传输层和应用层的特征对数据集进行分类,再进行特征提取,根据协议构造的流量包中的数据建立特征维度,并对缺失值进行统一处理,对特征进行重新量化,最后总结出具有16个特征维度的数据集;
S4、利用C4.5算法对步骤S3解析出的数据集进行十折交叉拆分,将拆分的数据集输入自适应Boost中得到多个C4.5弱分类器,将弱分类器结合成为强分类器,对强分类器得出的结果进行加权投票,将加权投票票数最高的类别输出为结果,完成物联网设备识别;
利用十字交叉拆分将具有16位特征的数据集划分为9个训练集和1个测试集,将9个训练集输入自适应Boost中得到多个C4.5弱分类器;引入信息增益比的概念,从候选划分属性中找出信息增益比高于平均水平的属性,再从中选择增益比最高的,递归完成树的构建,树的每个叶子结点即为最终识别结果,信息增益比g(D,A)为:
g(D,A)=Ent(D)-Ent(D|A)
其中,Ent(D)为熵,Ent(D|A)为条件熵;
步骤S4完成后,利用剩余的1个测试集进行验证,将分类正确和分类错误的设备进行统计计算,采用准确率、真正率、假正率和召回率对步骤S4的识别结果进行评价,定义预测正确的结果占总样本的百分比为准确率;定义样本正确判断所占的比例值为真正率,定义分类算法把其它应用类型错误判断为实际类型的比例为假正率,利用十折交叉验证进行准确性验证,然后采取真实数据判断识别效果。
2.一种被动物联网设备识别系统,其特征在于,包括:
环境模块,建立智能物联网设备环境,构建智能环境时,考虑同一类型物联网设备的分类情况,统一厂商不同设备的分类情况以及物联网设备和非物联网设备的分类情况,利用熵值的变化筛选特征维度;
数据模块,析智能物联网设备环境中物联网设备发送的数据包,利用熵的形式以及设备特性和协议特性筛选相关特征,剔除无目的数据包,抛弃虚假数据包和噪音数据包,保留有效数据包作为后续处理用数据集,抓取测试环境网关中数据流量,并依据物联网通信协议16个维度特征进行解析,得到16个维度特征对应的属性值并量化去重,生成测试数据集;
熵Ent(D)是随机变量不确定性的度量,代表该变量的不确定性相对平稳,
Figure FDA0003759629880000031
条件熵Ent(D|A)表示已知随机变量A的条件下,随机变量D的不确定性;定义为A给定条件下D的条件概率分布的熵对A的数学期望;
处理模块,采集各种物联网设备发送和接收的数据包以及截取路由设备产生的流量包,根据设备特性和协议特性对流量包的协议特征对数据模块生成的数据集进行处理,利用wireshark扫描pcap包,对不同设备使用的网络协议进行划分,利用具有设备特征的网络协议作为区分手段,将步划分的网络协议参数作为继续识别的特征维度,构造整个物联网设备识别的具有16位特征的数据集;
利用wireshark提取数据中MAC地址作为标签;根据网络层、传输层和应用层的特征对数据集进行分类,再进行特征提取,根据协议构造的流量包中的数据建立特征维度,并对缺失值进行统一处理,对特征进行重新量化,最后总结出具有16个特征维度的数据集;
识别模块,利用C4.5算法将处理模块解析出的数据集进行十折交叉拆分,将拆分的数据集输入自适应Boost中得到多个C4.5弱分类器,将弱分类器结合成为强分类器,对强分类器得出的结果进行加权投票,将加权投票票数最高的类别输出为结果,完成物联网设备识别;
利用十字交叉拆分将具有16位特征的数据集划分为9个训练集和1个测试集,将9个训练集输入自适应Boost中得到多个C4.5弱分类器;引入信息增益比的概念,从候选划分属性中找出信息增益比高于平均水平的属性,再从中选择增益比最高的,递归完成树的构建,树的每个叶子结点即为最终识别结果,信息增益比g(D,A)为:
g(D,A)=Ent(D)-Ent(D|A)
其中,Ent(D)为熵,Ent(D|A)为条件熵;
利用剩余的1个测试集进行验证,将分类正确和分类错误的设备进行统计计算,采用准确率、真正率、假正率和召回率对识别模块的识别结果进行评价,定义预测正确的结果占总样本的百分比为准确率;定义样本正确判断所占的比例值为真正率,定义分类算法把其它应用类型错误判断为实际类型的比例为假正率,利用十折交叉验证进行准确性验证,然后采取真实数据判断识别效果。
3.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1所述的方法中的任一方法。
4.一种计算设备,其特征在于,包括:
一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1所述的方法中的任一方法的指令。
CN202110373243.XA 2021-04-07 2021-04-07 一种被动物联网设备识别方法、系统、介质及设备 Active CN113328985B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110373243.XA CN113328985B (zh) 2021-04-07 2021-04-07 一种被动物联网设备识别方法、系统、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110373243.XA CN113328985B (zh) 2021-04-07 2021-04-07 一种被动物联网设备识别方法、系统、介质及设备

Publications (2)

Publication Number Publication Date
CN113328985A CN113328985A (zh) 2021-08-31
CN113328985B true CN113328985B (zh) 2022-12-09

Family

ID=77414576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110373243.XA Active CN113328985B (zh) 2021-04-07 2021-04-07 一种被动物联网设备识别方法、系统、介质及设备

Country Status (1)

Country Link
CN (1) CN113328985B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584522B (zh) * 2022-01-21 2024-02-06 中国人民解放军国防科技大学 一种物联网设备的识别方法、系统、介质及终端
CN114328630B (zh) * 2022-01-24 2023-06-23 嘉应学院 一种基于物联网的设备识别系统
CN116017412B (zh) * 2022-12-27 2024-04-16 苏州融硅新能源科技有限公司 一种用于获取设备信息的网关设备、方法及系统
CN116708253B (zh) * 2023-08-07 2023-10-13 烽台科技(北京)有限公司 设备识别方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110048962A (zh) * 2019-04-24 2019-07-23 广东工业大学 一种网络流量分类的方法、系统及设备
CN111030941A (zh) * 2019-10-29 2020-04-17 武汉瑞盈通网络技术有限公司 一种基于决策树的https加密流量分类方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190339688A1 (en) * 2016-05-09 2019-11-07 Strong Force Iot Portfolio 2016, Llc Methods and systems for data collection, learning, and streaming of machine signals for analytics and maintenance using the industrial internet of things
CN109063745B (zh) * 2018-07-11 2023-06-09 南京邮电大学 一种基于决策树的网络设备类型识别方法及系统
US11611569B2 (en) * 2019-05-31 2023-03-21 Micro Focus Llc Machine learning-based network device profiling
CN112202718B (zh) * 2020-09-03 2021-08-13 西安交通大学 一种基于XGBoost算法的操作系统识别方法、存储介质及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110048962A (zh) * 2019-04-24 2019-07-23 广东工业大学 一种网络流量分类的方法、系统及设备
CN111030941A (zh) * 2019-10-29 2020-04-17 武汉瑞盈通网络技术有限公司 一种基于决策树的https加密流量分类方法

Also Published As

Publication number Publication date
CN113328985A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
CN113328985B (zh) 一种被动物联网设备识别方法、系统、介质及设备
CN111565205B (zh) 网络攻击识别方法、装置、计算机设备和存储介质
CN111371735B (zh) 僵尸网络检测方法、系统及存储介质
Grimaudo et al. Select: Self-learning classifier for internet traffic
CN110474885B (zh) 基于时间序列与ip地址的报警关联分析方法
CN109525508B (zh) 基于流量相似性比对的加密流识别方法、装置及存储介质
CN109150859B (zh) 一种基于网络流量流向相似性的僵尸网络检测方法
CN113992349B (zh) 恶意流量识别方法、装置、设备和存储介质
CN113904795B (zh) 一种基于网络安全探针的流量快速精确检测方法
CN111294233A (zh) 网络告警统计分析方法、系统及计算机可读存储介质
CN112019449B (zh) 流量识别抓包方法和装置
Ting et al. Compression analytics for classification and anomaly detection within network communication
CN111935185B (zh) 基于云计算构建大规模诱捕场景的方法及系统
CN112800424A (zh) 一种基于随机森林的僵尸网络恶意流量监测方法
CN116915450A (zh) 基于多步网络攻击识别和场景重构的拓扑剪枝优化方法
CN109067778B (zh) 一种基于蜜网数据的工控扫描器指纹识别方法
CN112468324B (zh) 基于图卷积神经网络的加密流量分类方法及装置
CN114972827A (zh) 资产识别方法、装置、设备及计算机可读存储介质
CN117294497A (zh) 一种网络流量异常检测方法、装置、电子设备及存储介质
Barrionuevo et al. An anomaly detection model in a lan using k-nn and high performance computing techniques
CN116170227A (zh) 一种流量异常的检测方法、装置、电子设备及存储介质
Farjad et al. Cluster Analysis and Statistical Modeling: A Unified Approach for Packet Inspection
CN112087448A (zh) 安全日志提取方法、装置和计算机设备
CN117633665B (zh) 一种网络数据监控方法及系统
CN117041070B (zh) 一种网络空间测绘节点发现与归属判别方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant