掌桥专利:专业的专利平台
掌桥专利
首页

网络地址的探测方法及装置、系统、电子设备

文献发布时间:2024-04-18 20:01:55


网络地址的探测方法及装置、系统、电子设备

技术领域

本申请涉及网络安全技术领域,尤其涉及一种网络地址的探测方法及装置、系统、电子设备。

背景技术

随者互联网技术的发展,网络安全成为关注的热点。网络地址扫描是网络安全漏洞发现的前提和手段。

相比IPv4的32位地址,IPv6地址的长度增加到128位,具有巨大的地址空间,而且实际使用中的IPv6地址的数量较少,并且地址分布的随机性较大。基于IPv6地址的这些特点,如何快速且有效探测到IPv6地址,是需要解决的问题。

发明内容

本申请提供了一种网络地址的探测方法及装置、系统、电子设备,目的在于解决如何快速且有效探测网络地址的问题。

为了实现上述目的,本申请提供了以下技术方案:

本申请的第一方面提供一种网络地址的探测方法,包括:

获取已知地址,所述已知地址为已知的处于使用状态的网络地址;

基于所述已知地址所属的网段,按所述网段包括的地址的数量的不同,得到地址密度不同的网段组,所述地址密度不同的网段组包括:第一网段组和第二网段组,所述第一网段组的地址密度大于所述第二网段组的地址密度;

基于所述第一网段组中的已知地址预测第一待探测地址,并基于所述第二网段组中的已知地址预测第二待探测地址,所述第一待探测地址为属于所述第一网段组的待探测地址,所述第二待探测地址为属于所述第二网段组的待探测地址;

对待探测地址进行探测,所述待探测地址包括所述第一待探测地址和所述第二待探测地址。

可选的,所述基于所述第一网段组中的已知地址预测第一待探测地址,包括:

将输入数据输入第一模型,得到所述第一模型输出的所述第一待探测地址,所述第一模型基于所述第一网段组中的已知地址训练得到,所述输入数据包括所述第一网段组中的已知地址的网络号段值信息和预先配置的辅助数据。

可选的,所述第一模型基于所述第一网段组中的已知地址训练得到,包括:

从所述第一网段组中的已知地址中选择熵在预设范围内的地址,作为训练数据;

使用所述训练数据训练待训练的模型,得到所述第一模型。

可选的,所述待训练的模型,包括:

条件变分自编码器;所述辅助数据包括:从预先配置的高斯分布数据采样得到的隐空间向量值。

可选的,所述基于所述第二网段组中的已知地址预测第二待探测地址,包括:

将所述第二网段组中的已知地址的网络号段值编码信息以及高斯分布采样得到的隐空间向量值预先配置的辅助数据,输入第二模型,得到所述第二模型输出的所述第二待探测地址,所述第二模型使用所述第二网段组中的已知地址训练所述第一模型得到。

可选的,在所述对待探测地址进行探测之后,还包括:

将探测到的处于使用状态的地址存储至地址库;

在第一地址总量相比于第二地址总量的变化大于预设的阈值的情况下,对所述第一模型和所述第二模型重新训练,所述第一地址总量为将探测到的地址存储至地址库之后所述地址库中的地址数量,所述第二地址总量为将探测到的地址存储至地址库前所述地址库中的地址数量。

可选的,所述地址密度不同的网段组还包括:

第三网段组,所述第三网段组的地址密度小于所述第二网段组的地址密度;

所述待探测地址还包括:第三待探测地址;

所述第三待探测地址的获取流程包括:

将所述第一待预测地址和/或所述第二待预测地址中的网络号段值编码,修改为属于所述第三网段组的网络号段值编码,获得所述第三待探测地址。

本申请的第二方面提供一种网络地址的探测装置,包括:

获取模块,用于获取已知地址,所述已知地址为已知的处于使用状态的网络地址;

分组模块,用于基于所述已知地址所属的网段,按所述网段包括的地址的数量的不同,得到地址密度不同的网段组,所述地址密度不同的网段组包括:第一网段组和第二网段组,所述第一网段组的地址密度大于所述第二网段组的地址密度;

预测模块,用于基于所述第一网段组中的已知地址预测第一待探测地址,并基于所述第二网段组中的已知地址预测第二待探测地址,所述第一待探测地址为属于所述第一网段组的待探测地址,所述第二待探测地址为属于所述第二网段组的待探测地址;

探测模块,用于对待探测地址进行探测,所述待探测地址包括所述第一待探测地址和所述第二待探测地址。

本申请的第三方面提供一种网络地址的探测系统,包括:

机器学习服务器和地址扫描服务器;

所述机器学习服务器用于基于已知地址所属的网段,按所述网段包括的地址的数量的不同,得到地址密度不同的网段组,所述地址密度不同的网段组包括:第一网段组和第二网段组,所述第一网段组的地址密度大于所述第二网段组的地址密度,基于所述第一网段组中的已知地址预测第一待探测地址,并基于所述第二网段组中的已知地址预测第二待探测地址,所述第一待探测地址为属于所述第一网段组的待探测地址,所述第二待探测地址为属于所述第二网段组的待探测地址,所述已知地址为已知的处于使用状态的网络地址;

地址扫描服务器用于对待探测地址进行探测,所述待探测地址包括所述第一待探测地址和所述第二待探测地址。

本申请的第四方面提供一种电子设备,包括存储器和处理器;

所述存储器用于存储计算机程序;

所述处理器用于运行所述计算机程序,以实现本申请的第一方面提供的网络地址的探测方法。

本申请的第四方面提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本申请的第一方面提供的网络地址的探测方法。

本申请的第五方面提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请的第一方面提供的网络地址的探测方法。

本申请的提供的网络地址的探测方法及装置、系统、电子设备,先基于已知的网络地址预测地址,再对预测地址进行探测。与基于地址空间扫描网络地址的方式相比,具有较高的效率,所以能够实现快速探测。并且,对预测地址进行探测,使得探测更具有针对性,提高了被探测地址是正在使用的地址的可能性,所以有利于提高探测的有效性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请的实施例提供的网络地址的探测系统的示例图;

图2为本申请的实施例提供的收集已知活跃的IPv6地址形成训练数据的流程图;

图3为本申请的实施例提供的训练模型以及基于训练后的模型获取待探测地址的流程图;

图4为本申请的实施例提供的扫描待探测地址的流程图;

图5为本申请的实施例提供的网络地址的探测装置的结构示例图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。

在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例涉及的多个,是指大于或等于两个。需要说明的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

活跃的IPv6地址可以简单理解为处于被使用状态的IPv6地址。在网络安全场景下,探测到活跃的IPv6地址是发现并处理网络安全问题的前提。

有效探测IPv6地址可以理解为,探测到活跃的IPv6地址。

为了快速探测到活跃的IPv6地址,本申请的实施例提供一种网络地址的探测方法、装置以及系统。基于已知的活跃的IPv6地址,针对地址高密度网段和地址低密度网段分别训练模型,并使用训练的模型获得地址高密度网段和地址低密度网段中的预测地址,使用地址映射的方式获取地址稀疏网段中的预测地址。将预测地址作为待探测地址进行探测,获得活跃的IPv6地址。

这种探测方式能够提高待探测地址是活跃的IPv6地址的可能性,有利于快速且有效地探测IPv6地址。

图1为网络地址的探测系统的示例图,网络地址的探测系统包括机器学习服务器、地址扫描服务器以及地址存储服务器。

下面针对各个服务器的功能进行详细说明。

模型的训练由地址存储服务器和机器学习服务器实现。地址存储服务器收集已知活跃的IPv6地址,形成训练数据,机器学习服务器使用训练数据训练模型。

地址存储服务器收集已知活跃的IPv6地址,形成训练数据的流程如图2所示,包括以下步骤:

S11、收集已知的IPv6地址。

在一些实现方式中,从公开的地址网站(如6Hitlists)下载已知的IPv6地址。在另一些实现方式中,收集各个顶级域域名列表,利用DNS查询收集域名配置的IPv6地址。

可以理解的是,在使用以上两种实现方式收集IPv6地址,构成一个地址集合,并对集合中重复的地址进行去重处理。

S12、对收集的IPv6地址进行探测,将探测到的活跃的IPv6地址存储在IPv6地址库中。

在一些实现方式中,利用开源IPv6地址探测工具zmap,对收集的IPv6地址进行探测。

图2所示的流程,有利于提高已知地址的收集效率。

图3为机器学习服务器训练模型以及基于训练后的模型获取待探测地址(也称为预测地址)的流程,包括以下步骤:

S21、从IPv6地址库中获取活跃的IPv6地址。

S22、从活跃的IPv6地址中选择特定类型的网段中的IPv6地址,得到目标IPv6地址。

特定类型是指一种或多种类型,特定类型的一种示例为CN类型。在一些实现方式中,从APNIC网站,下载IPv6地址分配表,提取其中CN的IPv6地址分配情况。根据CN的IPv6网络ID,对活跃的IPv6地址进行过滤,获取CN网段内的IPv6活跃地址。

从活跃的IPv6地址中进一步筛选特定类型的网段中的地址的目的在于,训练得到更适用于特性类型的网段的地址的模型,并且节省训练资源。

可以理解的是,特定类型可以基于带探测的网段的类型等因素,进行预先配置。

S21为可选步骤,可以不执行。

S23、基于目标IPv6地址所属的网段,按照网段包括的目标IPv6地址的数量的不同,得到地址密度不同的网段组。

地址密度不同的网段组包括:高密度网段组、低密度网段组以及稀疏网段组。

在一些实现方式中,高密度网段组为包括的目标IPv6地址的数量大于1000个的至少一个网段,低密度网段组为包括的目标IPv6地址的数量在200个至1000个之间的至少一个网段,稀疏网段组为包括的目标IPv6地址的数量小于200个的至少一个网段。

S24、对高密度网段组中的地址进行采样,获得高密度网段组训练数据集。

可以理解的是,采样是指选择构成较为简单的地址,任意一个IPv6地址由字符串构成,构成地址的字符串中相同的字符越多,则构成越简单。

在一些实现方式中,计算高密度网段组中的各个地址的熵,熵越大,说明包含的信息量越大,则构成越复杂,熵越小,说明包含的信息量越小,则字符串中相同的字符较多。选择熵在一定范围(预设范围)内的地址作为采样获得的地址。一定范围的示例为1-1.5。

可以理解的是,S24为可选步骤。

S25、使用高密度网段组训练数据集训练条件变分自编码器,得到高密度网段组模型。

可以理解的是,将高密度网段组训练数据集中的地址输入条件变分自编码器,条件变分自编码器中的编码器先对输入地址提取特征,基于特征进行编码,条件变分自编码器中的解码器再基于编码输出预测地址。通过对比输入地址和预测地址,对输入条件变分自编码器中的解码器的参数进行调优,得到高密度网段组模型参数。

S26、使用低密度网段组中的地址,训练高密度网段组模型,得到低密度网段组模型。

在一些实现方式中,基于迁移学习策略,在低密度网段组,重新训练高密度网段组模型,得到低密度网段组模型,也就是说,基于高密度网段获得的模型参数,使用低密度网段组训练数据集,对模型进行再训练,得到低密度网段组模型参数。

因为高密度网段组模型为已经使用高密度网段组训练数据集完成训练的模型,所以能够即使低密度网段组存在训练数据不足的问题,也能够得到可用的低密度网段组模型。

S27、基于高密度网段组模型获得高密度网段组预测地址,并基于低密度网段组模型获得低密度网段组预测地址。

本步骤中,将网络号段值编码及高斯分布采样得到的隐空间向量值输入高密度网段组模型,获得高密度网段组模型输出的高密度网段组预测地址。将网络号段值编码及高斯分布采样得到的隐空间向量值输入低密度网段组模型,获得低密度网段组预测地址。

一个完整的IP地址分为两部分,前一部分为网络号段值,后一部分为主机号段值。网络号段值编码通过对网络号段值进行编码获得。在一些实现方式中,在执行S27之前,预先得到网络号段值。可以理解的是,网络号段值编码为网络号段值信息的一种示例,也可以使用其它能够表示网络号段值的形式。

高斯分布采样得到的隐空间向量值作为模型中编码器的输出,也即解码器的输入。在一些实现方式中,高斯分布的均值为0,方差为1。可以理解的是,隐空间向量值作为输入模型的辅助数据,用于指导解码器的输出。

S28、基于高密度网段组预测地址和低密度网段组预测地址,获取稀疏网段组预测地址。

在一些实现方式中,将高密度网段组预测地址中的网络号段值修改为稀疏网段组包括的网络号段值。将低密度网段组预测地址中的网络号段值修改为稀疏网段组包括的网络号段值。而高密度网段组预测地址和低密度网段组预测地址中的主机号段值保持不变。

图3所述的流程,基于不同地址密度的网段组的特点,在IPv6地址高密度网段组,利用条件变分自编码器,通过输入IPv6地址的网络ID作为条件变分自编码器的条件选项,减小模型的训练难度,加快模型收敛速度,提高模型对新的IPv6地址预测能力。

在IPv6地址低密度网段组,利用迁移学习策略,基于训练好的模型,对条件变分自编码器做进一步训练,提高模型在数据量较少的IPv6地址段的特征提取能力。

在IPv6地址稀疏网段组,利用训练生成的条件变分自编码器对该地址段内活跃IPv6地址进行预测,通过地址映射将模型的预测结果转换为该IPv6地址段内IPv6地址,有效解决训练样本不足问题。

图4为地址扫描服务器扫描待探测地址的流程,包括以下步骤:

S31、通过对待探测地址进行探测,获取活跃的IPv6地址。

在一些实现方式中,利用开源IPv6地址探测工具zmap,对高密度网段组预测地址、低密度网段组预测地址以及稀疏网段组预测地址。

S32、将活跃的IPv6地址存储至IPv6地址库。

S33、判断IPv6地址库中的IPv6地址的数据量的变化是否小于预设的阈值,如果是,返回执行S27-S28以及S31-S33(可以理解为使用原有模型继续探测地址,记为S34),如果否,执行图3和图4所示的流程(可以理解为重新训练模型,并使用新训练的模型继续探测地址,记为S35)。

IPv6地址库中的IPv6地址的数据量的变化大于预设的阈值,说明新探测到的地址的数量较多,则数据库中的地址的数据分布可能发生变化,所以需要重新训练模型,以保证模型预测的地址的具有较高的准确性,否则,无需重新训练模型。

预设的阈值的示例为50%。

图4所述的流程,既能够保证对网络地址的快速有效的探测,又能避免不必要的计算,以节省资源。

综上所述,本申请的实施例公开的网络地址的探测方法,先基于已知的网络地址预测地址,再对预测地址进行探测。与基于地址空间扫描网络地址的方式相比,具有较高的效率,所以能够实现快速探测。并且,对预测地址进行探测,使得探测更具有针对性,提高了被探测地址是正在使用的地址的可能性,所以有利于提高探测的有效性,实验证明,在某些IPv6地址网段能够达到20%以上的扫描成功率。

图5为本申请的实施例提供的网络地址的探测装置,包括:获取模块、分组模块、预测模块以及探测模块。

其中,获取模块用于获取已知地址,所述已知地址为已知的处于使用状态的网络地址。

分组模块用于基于所述已知地址所属的网段,按所述网段包括的地址的数量的不同,得到地址密度不同的网段组,所述地址密度不同的网段组包括:第一网段组和第二网段组,所述第一网段组的地址密度大于所述第二网段组的地址密度。

预测模块用于基于所述第一网段组中的已知地址预测第一待探测地址,并基于所述第二网段组中的已知地址预测第二待探测地址,所述第一待探测地址为属于所述第一网段组的待探测地址,所述第二待探测地址为属于所述第二网段组的待探测地址。

探测模块用于对待探测地址进行探测,所述待探测地址包括所述第一待探测地址和所述第二待探测地址。

以上各个模块的功能的具体实现可参见上述方法实施例,这里不再赘述。

本实施例提供的网络地址的探测装置,能够快速且有效地探测到处于使用状态的网络地址。

可以理解的是,上述实施例均以探测IPv6地址为例,但并不限于探测IPv6地址。

本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

技术分类

06120116572360