一种用于IP定位的网络实体识别方法

文档序号:35858346发布日期:2023-10-26 07:47阅读:48来源:国知局
一种用于IP定位的网络实体识别方法

本发明涉及网络实体识别的,尤其涉及一种用于ip定位的网络实体识别方法,是在大图网络结构下的一种用于ip定位的网络实体识别方法。


背景技术:

1、网络空间测绘是对于网络中的各个空间资源的探测、分析和绘制。其中网络空间资产分析为主要,分为实体资源分析和虚拟资源分析,网络实体识别和ip定位属于实体资源分析,分别为ip对网络实体类型的映射和ip对网络实体位置的映射。

2、网络实体是指联网设备的统称,指具有ip地址且在网络空间中能够进行通信的设备。网络实体定位技术是通过网络空间中目标实体的ip地址,其主要结合目标ip的时延、拓扑等相关特征,获取目标实体所在的位置,也称ip定位,在许多领域有着广泛的应用。ip定位技术主要分为基于数据库的方法、基于规则的方法和基于学习的方法。基于数据库可以通过简单的查询比对获取网络实体的位置;基于规则的方法通过构建基于网络的规则方法实现对网络实体的定位约束;基于学习的方法包括使用机器学习、深度学习和图神经网络学习提取目标节点的特征信息和拓扑的结构信息,建立节点与地标的相似性判断,实现网络实体定位。

3、基于数据库的方法可以根据多种数据混合查询的方式获取ip定位,lee y等人提出了一种新的ip地址数据库的创建方法,基于带有该位置标签的众包互联网宽带性能测量。赵等人提出了一种新颖的方法来校准位置数据库,使用各种分类器并采用时间延迟作为特征来自动显示距离与时间延迟之间的关系。基于规则的方法:liu等人提出的checkin-geo算法,此算法则是首先通过移动应用端获取id-位置对,其次在pc端应用出建立id-位置-ip地址的映射关系。geo-rmp算法认为每个路由器在一段时间内都有固定的服务区域,基于这个假设,通过分析地标与路由器的连接,推断路由器的服务范围。基于学习的方法:dan o等人提出了一种系统的方法,可以使用公开访问的反向dns主机对ip地址定位,旨在与其他位置数据源相结合,将任务作为一个机器学习问题。wang等人提出了一种基于图神经网络的ip定位方法graphgeo,通过ip地址能获取的相关主机信息和ip所属节点的周围邻域关系一起放入图中学习,减轻了由于网络时延抖动或拥塞造成的负面影响,且在实验中,该方法在各个地区的误差都是最小的。当前的ip定位算法最好的结果误差小于1km,但定位结果仍为街道级,但是想要再提升定位粒度至园区级是一件复杂的事情。传统的基于规则和基于学习的定位方法效果不佳。

4、zhao等人指出,相同设备的漏洞可能与位置相关,通过对数据的收集和比对,易受攻击的路由器主要集中在少数几个国家,易受攻击的网络摄像头主要位于中国和越南,此外不同厂商的受攻击打印机主要位于美国。从零日漏洞的角度来理解,一片区域的网络管理员对于一片区域设备的漏洞补丁更新并不是那么及时。基于此延伸根据设备类型和漏洞检测可以对设备的位置进行一定程度的约束。liu等人提出通过设计规则构建ipv4-ipv6的关联,扩充ipv6地标,但是该算法仅依靠规则的方式容易忽略部分潜在的ipv4-ipv6对。robert等人提出了一种主动测量技术,以确定选中的ipv4和ipv6地址服务器是否属于同一台网络设备。同样依据以此,可以构建ipv4-ipv6的关联,仅根据设备指纹技术对设备进行判断,理论上根据设备的类型能更加精确的识别主机,构建更加准确的ipv4-ipv6的关联。

5、但是当网络实体定位粒度到园区接入级时,网络实体定位很难继续根据传统的定位方法获取其位置信息,取而代之的是根据网络实体的属性信息加以判断,如若实体为服务器设备类型,可以借助其公共数据集信息判断idc(互联网数据中心)机房的位置。且ip地址只是在网络中的逻辑字符,网络实体的ip地址并非一成不变,ip地址、位置与网络实体的映射关系会发生变化,不同设备的ip地址变更频率不同,当网络实体是一个物联网设备或者是服务器设备,ip地址稳定性较高,不轻易发生变动,可以作为一个高精度的地标。获取网络实体的设备类型有助于辅助网络实体定位往更高细粒度研究。

6、现有的网络实体识别方法如图1所示,网络实体识别主要通过网络探测工具建立与网络实体的联系,通过发送相应的数据包,获取网络实体的返回数据包,提取网络实体的相关属性特征和特征信息字段,再进行相应方法的分类处理。目前网络实体识别主要分为基于规则的方法和基于学习的分类。基于规则的方法主要包括基于指纹库的方法、基于banner的方法和基于旗标的方法。其中基于指纹库的分类主要通过收集建立相应指纹库,根据返回数据包中含有的相关特征字段信息识别或约束分类设备,准确率较高。基于学习的分类主要包括使用机器学习和深度学习等相关学习方法对网络实体所提取的特征通过嵌入的方式放入模型中学习并分类。这些方法通过集成或分析多源数据集来实现更多有效的分类结果,基于学习的分类方法可以有效地将特征转到高位空间进一步做处理。

7、基于规则的方法出现在网络实体的流量交互数据中,用于识别设备的品牌或厂商等信息。基本思路是:通过正则表达式或者自然语言处理技术,分析提取流量中标语信息(生产厂商、设备型号等)作为规则,在进行设备识别时,根据正则表达式匹配目标网络实体。目前大部分网络探测平台,包括shodan、zoomeyes、fofa等主动探测平台都是通过建立与主机的联系,分析文本数据进行基于规则库的识别。但规则提取复杂,且存在网络实体伪造关键词的风险。feng等人提出了are框架,该方法通过主动发动送探测包的方式收集目标的应用层数据并通过正则匹配和nlp技术筛选关键词,然后通过web搜索这些关键词并进行相应的网络实体其他属性(如:类型、品牌、型号)扩展,构建设备指纹库,之后再利用apriori算法识别网络实体类型,但该方法在遇到依赖于网络实体反馈的流量字段,若其不包含关键信息,则无法识别。wan等人提出了devtag规则库用于对物联网设备的识别,该方法在集合are框架的基础上还使用了开源工具nmap和ztag,共收集4万多条规则,该方法能在短时间内高精度地获取细粒度的网络实体设备信息。

8、基于学习的方法的基本思路是选取训练集节点特征,采用有监督学习、半监督和无监督学习的方式,将节点特征嵌入至模型中,根据已经标注的数据训练出分类模型。陈等人提出基于重传的tcp指纹技术主动识别网络实体,该方法通过选择tcp重传报文的多组特征,增加了传统tcp值的粒度空间,然后采用集成学习的策略,生成了多种机器学习算法的组合分类器,其车联网的识别准确率为96.7%。aneja.s等人提出基于深度卷积神经网络模型,该方法仅分析数据包的到达时间间隔作为识别特征,通过建立深层次的网络结构用于学习,包括resnet50层和基本的cnn-5层,实验结果表明该方法具有较好的性能,但易受到设备签名攻击的影响。song等人通过对数据流量包的方式对网络摄像头进行细粒度的网络实体类别和厂商识别,首先通过根据完整的http数包筛选网络摄像头设备,然后通过设备指纹聚类的方式和手动标注的结合,识别出不同设备型号的网络摄像头,同时还获取了网络实体的经纬度信息。thom等人结合使用局部敏感哈希散列和神经网络来根据网络流量识别网络实体,该方法能够实时识别网络实体,但该分类器需要大量的数据用于训练,当数据量较少时,模型的精度较低。

9、目前,尽管取得了一定的优秀成果,但是当前网络实体识别仍存在一些问题:1)基于指纹库的分类方法需要构建的设备标注数量庞大且复杂,受限于网络实体指纹库的大小,难以实现大规模网络实体分类,只能识别出现有库中型号相同或相似的网络实体,无法对新设备进行有效识别,且部分网络实体发送的数据包为加密状态。2)基于学习的方法建立在特征维度不缺失的情况下进行学习,但是随着反测绘技术的出现,以往的探测方法并不能有效地获取到完整的特征,在特征缺失或纬度不匹配的情况下进行模型的训练将会降低分类的准确率或无法分类。且传统的基于学习的分类方法只考虑网络实体本身的属性信息,忽略了目标的结构信息。3)在探测网络设备指纹时,单个网络实体设备容易受到攻击,其所选取的特征容易受到欺骗,使得目标网络实体的识别精度大大降低。4)随着现有的ipv6技术出现,扫描整个网络空间变得不切实际,枚举ipv6网络实体不切实际。

10、近来,图神经网络在各研究方向迅速发展,网络实体的拓扑特征较好的匹配图神经网络的架构化表达。图提供了一种通用的数据表示方法,众多其他类型的数据也可以转化为图表达。相比于传统的机器学习和深度学习模型,图神经网络表达出高维非线性特征(即网络拓扑)和高维关系特征(即网络属性)的优势。早期的图结构利用主要使用谱方法将图上的信号变换到谱域,在谱域实现图卷积的定义,再将结果变换到空间域。chebynet是基于谱方法的图卷积神经网络。后来又发展较多的卷积方法,包括gcn(graph convolutionalnetworks)、graphsage(graph sample and aggregate)和gat(graph attentionnetworks),这三种方法的差异主要在于聚合邻居节点的方法不同,gcn是聚合周围所有的周围邻居节点,graphsage是随机性的聚合固定数量的邻居节点,gat是聚合与中心节点之间权重较高的邻居节点。gnn已经广泛应用于各种计算机网络模型。

11、图卷积网络的核心是聚合、更新和循环,对于同配性任务,节点与其周围邻居的特征是较为相似的,但是对于异配性任务,周围邻居不再是与其作为聚合操作更合适的点,需要尝试获取远距离以来信息,hu.z等人提出gnn和transformer结合的方法,考虑通过计算节点的相似度获取远距离依赖关系,但是这种方法抛弃了图的结构信息,但实际上网络实体本身存在一定的网络结构特性是可以被提取的。

12、上述的网络实体识别技术易受条件限制(如特征库建立困难、特征丢失或受到欺骗等),导致识别率下降或无法识别。大多数传统的基于规则或基于数据挖掘的实体识别方法是对单个网络实体进行识别,但是由于防火墙的存在和特征探测的局限性,单个目标的特征容易出现缺失,导致网络实体识别准确率下降。


技术实现思路

1、针对现有网络实体特征缺失导致定位精度降低的技术问题,本发明提出一种用于ip定位的网络实体识别方法,将网络实体嵌入至图结构中,利用图神经网络改善当前特征缺失或被欺骗的问题,提高了当前网络实体识别的准确率。

2、为了达到上述目的,本发明的技术方案是这样实现的:一种用于ip定位的网络实体识别方法,其步骤如下:

3、步骤一、数据处理:提取网络实体的ipv6地址,并获取路径信息得到数据集;对数据集进行特征提取和匿名处理,筛选得到属性特征,将属性特征嵌入至网络拓扑图中;

4、步骤二、子图划分:通过社区聚类方法对网络拓扑图进行社区划分,得到若干个子图;

5、步骤三、注意力权重计算:提取子图中节点的结构信息并计算结构相似度,对子图所有节点进行transformer计算,计算节点的综合权重注意力;

6、步骤四、节点更新:根据节点间的综合权重注意力选取节点进行聚合更新,输出更新后的节点表示;

7、步骤五、全连接分类:训练transformer网络,将更新后的节点表示送入分类层,通过预测概率获取设备类别。

8、优选地,所述特征提取为:对所获取的流量数据做分析,对各个属性特征进行分析,选取属于该特征类型的前20%类型作为属性特征;所述属性特征包括:ip地址---ip、ipv6后缀---ips、ipv6地址嵌入类型---ipa、端口---port、网络层协议---np、传输层协议---tp、应用层协议---ap、tcp窗口大小---ws、ttl值---ttl、漏洞类型---cve、icmpv6速率---ir、操作系统---os;

9、采用gws-geo的方式对匿名节点进行同等替换处理,减少网络拓扑结构中匿名节点的数量;对于仍无法匿名处理的节点,采用独热编码处理,将匿名节点的所有特征设置为其他,其特征向量为全0,标签设置为其他设备。

10、优选地,根据路径信息以及路径的连接关系,将路径拆解为两两连接,采用dglgraph函数构建网络拓扑图;所述网络拓扑图为图g={v,x,e},节点v=v1,v2,...,vi,节点的属性特征x=ip,ips,ipa,port,np,tp,ap,cve,ir,os,边集合eij代表节点vi与节点vj之间的边,en表示矩阵大小;与节点vi相邻的邻居节点集合n(vi)={u1,u2,...,un,ui&vi∈v}包括自身节点;图g的临界矩阵a=[aij]为对称矩阵,如果节点vi与节点vj之间有共同边,元素aij=1,否则元素aij=0。

11、优选地,所述社区聚类方法为社区划分算法leiden;所述社区划分算法leiden计算社区之间的节点和边的关系,在迭代应用时,收敛到一个分区,在该分区中所有社区的所有子集都被局部最优分配,从而产生保证连接的社区;

12、选取模块度来评价社区内节点分组质量好坏,模块度为:

13、

14、其中,mc表示总边数,c表示社区,ec表示社区c内部边的数量,dc表示社区c节点的度和,γ是分辨率参数:社区内的密度至少为分辨率参数γ,而社区间的密度低于分辨率参数γ。

15、优选地,所述社区聚类方法的聚类步骤为:1)节点的局部移动,每个节点视为一个单独的社区,将单个节点从一个社区移动到另一个社区提高质量函数,以发现划分情况;2)改善划分结果,对节点进行改善,将节点与随机选择的社区合并,增加质量函数;3)基于改善后划分情况凝聚网络,基于未改善时划分情况初始化凝聚后网络;重复以上步骤,直到无法进一步完善。

16、优选地,所述transformer计算的实现方法为:节点特征向量x=x1,x2,...,xi∈rn×d表示transformer隐藏层的输入,其中,d为隐藏层的维度,xi∈r1×d为在位置ix的隐藏层表示;隐藏层表示xi通过三个矩阵和来投影到对应的向量q,tk,tv上,分别是特征向量映射后的结果分别为:

17、使用核函数近似softmax,令注意力矩阵替换为核函数这里φ表示,注意力机制写为:核函数φ为随机特征映射且:

18、

19、其中,rx和-rx按照最后一个特征维度串联,x表示节点特征向量,m表示m个随机特征;

20、自注意力权重为:

21、

22、其中,j、j'为节点集合v中的节点。

23、优选地,所述计算节点的综合权重注意力的方法为:每个节点定义一组节点邻域集gn(vi)=n(vi),n(vi)表示节点vi邻居集合,n(vi)x表示节点vi邻域的特征,随机有放回的选取z个邻居节点,使用jaccard相似系数计算节点vi,vj的邻居集合gn(vi),gn(vj),特征向量为:nx(vi)=si1,si2,…siu,nx(vj)=sj1,sj2,…sju;

24、其中,si1,si2,…siu、sj1,sj2,…sju表示特征向量,u表示特征选取的数量;

25、计算两个节点周围邻居特征相似度nj表示为:

26、

27、其中,表示为一对节点邻居相似度的计算,z为邻居节点,nx为特征向量;

28、通过计算自注意力权重、节点的接近中心性和节点周围邻居相似性共同寻找远距离相似的节点分别表示为na、nc和nj,最终节点的综合权重注意力nw为:

29、

30、其中,w1、w2、w3分别表示权重矩阵。

31、优选地,所述步骤四中采用top-k方法保障聚合更有效地信息且保障特征向量维度相同,计算每个节点与其他所有节点的综合权重注意力nw,选取关系值最大的前k个节点作为待聚合节点,节点vi要聚合的集合为k(vi)={k1,k2,…,kik};

32、所述聚合更新的方法为:直接采用gcn方法聚合;gcn方法采用sum、mean和max聚合,faggregate表示聚合函数,且:av=faggregate(k(v));

33、其中,k(v)表示经过top-k方法筛选后的节点邻居集合,av表示节点v的邻居特征汇聚到节点v上;

34、在聚合时已经是考虑全部节点对中心节点的影响,更新后的节点表示hv公式如下所示:

35、hv=fupdate(av)=relu(vxv+av);

36、其中,fupgate表示更新函数,更新函数为sum或concat,relu表示激活函数。

37、优选地,所述步骤五中通过全连接层和分类层将更新后的节点表示信息转化为网络实体类别,使用一个全连接层和一个分类层来计算预测标签概率,全连接层降低节点表示的特征矩阵的维度,分类层使用softmax函数输出对应分类的概率当softmax函数的最大值低于阈值α时,将其分类为未知设备;其中,w表示学习的权重矩阵,bias表示偏差。

38、优选地,训练transformer网络使用标准交叉熵作为损失函数、使用adam优化器,通过随机梯度下降训练,且损失函数

39、其中,l1表示损失函数,c表示分类标签的数量,yic表示符号函数,如果节点vi的真实类别等于c,yic取1,否则为0;表示节点vi预测为类别c的概率。

40、本发明的有益效果:主要包括数据处理、子图分割、权重计算、节点更新和分类五个步骤:数据处理步骤将获取的数据集进行特征提取及匿名处理,子图分割步骤将目标节点进行网络拓扑图构建,并根据社区划分算法进行划分;权重计算步骤将transformer的自注意力机制和图的结构性特征结合起来增强网络实体的特征;节点更新步骤根据节点间的权重计算结果进行聚合更新,输出更新后的节点表示矩阵;分类步骤将节点进行分类。本发明在公开收集的数据集上成功识别了8种不同的网络实体,网络实体的识别准确率在95.49%以上。本发明有效改善了网络实体特征缺失情况下的有效网络实体识别,也为异配性网络拓扑图下的节点聚合提供了新的方法。本发明为网络实体识别提供了一种新的方法,改善了网络实体在识别中特征缺失或受欺骗时无法被识别的局限性。本发明对网络实体识别任务构建了图结构,将图结构信息参与节点聚合的权重计算中,有效利用了网络实体在互联网中结构特性信息,增加了可学习的属性信息,有效提高了识别率。本发明在ipv6网络实体分类模型中准确率高于现有网络实体分类模型,为异配性网络拓扑图下的节点聚合提供了新的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1