一种确定处于通信频繁模式的受控设备的方法及系统

专利2024-04-10  106



1.本发明涉及物联网安全技术领域,并且更具体地,涉及一种确定处于通信频繁模式的受控设备的方法及系统。


背景技术:

2.受控设备是由攻击者远程控制的机器,攻击者可以通过c&c(命令和控制)通道命令受控设备协同发动大规模攻击,例如分布式拒绝服务攻击(ddos)、大规模垃圾邮件和恶意软件分发。由于物联网设备数量多且安全性弱,物联网受控设备带来的破坏性较传统攻击更大。
3.dns(域名系统)是受控设备定位服务器地址的重要媒介。因此目前有许多基于分析dns流量的检测技术,如分析dgas(domain generation algorithm)生成的随机域名的词法属性、不存在域名(简称nxdomain)、流量模式(如周期性和响应比)等,并在受控设备连接c&c服务器时度量它们之间的相似性。然而,从本质上讲,无论是nxdomain还是周期性的时间模式都不是受控设备连接c&c服务器时所必需的。具体来说,一方面,受控设备可以生成非随机域名。另一方面,攻击者可以通过调整c&c通信间隔来避免周期性行为。因此,上述检测方法在面对未知的控制通信方式时是具有应用局限性的,尤其是随着物联网设备的急剧扩展、数据量的迅速增加,上述方法在大规模物联网中部署时将受到严重阻碍。


技术实现要素:

4.本发明提出一种确定处于通信频繁模式的受控设备的方法及系统,以解决如何高效地确定处于通信频繁模式的受控设备的问题。
5.为了解决上述问题,根据本发明的一个方面,提供了一种确定处于通信频繁模式的受控设备的方法,所述方法包括:
6.获取被测设备的域名解析日志;其中,所述域名解析日志中每条记录中的信息包括:时间戳、域名和源ip;
7.基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集;
8.基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集;
9.对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备。
10.优选地,其中所述方法还包括:
11.对所述域名解析日志进行无效记录清理处理、有效字段提取和白名单过滤处理。
12.优选地,其中所述基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集,包括:
13.对于所述域名解析日志中的任一条解析记录,根据该任一条解析记录中的时间戳隶属的时间窗口,将该任一条解析记录中的时间戳映射为唯一的时间段id;
14.根据域名和时间段id进行源ip的聚合,以获取源ip-域名集;其中所述源ip-域名集中的每条聚合记录的结构为:《《域名、时间段id》、源ip列表》。
15.优选地,其中所述方法还包括:
16.确定每条聚合记录中源ip列表的长度,并剔除源ip列表的长度小于等于预设长度阈值的聚合记录。
17.优选地,其中所述基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集,包括:
18.按照源ip出现的次数对所述源ip-域名集中聚合记录进行降序排列,以获取聚合记录序列;
19.对于所述聚合记录序列中的任一条聚合记录,按照该任一条聚合记录中源ip列表中源ip的顺序进行映射,获取该任一条聚合记录对应的映射记录;
20.基于所述映射记录中的源ip列表对所有的映射记录进行汇总,获取汇总记录;
21.筛选出所述汇总记录中源ip列表的长度和《域名、时间段id》列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集;
22.对于所述ip列表汇总集中的任一个汇总记录,根据该任一个汇总记录中的源ip列表确定第一设备集。
23.优选地,其中所述方法还包括:
24.在筛选出所述汇总记录中源ip列表的长度和《域名、时间段id》列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集在前,对于所述汇总记录中的任一域名,若访问该任一域名的受控设备的数量大于等于被测设备和预设百分比的乘积,则将该任一域名在所述汇总记录中剔除。
25.优选地,其中所述对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备,包括:
26.当仅存在一个第一设备集时,将所述第一设备集作为第二设备集;当存在至少两个第二设备集时,通过计算任意两个第一设备集的jaccard距离来决定是否合并,若jaccard距离大于预设距离阈值,则进行两个第一设备集,重复执行,直到不存在可以合并的设备集时,确定剩余的设备集为第二设备集;
27.筛选出第二设备集中元素的数量大于等于第二预设数量的第二设备集作为目标设备集,并根据所述目标设备集中的源ip确定处于通信频繁模式的受控设备。
28.根据本发明的另一个方面,提供了一种确定处于通信频繁模式的受控设备的系统,所述系统包括:
29.日志获取单元,用于获取被测设备的域名解析日志;其中,所述域名解析日志中每条记录中的信息包括:时间戳、域名和源ip;
30.聚合单元,用于基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集;
31.设备集获取单元,用于基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集;
32.受控设备确定单元,用于对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备。
33.优选地,其中所述系统还包括:
34.预处理单元,用于对所述域名解析日志进行无效记录清理处理、有效字段提取和白名单过滤处理。
35.优选地,其中所述聚合单元,基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集,包括:
36.对于所述域名解析日志中的任一条解析记录,根据该任一条解析记录中的时间戳隶属的时间窗口,将该任一条解析记录中的时间戳映射为唯一的时间段id;
37.根据域名和时间段id进行源ip的聚合,以获取源ip-域名集;其中所述源ip-域名集中的每条聚合记录的结构为:《《域名、时间段id》、源ip列表》。
38.优选地,其中所述聚合单元,还用于:
39.确定每条聚合记录中源ip列表的长度,并剔除源ip列表的长度小于等于预设长度阈值的聚合记录。
40.优选地,其中所述设备集获取单元,基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集,包括:
41.按照源ip出现的次数对所述源ip-域名集中聚合记录进行降序排列,以获取聚合记录序列;
42.对于所述聚合记录序列中的任一条聚合记录,按照该任一条聚合记录中源ip列表中源ip的顺序进行映射,获取该任一条聚合记录对应的映射记录;
43.基于所述映射记录中的源ip列表对所有的映射记录进行汇总,获取汇总记录;
44.筛选出所述汇总记录中源ip列表的长度和《域名、时间段id》列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集;
45.对于所述ip列表汇总集中的任一个汇总记录,根据该任一个汇总记录中的源ip列表确定第一设备集。
46.优选地,其中所述设备集获取单元,还用于:
47.在筛选出所述汇总记录中源ip列表的长度和《域名、时间段id》列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集在前,对于所述汇总记录中的任一域名,若访问该任一域名的受控设备的数量大于等于被测设备和预设百分比的乘积,则将该任一域名在所述汇总记录中剔除。
48.优选地,其中所述受控设备确定单元,对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备,包括:
49.当仅存在一个第一设备集时,将所述第一设备集作为第二设备集;当存在至少两个第二设备集时,通过计算任意两个第一设备集的jaccard距离来决定是否合并,若jaccard距离大于预设距离阈值,则进行两个第一设备集,重复执行,直到不存在可以合并的设备集时,确定剩余的设备集为第二设备集;
50.筛选出第二设备集中元素的数量大于等于第二预设数量的第二设备集作为目标设备集,并根据所述目标设备集中的源ip确定处于通信频繁模式的受控设备。
51.基于本发明的另一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种确定处于通信频繁模式的受控设备的方法中任一项的步骤。
52.基于本发明的另一方面,本发明提供一种电子设备,包括:
53.上述的计算机可读存储介质;以及
54.一个或多个处理器,用于执行所述计算机可读存储介质中的程序。
55.本发明提供了一种确定处于通信频繁模式的受控设备的方法及系统,包括:获取被测设备的域名解析日志;其中,所述域名解析日志中每条记录中的信息包括:时间戳、域名和源ip;基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集;基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集;对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备。本发明将受控设备通信的频繁模式作为基本特征,采用频繁模式挖掘算法,并利用前缀树作为索引进行处于通信频繁模式的受控设备的检测,只需扫描两次数据集即可,可以显著降低受控设备检测的时间复杂度,本发明的方法可采用并行框架实现,可进一步提高其在大规模物联网环境下的可扩展性。
附图说明
56.通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
57.图1为根据本发明实施方式的确定处于通信频繁模式的受控设备的方法100的流程图;
58.图2为根据本发明实施方式构建源ip-域名集的示意图;
59.图3为根据本发明实施方式的频繁模式挖掘的示意图;
60.图4为根据本发明实施方式的确定处于通信频繁模式的受控设备的系统400的结构示意图。
具体实施方式
61.现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
62.除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
63.攻击者控制受控设备协同发动大规模攻击,其本质是一个大型的、分布式的、远程控制的系统。因此,无论攻击者如何努力地隐藏他们的行为,也始终有一些受控设备必须合作进行攻击。即使受控设备通过一个随机时间窗口,非周期性地请求接收同一组非随机的命令,然后同步发动攻击。但是,如果这些受控设备重复合作动作,例如接收多个攻击命令,它们将在多个域名或服务器之间呈现频繁的请求关系模式。这一特性对于物联网设备来说将更加显著,因为它们比传统设备的规模更大。基于上述特征,本发明提出了一种面向物联网环境的受控设备检测方法,通过搜索域名查询的频繁模式来实现受控设备检测。
64.图1为根据本发明实施方式的确定处于通信频繁模式的受控设备的方法100的流
程图。如图1所示,本发明实施方式提供的确定处于通信频繁模式的受控设备的方法,将受控设备通信的频繁模式作为基本特征,采用频繁模式挖掘算法,并利用前缀树作为索引进行处于通信频繁模式的受控设备的检测,只需扫描两次数据集即可,可以显著降低受控设备检测的时间复杂度,本发明的方法可采用并行框架实现,可进一步提高其在大规模物联网环境下的可扩展性。本发明实施方式提供的确定处于通信频繁模式的受控设备的方法100,从步骤101处开始,在步骤101获取被测设备的域名解析日志;其中,所述域名解析日志中每条记录中的信息包括:时间戳、域名和源ip。
65.优选地,其中所述方法还包括:
66.对所述域名解析日志进行无效记录清理处理、有效字段提取和白名单过滤处理。
67.在本发明中,获取被测的受控设备的域名解析日志,其中,每条记录中的信息包括:时间戳、域名和源ip。在获取被测设备的域名解析日志后,还需要对域名解析日志中的记录进行预处理,以进行数据清理。
68.具体地,预处理,包括:无效记录清理、有效字段提取和白名单过滤三步子步骤。其中,过滤掉无效记录,是对错误的域名格式记录和损坏的记录进行过滤。有效字段提取,是指对于每条记录,提取三个有效字段:时间戳、域名和源ip。白名单过滤,是指利用白名单删除可能干扰检测的流行域名的记录。白名单由两部分组成,一是来自alexa的前100万个域名,二是与互联网流行服务相关的域名,例如cdn服务域名。
69.在步骤102,基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集。
70.优选地,其中所述基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集,包括:
71.对于所述域名解析日志中的任一条解析记录,根据该任一条解析记录中的时间戳隶属的时间窗口,将该任一条解析记录中的时间戳映射为唯一的时间段id;
72.根据域名和时间段id进行源ip的聚合,以获取源ip-域名集;其中所述源ip-域名集中的每条聚合记录的结构为:《《域名、时间段id》、源ip列表》。
73.优选地,其中所述方法还包括:
74.确定每条聚合记录中源ip列表的长度,并剔除源ip列表的长度小于等于预设长度阈值的聚合记录。
75.在本发明中,为了提取在一段时间内查询同一组域名的设备,利用域名作为关键词来聚合在一段时间内查询同一域名的设备,然后构造源ip-域名集,具体步骤如下:
76.对于域名解析日志中的任一条记录,根据时间戳隶属的时间窗口,将时间戳映射为唯一的时间段id。其中,时间段的长短根据具体网络环境确定。
77.根据域名和时间段id聚合源ip,形成结构为《《域名、时间段id》、源ip列表》的dwti(domain with timeid)记录,以获取源ip-域名集。
78.另外,在本发明中,还可以移除源ip列表长度小于预设长度阈值tips的记录。tips的建议取值为5。
79.通过以上步骤,即可得到源ip-域名集,每条聚合记录表示在一个时间窗口内至少存在tips台设备查询相同的域名。
80.例如,对于获取的被测设备的域名解析日志进行预处理后,保留了域名a.com、b.com以及c.com。在构建源ip-域名集阶段,如图2所示,设备源ip1、源ip2、源ip3在时间段
t1查询域名a.com,设备源ip1、源ip2、源ip3、源ip5在时间段t1查询域名b.com,设备源ip1、源ip3、源ip4在时间段t2查询a.com,设备源ip1、源ip2、源ip3、源ip4在时间段t3查询域名c.com,设备源ip5在时间段t4查询域名c.com。根据域名和时间段id聚合源ip如下:
81.《《a.com,t1》[源ip1,源ip2,源ip3]》
[0082]
《《b.com,t1》[源ip1,源ip2,源ip3,源ip5]》
[0083]
《《a.com,t2》[源ip1,源ip3,源ip4]》
[0084]
《《c.com,t3》[源ip1,源ip2,源ip3,源ip4]》
[0085]
《《c.com,t4》[源ip5]》。
[0086]
为便于描述和理解,本实施例中列举的设备数量较少,因此将tips取值为2,移除源ip列表长度小于tips的记录得到结果如下。
[0087]
《《a.com,t1》[源ip1,源ip2,源ip3]》
[0088]
《《b.com,t1》[源ip1,源ip2,源ip3,源ip5]》
[0089]
《《a.com,t2》[源ip1,源ip3,源ip4]》
[0090]
《《c.com,t3》[源ip1,源ip2,源ip3,源ip4]》。
[0091]
在步骤103,基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集。
[0092]
优选地,其中所述基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集,包括:
[0093]
按照源ip出现的次数对所述源ip-域名集中聚合记录进行降序排列,以获取聚合记录序列;
[0094]
对于所述聚合记录序列中的任一条聚合记录,按照该任一条聚合记录中源ip列表中源ip的顺序进行映射,获取该任一条聚合记录对应的映射记录;
[0095]
基于所述映射记录中的源ip列表对所有的映射记录进行汇总,获取汇总记录;
[0096]
筛选出所述汇总记录中源ip列表的长度和《域名、时间段id》列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集;
[0097]
对于所述ip列表汇总集中的任一个汇总记录,根据该任一个汇总记录中的源ip列表确定第一设备集。
[0098]
优选地,其中所述方法还包括:
[0099]
在筛选出所述汇总记录中源ip列表的长度和《域名、时间段id》列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集在前,对于所述汇总记录中的任一域名,若访问该任一域名的受控设备的数量大于等于被测设备和预设百分比的乘积,则将该任一域名在所述汇总记录中剔除。
[0100]
在本发明中,在频繁模式挖掘时,构造一个fp树,并维护每个节点的dwti列表。在fp树中,从根到树中节点的每一条路径都是一个频繁模式。对于出现在不同路径上的节点,递归地构造它的子fp树。
[0101]
具体地,频繁模式挖掘并确定设备集的实现步骤如下:
[0102]
a)根据每条聚合记录中源ip列表中的源ip出现的次数对所有的聚合记录进行降序排列,获取聚合记录序列;
[0103]
b)依次对聚合记录序列中的每条聚合记录进行分析,对于任一条源ip列表长度为
n的一条记录,将其映射到n条从0开始的不同源ip子列表的记录,并根据源ip列表汇总所有记录;其中,对于一些大规模数据,由于n太大可能会导致内存溢出。因此,可以映射一部分源ip列表,先聚合它们,然后再映射其余的;
[0104]
c)提取源ip列表中源ip的数目和《域名、时间段id》列表的长度均大于等于第一预设数量tips的记录进行保留,从而获取源ip列表汇总集;
[0105]
d)根据源ip列表汇总集得到第一设备集。具体地,对于所述ip列表汇总集中的任一个汇总记录,根据该任一个汇总记录中的源ip列表确定第一设备集。
[0106]
需要注意的是,本发明的目标是检测受控设备,而不是找到所有频繁的模式。考虑到dns日志记录数量巨大,受控设备会多次出现在不同的频繁模式,一些缺失的频繁模式是可以接受的。
[0107]
另外,在得到的频繁模式中可能存在一些流行但没有被过滤掉的域名。这些域名大多是与移动终端相关的域名或广告域名。直观地说,一个被越多设备访问的域名越有可能是良性的。因此,在本发明中还可以通过计算被测设备的总数n和预设百分比t
percent
的乘积过滤掉这些流行的域名。具体地,删除访问域名的受控设备的数量大于等于被测设备的总数n和预设百分比t
percent
的乘积的域名。
[0108]
继续以上述例子为例,进行频繁模式挖掘,获取设备集的过程如图3所示。
[0109]
首先,按照源ip出现的次数降序排列如下:
[0110]
《《a.com,t1》[源ip1,源ip3,源ip2]》
[0111]
《《b.com,t1》[源ip1,源ip3,源ip2,源ip5]》
[0112]
《《a.com,t2》[源ip1,源ip3,源ip4]》
[0113]
《《c.com,t3》[源ip1,源ip3,源ip2,源ip4]》。
[0114]
然后,对于已排序的源ip列表长度为n的一条记录,将其映射到n条从0开始的不同源ip子列表的记录,并根据源ip列表汇总所有记录。
[0115]
例如,记录《《a.com,t1》[源ip1,源ip3,源ip2]》的源ip列表长度n=3,则将其映射为3条源ip子列表记录如下:
[0116]
《[源ip1],《a.com,t1》》
[0117]
《[源ip1,源ip3],《a.com,t1》》
[0118]
《[源ip1,源ip3,源ip2],《a.com,t1》》。
[0119]
类似地,将上述实施例中所有的4条记录全部映射如下:
[0120]
《[源ip1],《a.com,t1》》
[0121]
《[源ip1,源ip3],《a.com,t1》》
[0122]
《[源ip1,源ip3,源ip2],《a.com,t1》》
[0123]
《[源ip1],《b.com,t1》》
[0124]
《[源ip1,源ip3],《b.com,t1》》
[0125]
《[源ip1,源ip3,源ip2],《b.com,t1》》
[0126]
《[源ip1,源ip3,源ip2,源ip5],《b.com,t1》》
[0127]
《[源ip1],《a.com,t2》》
[0128]
《[源ip1,源ip3],《a.com,t2》》
[0129]
《[源ip1,源ip3,源ip4],《a.com,t2》》
[0130]
《[源ip1],《c.com,t3》》
[0131]
《[源ip1,源ip3],《c.com,t3》》
[0132]
《[源ip1,源ip3,源ip2],《c.com,t3》》
[0133]
《[源ip1,源ip3,源ip2,源ip4],《c.com,t3》》。
[0134]
然后,根据源ip列表汇总所有记录如下:
[0135]
《[源ip1],{《a.com,t1》,《b.com,t1》,《a.com,t2》,《c.com,t3》}》
[0136]
《[源ip1,源ip3],{《a.com,t1》,《b.com,t1》,《a.com,t2》,《c.com,t3》}》
[0137]
《[源ip1,源ip3,源ip2],{《a.com,t1》,《b.com,t1》,《c.com,t3》}》
[0138]
《[源ip1,源ip3,源ip4],{《a.com,t2》}》
[0139]
《[源ip1,源ip3,源ip2,源ip4],{《c.com,t3》}》
[0140]
《[源ip1,源ip3,源ip2,源ip5],{《b.com,t1》}》。
[0141]
然后,提取源ip列表的长度和dwtis的长度超过tips个的记录保留,如下:
[0142]
《[源ip1,源ip3],{《a.com,t1》,《b.com,t1》,《a.com,t2》,《c.com,t3》}》
[0143]
《[源ip1,源ip3,源ip2],{《a.com,t1》,《b.com,t1》,《c.com,t3》}》。
[0144]
最后,对于任一条记录,根据该任一个汇总记录中的源ip列表确定第一设备集。因此,可以得到得到2个第一设备集,分别为:{源ip1,源ip3}和{源ip1,源ip3,源ip2}。
[0145]
在发明中,还可以在提取源ip列表的长度和dwtis的长度超过tips个的记录保留前,根据被测设备的总数n和预设百分比t
percent
的乘积过滤掉流行域名。例如,若被测的受控设备的总数是100,t
percent
为5%,那么乘积就是5,也就是说,如果有5个设备都访问了域名,那么判定该域名为良性的,可以被过滤掉。
[0146]
在步骤104,对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备。
[0147]
优选地,其中所述对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备,包括:
[0148]
当仅存在一个第一设备集时,将所述第一设备集作为第二设备集;当存在至少两个第二设备集时,通过计算任意两个第一设备集的jaccard距离来决定是否合并,若jaccard距离大于预设距离阈值,则进行两个第一设备集,重复执行,直到不存在可以合并的设备集时,确定剩余的设备集为第二设备集;
[0149]
筛选出第二设备集中元素的数量大于等于第二预设数量的第二设备集作为目标设备集,并根据所述目标设备集中的源ip确定处于通信频繁模式的受控设备。
[0150]
在本发明中,在获取第一设备集后,首先判断存在几个第一设备集。其中,若存在一个,则直接直接将所述第一设备集作为第二设备集,并判断第二设备集中元素的数量是否大于等于第二预设数量,若是,则将所述第二设备集作为目标设备集,最后根据目标设备集中所有的源ip对应的受控设备确定处于通信频繁模式的受控设备;若否,则确定不存在处于通信频繁模式的受控设备。若存在多个第一设备集,则通过计算两个设备集的jaccard距离来决定是否合并。如果jaccard距离大于预设距离阈值tdistance,则合并设备集,重复执行上述步骤,直到没有设备集可以合并为止,确定剩余的设备集为第二设备集。tdistance的建议取值为0.5。然后再筛选出第二设备集中元素的数量是否大于等于第二预设数量的第二设备集作为目标设备集,最后根据目标设备集中所有的源ip对应的受控设备
确定处于通信频繁模式的受控设备。
[0151]
本发明通过计算两个设备集的jaccard距离来决定是否合并。如果jaccard距离大于阈值t
distance
,则合并设备集。重复执行上述步骤,直到没有设备集可以合并为止。例如,若t
distance
取0.5,若设备集d1={d1,d3},d2={d1,d3,d2},则两设备集的jaccard距离为:
[0152][0153]
因此,设备集d1和d2可进行合并。
[0154]
继续以上述例子为例,进行群体聚类,确定处于通信频繁模式的受控设备。通过计算得到两个设备集的jaccard距离大于0.5,可以合并,因此进行合并,合并后设备集{源ip1,源ip3,源ip2}中元素的个数也大于预设数量3,因此,确定源ip1,源ip3,源ip2对应的设备均为处于通信频繁模式的受控设备。
[0155]
本发明实施方式提供了一种物联网受控设备通信频繁模式检测方法,通过分析dns流量,基于受控设备通信的频繁模式这一基本特征对受控设备进行检测,利用前缀树作为索引,只需扫描两次数据集即可实现,显著降低检测的时间复杂度。此外,该算法可采用并行框架实现,可进一步提高其在大规模物联网环境下的可扩展性。
[0156]
图4为根据本发明实施方式的确定处于通信频繁模式的受控设备的系统400的结构示意图。如图4所示,本发明实施方式提供的确定处于通信频繁模式的受控设备的系统400,包括:日志获取单元401、聚合单元402、设备集获取单元403和受控设备确定单元404。
[0157]
优选地,所述日志获取单元401,用于获取被测设备的域名解析日志;其中,所述域名解析日志中每条记录中的信息包括:时间戳、域名和源ip。
[0158]
优选地,其中所述系统还包括:
[0159]
预处理单元,用于对所述域名解析日志进行无效记录清理处理、有效字段提取和白名单过滤处理。
[0160]
优选地,所述聚合单元402,用于基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集。
[0161]
优选地,其中所述聚合单元402,基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集,包括:
[0162]
对于所述域名解析日志中的任一条解析记录,根据该任一条解析记录中的时间戳隶属的时间窗口,将该任一条解析记录中的时间戳映射为唯一的时间段id;
[0163]
根据域名和时间段id进行源ip的聚合,以获取源ip-域名集;其中所述源ip-域名集中的每条聚合记录的结构为:《《域名、时间段id》、源ip列表》。
[0164]
优选地,其中所述聚合单元402,还用于:
[0165]
确定每条聚合记录中源ip列表的长度,并剔除源ip列表的长度小于等于预设长度阈值的聚合记录。
[0166]
优选地,所述设备集获取单元403,用于基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集。
[0167]
优选地,其中所述设备集获取单元403,基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集,包括:
[0168]
按照源ip出现的次数对所述源ip-域名集中聚合记录进行降序排列,以获取聚合
记录序列;
[0169]
对于所述聚合记录序列中的任一条聚合记录,按照该任一条聚合记录中源ip列表中源ip的顺序进行映射,获取该任一条聚合记录对应的映射记录;
[0170]
基于所述映射记录中的源ip列表对所有的映射记录进行汇总,获取汇总记录;
[0171]
筛选出所述汇总记录中源ip列表的长度和《域名、时间段id》列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集;
[0172]
对于所述ip列表汇总集中的任一个汇总记录,根据该任一个汇总记录中的源ip列表确定第一设备集。
[0173]
优选地,其中所述设备集获取单元403,还用于:
[0174]
在筛选出所述汇总记录中源ip列表的长度和《域名、时间段id》列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集在前,对于所述汇总记录中的任一域名,若访问该任一域名的受控设备的数量大于等于被测设备和预设百分比的乘积,则将该任一域名在所述汇总记录中剔除。
[0175]
优选地,所述受控设备确定单元404,用于对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备。
[0176]
优选地,其中所述受控设备确定单元404,对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备,包括:
[0177]
当仅存在一个第一设备集时,将所述第一设备集作为第二设备集;当存在至少两个第二设备集时,通过计算任意两个第一设备集的jaccard距离来决定是否合并,若jaccard距离大于预设距离阈值,则进行两个第一设备集,重复执行,直到不存在可以合并的设备集时,确定剩余的设备集为第二设备集;
[0178]
筛选出第二设备集中元素的数量大于等于第二预设数量的第二设备集作为目标设备集,并根据所述目标设备集中的源ip确定处于通信频繁模式的受控设备。
[0179]
本发明的实施例的确定处于通信频繁模式的受控设备的系统400与本发明的另一个实施例的确定处于通信频繁模式的受控设备的方法100相对应,在此不再赘述。
[0180]
基于本发明的另一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种确定处于通信频繁模式的受控设备的方法中任一项的步骤。
[0181]
基于本发明的另一方面,本发明提供一种电子设备,包括:
[0182]
上述的计算机可读存储介质;以及
[0183]
一个或多个处理器,用于执行所述计算机可读存储介质中的程序。
[0184]
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
[0185]
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。
[0186]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序
产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0187]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0188]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0189]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0190]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

技术特征:
1.一种确定处于通信频繁模式的受控设备的方法,其特征在于,所述方法包括:获取被测设备的域名解析日志;其中,所述域名解析日志中每条记录中的信息包括:时间戳、域名和源ip;基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集;基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集;对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述域名解析日志进行无效记录清理处理、有效字段提取和白名单过滤处理。3.根据权利要求1所述的方法,其特征在于,所述基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集,包括:对于所述域名解析日志中的任一条解析记录,根据该任一条解析记录中的时间戳隶属的时间窗口,将该任一条解析记录中的时间戳映射为唯一的时间段id;根据域名和时间段id进行源ip的聚合,以获取源ip-域名集;其中所述源ip-域名集中的每条聚合记录的结构为:<<域名、时间段id>、源ip列表>。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:确定每条聚合记录中源ip列表的长度,并剔除源ip列表的长度小于等于预设长度阈值的聚合记录。5.根据权利要求1所述的方法,其特征在于,所述基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集,包括:按照源ip出现的次数对所述源ip-域名集中聚合记录进行降序排列,以获取聚合记录序列;对于所述聚合记录序列中的任一条聚合记录,按照该任一条聚合记录中源ip列表中源ip的顺序进行映射,获取该任一条聚合记录对应的映射记录;基于所述映射记录中的源ip列表对所有的映射记录进行汇总,获取汇总记录;筛选出所述汇总记录中源ip列表的长度和<域名、时间段id>列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集;对于所述ip列表汇总集中的任一个汇总记录,根据该任一个汇总记录中的源ip列表确定第一设备集。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在筛选出所述汇总记录中源ip列表的长度和<域名、时间段id>列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集在前,对于所述汇总记录中的任一域名,若访问该任一域名的受控设备的数量大于等于被测设备和预设百分比的乘积,则将该任一域名在所述汇总记录中剔除。7.根据权利要求1所述的方法,其特征在于,所述对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备,包括:当仅存在一个第一设备集时,将所述第一设备集作为第二设备集;当存在至少两个第二设备集时,通过计算任意两个第一设备集的jaccard距离来决定是否合并,若jaccard距
离大于预设距离阈值,则进行两个第一设备集,重复执行,直到不存在可以合并的设备集时,确定剩余的设备集为第二设备集;筛选出第二设备集中元素的数量大于等于第二预设数量的第二设备集作为目标设备集,并根据所述目标设备集中的源ip确定处于通信频繁模式的受控设备。8.一种确定处于通信频繁模式的受控设备的系统,其特征在于,所述系统包括:日志获取单元,用于获取被测设备的域名解析日志;其中,所述域名解析日志中每条记录中的信息包括:时间戳、域名和源ip;聚合单元,用于基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集;设备集获取单元,用于基于所述源i p-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集;受控设备确定单元,用于对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备。9.根据权利要求8所述的系统,其特征在于,所述系统还包括:预处理单元,用于对所述域名解析日志进行无效记录清理处理、有效字段提取和白名单过滤处理。10.根据权利要求8所述的系统,其特征在于,所述聚合单元,基于所述时间戳对所述域名解析日志进行聚合,以构建源ip-域名集,包括:对于所述域名解析日志中的任一条解析记录,根据该任一条解析记录中的时间戳隶属的时间窗口,将该任一条解析记录中的时间戳映射为唯一的时间段id;根据域名和时间段id进行源ip的聚合,以获取源ip-域名集;其中所述源ip-域名集中的每条聚合记录的结构为:<<域名、时间段id>、源ip列表>。11.根据权利要求10所述的系统,其特征在于,所述聚合单元,还用于:确定每条聚合记录中源ip列表的长度,并剔除源ip列表的长度小于等于预设长度阈值的聚合记录。12.根据权利要求8所述的系统,其特征在于,所述设备集获取单元,基于所述源ip-域名集进行频繁模式挖掘,获取源ip列表汇总集,并基于所述源ip列表汇总集确定第一设备集,包括:按照源ip出现的次数对所述源ip-域名集中聚合记录进行降序排列,以获取聚合记录序列;对于所述聚合记录序列中的任一条聚合记录,按照该任一条聚合记录中源ip列表中源ip的顺序进行映射,获取该任一条聚合记录对应的映射记录;基于所述映射记录中的源ip列表对所有的映射记录进行汇总,获取汇总记录;筛选出所述汇总记录中源ip列表的长度和<域名、时间段id>列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集;对于所述ip列表汇总集中的任一个汇总记录,根据该任一个汇总记录中的源ip列表确定第一设备集。13.根据权利要求12所述的系统,其特征在于,所述设备集获取单元,还用于:在筛选出所述汇总记录中源ip列表的长度和<域名、时间段id>列表的长度均大于等于第一预设数量的记录进行保留,以获取源ip列表汇总集在前,对于所述汇总记录中的任一
域名,若访问该任一域名的受控设备的数量大于等于被测设备和预设百分比的乘积,则将该任一域名在所述汇总记录中剔除。14.根据权利要求8所述的系统,其特征在于,所述受控设备确定单元,对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备,包括:当仅存在一个第一设备集时,将所述第一设备集作为第二设备集;当存在至少两个第二设备集时,通过计算任意两个第一设备集的jaccard距离来决定是否合并,若jaccard距离大于预设距离阈值,则进行两个第一设备集,重复执行,直到不存在可以合并的设备集时,确定剩余的设备集为第二设备集;筛选出第二设备集中元素的数量大于等于第二预设数量的第二设备集作为目标设备集,并根据所述目标设备集中的源ip确定处于通信频繁模式的受控设备。15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。16.一种电子设备,其特征在于,包括:权利要求15中所述的计算机可读存储介质;以及一个或多个处理器,用于执行所述计算机可读存储介质中的程序。

技术总结
本发明公开了一种确定处于通信频繁模式的受控设备的方法及系统,包括:获取被测设备的域名解析日志;基于所述时间戳对所述域名解析日志进行聚合,以构建源I P-域名集;基于所述源I P-域名集进行频繁模式挖掘,获取源I P列表汇总集,并基于所述源I P列表汇总集确定第一设备集;对所述第一设备集进行聚类,以获取第二设备集,并基于所述第二设备集,确定处于通信频繁模式的受控设备。本发明将受控设备通信的频繁模式作为基本特征,采用频繁模式挖掘算法,并利用前缀树作为索引进行处于通信频繁模式的受控设备的检测,可以显著降低受控设备检测的时间复杂度,可采用并行框架实现,进一步提高其在大规模物联网环境下的可扩展性。一步提高其在大规模物联网环境下的可扩展性。一步提高其在大规模物联网环境下的可扩展性。


技术研发人员:周亮 朱亚运 蔺子卿 罗熙 缪思薇 殷丽华 张晓娟 曹靖怡 姜琳 王彬彬 张蕾
受保护的技术使用者:广州大学 国网上海市电力公司 国家电网有限公司
技术研发日:2022.06.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-7683.html

最新回复(0)