技术新讯 > 电子通信装置的制造及其应用技术 > 用于自动地辨别和遍历物联网设备的系统和方法与流程  >  正文

用于自动地辨别和遍历物联网设备的系统和方法与流程

  • 国知局
  • 2024-08-02 14:16:45

本发明涉及用于从已经经历了网络地址转换(nat)过程的(即,nat-ed)的网络流量(不管网络流量包括ip流信息(ipfix)导出类型的流量或域名系统类型的流量)中检测物联网(iot)的存在的系统和方法,。这种能力至关重要,因为iot的采用率在过去几年中呈指数级增长。为了保护iot免受网络攻击,首先必须了解正在使用什么类型的iot,以及这些iot的数量/使用范围。一旦iot格局(landscape)已被定义,网络防御者就可以投入资源来识别并随后解决这些物联网中可能存在的漏洞。

背景技术:

1、近年来,物联网(iot)设备的使用出现了巨大的爆炸式增长。目前,据估计,全球约有460亿iot,到2025年,这一数字预计将增加到1250亿。随着iot设备采用率的提高,这将导致发现针对此类设备的新的网络漏洞。不幸的是,人们发现iot比通用it设备更容易受到网络攻击,并且这是由于缺乏嵌入在这些资源受限的iot设备中的安全措施。

2、iot中发现的漏洞已导致多起重大互联网安全事件,如mirai僵尸网络和树莓派僵尸网络网络攻击。由于iot设备的庞大数量,这种攻击可以仅经由分布式拒绝服务(ddos)攻击对互联网基础设施造成广泛的破坏。为了保护iot免受此类威胁,互联网服务提供商(isp)必须了解并辨别(fingerprint)网络中存在的iot。因此,现在首先要确保在多个组织频繁使用的iot上实施适当的安全措施。

3、从isp的角度来看,很难确定网络的iot格局(即,识别正在使用的iot以及有多少iot)。这个问题主要有两个原因:首先,iot设备有许多不同的类型和型号。因此,人们不可能为每种类型和型号的iot定义规则,以辨别它们中的每一个。因此,本领域技术人员已经提出,应该采用机器学习技术来解决这个问题。其次,许多iot设备通常位于网络(例如,家庭网络、办公室网络等)内。由于所有这些iot设备都将经历网络地址转换(nat),因此,这些iot将共享相同的ip地址。从isp的角度来看,只能观察到聚合流量。因此,从任何ip地址观察到的流量都变成了nat后设备产生的流量的混合和融合。因此,只能向isp呈现nat后网络的不透明视图。

4、结果,本领域的技术人员已经尝试使用包括域名系统(dns)数据、ip流信息输出(ipfix)数据甚至pcap数据的大量数据来解决这些问题。

5、由本领域技术人员提出的第一方法之一采用网络数据包特征来识别iot设备的行为。这种方法示出了网络流,特别是pcap数据,可以用于识别和辨别iot设备。在这种方法中,使用数据包特征来针对每个数据包手动提取23个向量。对若干连续的数据包重复该过程,以提取特征矩阵f。该特征矩阵随后用于训练分类器,以确定特定设备的存在。

6、这种方法的结果是有希望的,因为它们示出了以81.5%的平均准确度对27种设备进行分类的能力。虽然这种方法示出了辨别设备的可能性,但这里的假设是,目标是只对辨别位于网络内的iot设备。

7、虽然对企业安全有用,但它们不能满足isp的需要,它们不能简单地期望每个ip都属于唯一的iot。相反,在nat-ed网络中,许多iot共享单个ip地址。这种方法面临的另一个问题是,只有当iot设备被装载到网络上时,才收集签名集合(即,收集f。因此,iot可能只有在联网时才能被检测到。这种方法具有一定意义,因为它意味着iot在装载到网络上时表现出唯一的行为,而正常操作期间的设备行为是未知的。从isp的角度来看,仅在iot装载到网络上时检测到它们是没有意义的。isp希望了解当前网络上的现有设备,即使这些iot被nat混淆。

8、为了解决上述问题,还提出了将有效载荷特征也添加到特征矩阵f中。发现获得了类似的结果,但是这种方法仍然存在类似的缺点,因为它假设可以基于每个设备的mac地址对流量进行分组。因此,这种方法仍然不能解决nat-ed流量的问题。

9、鉴于现有方法面临的问题,本领域技术人员提出了多步骤方法。在第一阶段,收集来自各个iot的流量。然后,使用多种启发法来分析收集的流量,以从每个iot设备中提取序列配置文件。一旦建立了这些序列配置文件的字典,相同的特征提取过程将被应用于原始流量。然后,执行已处理的原始流量与每个序列配置文件的成对子序列匹配。如果在序列中发现匹配,那么对于匹配的iot,在该时刻的计数将增加1。在该过程结束时,将会生成每个iot的计数时间序列。然后这些可以通过卷积神经网络来计数iot的数量。然而,这种方法有许多严重的缺点。

10、第一缺点是序列配置文件的提取涉及大量的人工和特征工程。例如,对于每个iot设备,首先需要为每个协议和端口形成流量序列。在此过程中,很难确定流量的新的数据包是属于先前的序列还是涉及新的序列。因此,本领域技术人员采用启发法来解决这个问题。在收集了这些序列之后,将需要决定应该保留多少这样的序列。潜在的问题是,一些iot流量包括没有独特的行为的随机的用户交互。因此,必须引入涉及启发法和人工工程的另一大组规则,以发现识别应当添加到与特定iot相关联的序列配置文件数据库中的重要物联网流量的方式和手段。

11、第二缺点是匹配的时间序列的生成在计算上非常密集。这是因为对于每个iot设备,需要对收集的流量和数据库中的每个序列配置文件进行成对比较。进而,进行子序列匹配。因此,对于每个子序列,需要对每个iot设备的每个序列配置文件进行成对匹配。

12、最后,为了确定新的数据包是否是先前序列的一部分,为每个现有协议提出了特征列表。例如,与tcp协议相关联的特征包括“时间、协议、方向、ttl、有效载荷长度、tcp标志、tcp窗口大小和tcp选项”,而与udp和其他类型的协议相关联的特征包括“时间、协议、方向、ttl和有效载荷长度”。请注意,在提出的所有功能中,大多数isp通常记录时间、协议、字节、ttl和tcp标志的双向流。关于协议特定细节和有效载荷细节的详细信息很少被记录。这增加了确定新的数据包是否属于先前序列的难度。因此,我们注意到,整个算法取决于所提出的特征提取过程,该过程涉及极大量的、isp通常不会记录的特征,以及许多用于迭代地确定数据包是否属于新的序列的启发法。随着iot设备数量的增加,这与对每个提取的签名进行成对匹配的需要相结合,对isp级数据提出了可扩展性问题和通用性问题。简而言之,很难确定用于提取序列配置文件的大组启发法是否适用于新类型的iot。

13、最近,提出了可以根据isp网络中的ip流信息导出(ipfix)记录来识别iot设备。对以ipfix格式记录的双向流进行分析,以确定这些流记录是否可以用于指示特定iot的存在。提出了将ipfix记录中发现的特征传递给分类器,例如随机森林分类器、神经网络等,以确定是否可以根据这些记录来确定特定iot的存在。

14、然而,这种方法面临一些问题。首先,由于大多数isp通常不会记录ipfix记录中的每单个字段,因此只能获得数据包计数和八位位组计数。这意味着在ipfix记录中可能发现的所有特征中,人们将只能获得其中的两个。第二,基于每个记录基础执行分类步骤。假设单个ipfix流记录相当于nat-ed流量,并通过构建分类器来分析单个ipfix记录,可以有效地窥视nat后的情况。虽然这是真的,但这种方法会导致非常高的虚警率,仅因为可以预见在isp流量中有大量的流记录。基于可以预见的isp流中的流记录的数量,即使是误差百分比很小的近乎完美的模型也会有很多虚警。

15、上面提出的iot辨别方法中最费力的任务之一是需要提取iot流量签名。这是一个至关重要的过程,因为并非为特定iot收集的所有iot流量都定义了iot的特性,原因是其中一些流量可能包括人类交互行为,一些流量可能包括补丁的随机下载、同步等。事实上,这些行为中的一些在理论上可能与其他iot无法区分,因为它们可能共享相同的底层代码。因此,这种流量甚至不应该用于训练分类器模型,以免噪声和混淆被引入模型训练过程。

16、除了分析诸如ipfix记录和pcap数据等流量,dns流量也可用于检测iot设备的存在。本领域的技术人员表明,不同的iot生成对特定域的唯一dns查询。因此,提出使用词频-逆向文件频率(tf-idf)方法来每天提取每个iot设备的特征向量。因此,对于收集数据的每天和iot设备,将经由tf-idf方法产生特征向量。然后收集这些特征向量,以形成各种iot设备的签名数据库。在测试期间,dns流量将经由相同的tf-idf方法转换为向量。随后,余弦相似性度量用于确定特定流量是否包含iot,并且发现该方法即使对于nat-ed dns流量数据也有良好效果。

17、虽然这种方法有其优点,但请注意,它对dns数据进行操作,并且这些特征实际上只是在训练数据中观察到的对域的访问计数,由此这些特征经由tf-idf方法进行处理。然而,请注意,向量相似性比较方法并不是为了对nat-ed数据进行概括而设计的。例如,如果同一iot类型的多个设备位于nat之后,则观察到的流量可以是之前为该iot设备的单个实例收集的所有签名的线性组合。最终向量可能或可能不表现出与每个收集的签名的高余弦相似性。因此,虽然这种方法可以检测nat后的不同iot设备,但是请注意,这仅对在nat后每种类型的iot设备中仅有一个存在时有效。

18、出于上述原因,本领域的技术人员不断努力想出一种方式,不仅识别nat-ed流量(即,从单个路由器观察到的流量,其后可能有多个iot和用户),而且遍历它们以获得在nat-ed流量中发现多少这样的设备的想法。本领域技术人员希望能够识别iot、遍历iot,并能够在超大型nat-ed网络遥测中做到这一点

技术实现思路

1、根据本发明的实施例提供的系统和方法解决了上述和其他问题,并且在本领域中取得了进步。

2、根据本发明的系统和方法的实施例的第一优点是,基于网络流量,无论是ipfix流量还是dns流量,可以确定、识别和遍历iot的存在。

3、根据本发明的系统和方法的实施例的第二优点是,本发明可以检测已经被nat-ed的iot的存在,由此检测是基于nat-ed的网络流量来完成的,无论它是ipfix流量还是dns流量。

4、根据本发明的系统和方法的实施例的第三优点是,相对于基于ipfix流的流量,无论其是否为nat-ed,本发明利用定制损失函数来训练深度神经网络以端到端的方式大规模地自动检测和遍历iot,而不需要手动设计或微调特征。

5、根据本发明的系统和方法的实施例的第四优点是,相对于基于ipfix流的流量,无论其是否是nat的,本发明利用定制损失函数以稳定、可扩展、端到端的方式训练深度神经网络,而不需要手动设计或创建人类定义的特征来稳定训练过程。

6、根据本发明的系统和方法的实施例的第五优点是,相对于dns流量,无论其是否是nat-ed,线性代数被用来以封闭形式将观察到的流量的向量分解成其成分,使得iot可以以可扩展的方式被识别和遍历。

7、根据本发明的系统和方法的实施例的第六优点是,本发明被配置为组合来自ipfix和dns两者流量的洞察,以生成综合的iot格局报告,从中可以获得关于在nat-ed网络遥测中使用的iot的信息。

8、根据本发明的方法的实施例以如下方式操作提供了上述优点。

9、根据本发明的第一方面,公开了一种用于基于已经在一段时间内收集的物联网(iot)设备的经网络地址转换的(nat-ed)网络流量来自动地辨别和遍历iot设备的系统,该系统包括:分组模块,用于生成时间区间数据库,该分组模块被配置为:从nat-ed网络流量中取得ip流信息导出(ipfix)记录;根据ipfix记录的出现时间、源互联网协议(ip)地址和目的地ip地址对其进行分组;根据ipfix记录的出现时间按时间顺序排列每个组中的ipfix记录;生成多个ipfix数据样本,由此每个ipfix数据样本是基于按时间顺序排序的ipfix记录的组生成的,由此每个ipfix数据样本包括多个离散时间序列,该离散时间序列包括与收集时间落入离散时间序列的特定时间区间内的ipfix记录相关联的协议、八位位组、反向八位位组、源端口、目的地端口、数据包和反向数据包;通信地耦合到分组模块的经训练的双头神经网络,该经训练的双头神经网络被配置为:使用经训练的神经网络的第一头,通过对所生成的数据样本执行每个设备调和二分类,来确定生成nat-ed网络流量的iot设备的身份;以及使用经训练的神经网络的第二头来遍历由经训练的神经网络的第一头部识别的每个iot设备,由此使用损失模型来训练经训练的神经网络的第一头,该损失模型将来自训练数据集的标签视为有噪声的标签,并且使用均方差(mse)损失函数来训练经训练的神经网络的第二头,并且由此用于训练该双头神经网络的训练数据集包括使用分组模块基于un-nat-ed网络流量生成的多个ipfix训练数据样本,并且包括已经经历了数据增强过程的多个ipfix训练数据样本。

10、关于本发明的第一方面,将来自训练数据集的标签视为有噪声的标签的损失模型包括由温度项t1参数化的双调和交叉熵损失函数,其中双调和归一化指数(softmax)函数被定义为

11、

12、关于本发明的第一方面,将来自训练数据集的标签视为有噪声的标签的损失模型包括由温度项t2参数化的双调和softmax函数,其中双调和softmax函数被定义为

13、其中

14、关于本发明的第一方面,为ipfix数据样本的时间区间生成协议包括分组模块被配置为:随机地选择收集时间落入该时间区间内的ipfix记录的协议。

15、关于本发明的第一方面,为ipfix数据样本的时间区间生成八位位组包括分组模块被配置为:对收集时间落入该时间区间内的ipfix记录的所有八位位组求和。

16、关于本发明的第一方面,为ipfix数据样本的时间区间生成反向八位位组包括分组模块被配置为:对收集时间落入该时间区间内的ipfix记录的所有反向八位位组求和。

17、关于本发明的第一方面,为ipfix数据样本的时间区间生成源端口包括分组模块被配置为:随机地选择收集时间落入该时间区间的ipfix记录的源端口。

18、关于本发明的第一方面,为ipfix数据样本的时间区间生成目的地端口包括分组模块被配置为:随机地选择收集时间落入该时间区间内的ipfix记录的目的地端口。

19、关于本发明的第一方面,为ipfix数据样本的时间区间生成数据包包括分组模块被配置为:对收集时间落入该时间区间内的ipfix记录的所有数据包求和。

20、关于本发明的第一方面,为ipfix数据样本的时间区间生成反向数据包包括分组模块被配置为:对收集时间落入该时间区间内的ipfix记录的所有反向数据包求和。

21、关于本发明的第一方面,数据增强过程包括分组模块,该分组模块被配置为:对于与ipfix训练数据样本相关联的每个目的地ip地址:从具有相似目的地ip地址的多个ipfix训练数据样本中选择ipfix训练数据样本;将随机循环时移应用于所选择的ipfix数据样本的时间区间;合并和重新排序时移时间区间以形成时移ipfix数据样本;将所有经时移的ipfix数据样本合并成整合的数据样本,由此整合的数据样本形成训练数据集的一部分。

22、关于本发明的第一方面,分组模块还被配置为:从整合的数据样本中随机地选择时间区间;随机地扰动这些选择的时间区间中的值。

23、关于本发明的第一方面,分组模块还被配置为:从整合的数据样本中随机地选择时间区间;并且随机地将随机噪声引入这些选择的时间区间中的值。

24、关于本发明的第一方面,训练数据集的标签包括在数据增强过程期间生成的识别标签和遍历标签。

25、根据本发明的第二方面,公开了一种用于基于已经在一段时间内收集的物联网(iot)设备的经网络地址转换的(nat-ed)网络流量来自动地辨别和遍历iot设备的系统,该系统包括:分组模块,被配置为:从nat-ed网络流量中取得域名系统(dns)记录;基于特定时间段和源互联网协议(ip)地址对dns记录进行分组,并取得与dns记录相关联的域;从该组中移除未在域数据库中发现的域,由此基于已知iot设备的dns记录生成域数据库;耦合到所述分组模块的词频-逆向文件频率(tf-idf)向量器,该tf-idf向量器被配置为:基于已知iot设备的dns记录生成iot dns签名,其中该iot dns签名包括tf-idf向量列表和归一化的tf-idf向量列表,由此tf-idf向量列表中的每个tf-idf向量之间的距离超过第一预定义相似性阈值,并且n-tf-idf向量列表中的每个n-tf-idf向量之间的距离超过第二预定义相似性阈值;以及为从分组模块获得的域组计算tf-idf向量耦合到经训练的tf-idf向量器的iot检测器和遍历器模块,该iot检测器和遍历器模块被配置为:基于tf-idf向量和iotdns签名的摩尔-彭罗斯伪逆矩阵来计算tf-idf向量的成分,由此tf-idf向量的成分表示生成nat-ed网络流量的iot设备的身份和计数。

26、关于本发明的第二方面,iot检测器和遍历器模块还被配置为:使用1-d分级聚类来对tf-idf向量的成分进行聚类;过滤掉最大值小于预定义阈值的聚类;基于剩余聚类中包含的tf-idf向量的成分,获得生成nat-ed网络流量的iot设备的身份和计数。

27、关于本发明的第二方面,iot dns签名的摩尔-彭罗斯伪逆矩阵由定义,其中由定义,其中,是从iot dns签名获得的tf-idf向量,是iot dns签名中对域的访问计数,是的转置。

28、关于本发明的第二方面,tf-idf向量的成分由定义,其中tf-idf向量定义为

29、

30、其中,是从iot dns签名获得的tf-idf向量,an是从iot dns签名获得的tf-idf向量的系数,是对iot dns签名中的域的访问计数,dn是对iot dns签名中的域的访问计数的系数,是的转置。

31、关于本发明的第二方面,由tf-idf向量器生成iot dns签名包括tf-idf向量器被配置为:获得已知iot设备的dns记录;基于特定时间段(例如,小时、天等),以及源互联网协议(ip)地址对dns记录进行分组,以及取得与这些分组的dns记录相关联的域;将tf-idf方法应用于该组域,以生成包括tf-idf向量列表和归一化的tf-idf向量列表的iot dns签名,由此tf-idf向量列表中的每个tf-idf向量之间的距离超过第一预定义相似性阈值,并且n-tf-idf向量列表中的每个n-tf-idf向量之间的距离超过第二预定义相似性阈值。

本文地址:https://www.jishuxx.com/zhuanli/20240801/242252.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。