一种泛解析域名的识别方法、装置及电子设备与流程

文档序号:16149729发布日期:2018-12-05 17:19阅读:200来源:国知局
一种泛解析域名的识别方法、装置及电子设备与流程

本发明涉及计算机及互联网技术领域,尤其涉及一种泛解析域名的识别方法、装置及电子设备。

背景技术

域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过ip地址来实现,域名解析就是将域名重新转换为ip地址的过程。一个域名对应一个ip地址,一个ip地址可以对应多个域名;所以多个域名可以同时被解析到一个ip地址。通常一个正常网站的访问流程是输入域名abc.com然后通过dns服务器解析成目标服务器的ip地址或cname,然后找到目标服务器的ip地址或cname地址发起访问请求建立连接。

为了防止用户输入错或是攻击、扫描行为,dns服务商会提供一种技术,即访问者在网站的主域名(如“abc.com”)输入正确的前提下,输入了一个不存在的次级域名(如“xx.abc.com”),便会自动跳到网站的指定页面,比如主页、404等,这种解析技术即是泛域名解析。即对于支持泛域名的域名而言,其所有的次级域名均指向同一ip地址或cname上面。泛域名可以让域名支持无限的子域名,防止用户错误输入导致的网站不能访问的问题,还可以让直接输入网址登陆网站的用户输入简洁的网址即可访问网站。但是,如果开启了泛解析域名功能,dns会产生大量的基于主域名的任意字符组合的次级域名。如果有大量的域名产生,如何处理这些子域名尤为必要。



技术实现要素:

有鉴于此,本发明实施例提供一种泛解析域名的识别方法、装置及电子设备,能够解决现有技术中主域名开启泛解析功能后会产生大量子域名,子域名的有效性识别困难的问题,本发明能够区分待识别主域名包含的子域名的有效性,提高域名识别精度。

第一方面,本发明实施例提供一种泛解析域名的识别方法,包括:

获取第一主域名的子域名的解析记录;

根据预定数据处理策略对所述第一主域名的子域名的解析记录进行第一数据处理;

从所述第一数据处理结果中提取4个指定参数对应的数据进行第二数据处理;

将第二数据处理结果代入指定机器学习模块,学习出第一指定参数对应的第一特征变量参数、第二指定参数对应的第二特征变量参数、第三指定参数对应的第三特征变量参数、第四指定参数对应的第四特征变量参数;

生成有效性计算模型并存储;所述有效性计算模型以所述第一至第四特征变量参数为参数,以第一至第四指定参数为变量;

根据所述有效性计算模型和预定判断策略判断待识别主域名的子域名的有效性。

结合第一方面,在第一方面的第一种实施方式中,每个子域名的解析记录包括:子域名及其对应主域名,子域名的解析数据,子域名的解析次数,子域名的首次解析时间,子域名的最后一次解析时间。

结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述根据预定数据处理策略对所述第一主域名的子域名的解析记录进行第一数据处理,包括:

根据预定分类策略将第一主域名的每个子域名的解析记录的样本属性分为正样本或反样本;

从所述正、反样本中各抽取预定数量的子域名的解析记录;

对抽取的数据进行数据清洗得到第一清洗数据;

从第一清洗数据中以子域名的解析记录为单位按预设百分比随机提取出第一数据集;

根据所述第一数据集中各子域名的首次解析时间和子域名的最后一次解析时间计算各子域名的解析时长,并统计所述第一数据集中各子域名的解析数据在所述第一数据集中的出现次数作为相应子域名的解析数据的出现次数,计算所述第一数据集中各子域名的字符长度。

结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,所述4个指定参数为:子域名的字符长度为第一指定参数,子域名的解析次数为第二指定参数,子域名的解析时长为第三指定参数,子域名的解析数据的出现次数为第四指定参数;

所述从所述第一数据处理结果中提取4个指定参数对应的数据进行第二数据处理,包括:

对所述第一数据处理结果中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的数据分别进行归一化;

对所述第一数据处理结果中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的归一化数据分别进行标准化。

结合第一方面的第三种实施方式,在第一方面的第四种实施方式中,所述指定机器学习模块为sklearn模块;

所述将第二数据处理结果代入指定机器学习模块,学习出第一指定参数对应的第一特征变量参数、第二指定参数对应的第二特征变量参数、第三指定参数对应的第三特征变量参数、第四指定参数对应的第四特征变量参数,包括:

将第二数据处理结果代入sklearn模块中,学习出第一指定参数对应的第一特征变量参数、第二指定参数对应的第二特征变量参数、第三指定参数对应的第三特征变量参数、第四指定参数对应的第四特征变量参数以及用于误差校正的第五特征变量参数。

结合第一方面的第四种实施方式,在第一方面的第五种实施方式中,所述有效性计算模型为:yk=w1·zk1+w2·zk2+w3·zk3+w4·zk4+w5;其中,所述w1,w2,w3,w4,w5分别为第一至第五特征变量参数,zkj为待识别主域名的第k个子域名的第j指定参数对应的标准化数据,yk为待识别主域名的第k个子域名对应的有效性计算模型值,k=1,...,m,m为待识别主域名的子域名数量;k=1,2,3,4;

所述根据有效性计算模型和预定判断策略判断待识别主域名的子域名的有效性,包括:

获取待识别主域名的子域名的解析记录;

对所述待识别主域名的子域名的解析记录进行数据清洗得到第二清洗数据;

根据第二清洗数据中各子域名的首次解析时间和子域名的最后一次解析时间计算各子域名的解析时长,并统计第二清洗数据中各子域名的解析数据在第二清洗数据中的出现次数作为相应子域名的解析数据的出现次数,计算所述第二清洗数据中各子域名的字符长度;

对所述第二清洗数据中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的数据分别进行归一化;

对所述第二清洗数据中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的归一化数据分别进行标准化;

将所述待识别主域名的各子域名的第一至第四指定参数对应的标准化数据代入所述有效性计算模型中计算,得到待识别主域名的各子域名对应的有效性计算模型值;

根据待识别主域名的各子域名对应的有效性计算模型值和预定判断策略判断待识别主域名的各子域名的有效性。

结合第一方面,在第一方面的第六种实施方式中,所述预定判断策略,包括:

对于第k个子域名,将其对应的有效性计算模型值代入神经元的非线性作用函数sigmoid中计算得到第k个子域名对应的逻辑回归函数值;

判断第k个子域名对应的逻辑回归函数值是否小于预定阈值;

若第k个子域名对应的逻辑回归函数值小于预定阈值,则确定第k个子域名为所述待识别主域名的有效子域名,若第k个子域名对应的逻辑回归函数值不小于预定阈值,则确定第k个子域名为所述待识别主域名的无效子域名。

结合第一方面的第六种实施方式,在第一方面的第七种实施方式中,所述预定阈值为0.15。

结合第一方面的第三种或第五种实施方式,在第一方面的第八种实施方式中,所述归一化的方法为:按照公式对样本数据进行归一化;其中,x′ij为第i个样本的第j指定参数对应的归一化数据,xij为第i个样本的第j指定参数数据,i=1,...,n,n为样本数量,min(xj)为n个样本的第j指定参数数据中的最小值,max(xj)为n个样本的第j指定参数数据中的最大值;

所述标准化的方法为:按照公式对归一化数据进行标准化;其中,yij为第i个样本的第j指定参数对应的标准化数据,x′ij为第i个样本的第j指定参数对应的归一化数据,mean(x′j)为中n个样本的第j指定参数对应的归一化数据的算术平均值,std(x′j)为n个样本的第j指定参数对应的归一化数据的标准差。

第二方面,本发明实施例提供一种泛解析域名的识别装置,包括:

获取模块,用于获取第一主域名的子域名的解析记录;

第一数据处理模块,用于根据预定数据处理策略对所述第一主域名的子域名的解析记录进行第一数据处理;

第二数据处理模块,用于从所述第一数据处理结果中提取4个指定参数对应的数据进行第二数据处理;

学习模块,用于将第二数据处理结果代入指定机器学习模块,学习出第一指定参数对应的第一特征变量参数、第二指定参数对应的第二特征变量参数、第三指定参数对应的第三特征变量参数、第四指定参数对应的第四特征变量参数;

模型生成模块,用于生成有效性计算模型并存储;所述有效性计算模型以所述第一至第四特征变量参数为参数,以第一至第四指定参数为变量;

识别模块,用于根据所述有效性计算模型和预定判断策略判断待识别主域名的子域名的有效性。

结合第二方面,在第二方面的第一种实施方式中,所述获取模块获取的每个子域名的解析记录包括:子域名及其对应主域名,子域名的解析数据,子域名的解析次数,子域名的首次解析时间,子域名的最后一次解析时间。

结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述第一数据处理模块,包括:

分类子模块,用于根据预定分类策略将第一主域名的每个子域名的解析记录的样本属性分为正样本或反样本;

第一抽取子模块,用于从所述分类子模块得到的正、反样本中各抽取预定数量的子域名的解析记录;

第一清洗子模块,用于对所述第一抽取子模块抽取的数据进行数据清洗得到第一清洗数据;

第二抽取子模块,用于从所述第一清洗数据中以子域名的解析记录为单位按预设百分比随机提取出第一数据集;

第一计算子模块,用于根据所述第一数据集中各子域名的首次解析时间和子域名的最后一次解析时间计算各子域名的解析时长,并统计所述第一数据集中各子域名的解析数据在所述第一数据集中的出现次数作为相应子域名的解析数据的出现次数,计算所述第一数据集中各子域名的字符长度。

结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述4个指定参数为:子域名的字符长度为第一指定参数,子域名的解析次数为第二指定参数,子域名的解析时长为第三指定参数,子域名的解析数据的出现次数为第四指定参数;

所述第二数据处理模块,包括:

第一归一化子模块,用于对所述第一数据处理模块得到的第一数据处理结果中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的数据分别进行归一化;

第一标准化子模块,用于对所述第一归一化子模块得到的第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的归一化数据进行标准化。

结合第二方面的第三种实施方式,在第二方面的第四种实施方式中,所述学习模块,具体用于将第二数据处理结果代入sklearn模块中,学习出第一指定参数对应的第一特征变量参数、第二指定参数对应的第二特征变量参数、第三指定参数对应的第三特征变量参数、第四指定参数对应的第四特征变量参数以及用于误差校正的第五特征变量参数。

结合第二方面的第四种实施方式,在第二方面的第五种实施方式中,所述模型生成模块生成的有效性计算模型为:yk=w1·zk1+w2·zk2+w3·zk3+w4·zk4+w5;其中,所述w1,w2,w3,w4,w5分别为第一至第五特征变量参数,zkj为待识别主域名的第k个子域名的第j指定参数对应的标准化数据,yk为待识别主域名的第k个子域名对应的有效性计算模型值,k=1,...,m,m为待识别主域名的子域名数量;k=1,2,3,4;

所述识别模块,包括:

获取子模块,用于获取待识别主域名的子域名的解析记录;

第二清洗子模块,用于对所述待识别主域名的子域名的解析记录进行数据清洗得到第二清洗数据;

第二计算子模块,用于根据第二清洗数据中各子域名的首次解析时间和子域名的最后一次解析时间计算各子域名的解析时长,并统计第二清洗数据中各子域名的解析数据在第二清洗数据中的出现次数作为相应子域名的解析数据的出现次数,计算所述第二清洗数据中各子域名的字符长度;

第二归一化子模块,用于对所述第二清洗数据中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的数据分别进行归一化;

第二标准化子模块,用于对所述第二归一化子模块得到的第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的归一化数据分别进行标准化;

第三计算子模块,用于将所述待识别主域名的各子域名的第一至第四指定参数对应的标准化数据代入所述有效性计算模型中计算,得到待识别主域名的各子域名对应的有效性计算模型值;

判断子模块,用于根据待识别主域名的各子域名对应的有效性计算模型值和预定判断策略判断待识别主域名的各子域名的有效性。

结合第二方面,在第二方面的第六种实施方式中,所述所述识别模块使用的预定判断策略,包括:

对于第k个子域名,将其对应的有效性计算模型值代入神经元的非线性作用函数sigmoid中计算得到第k个子域名对应的逻辑回归函数值;

判断第k个子域名对应的逻辑回归函数值是否小于预定阈值;

若第k个子域名对应的逻辑回归函数值小于预定阈值,则确定第k个子域名为所述待识别主域名的有效子域名,若第k个子域名对应的逻辑回归函数值不小于预定阈值,则确定第k个子域名为所述待识别主域名的无效子域名。

结合第二方面的第六种实施方式,在第二方面的第七种实施方式中,所述预定阈值为0.15。

结合第二方面的第三种或第五种实施方式,在第二方面的第八种实施方式中,所述第一归一化子模块/第二归一化子模块具体按照公式对样本数据进行归一化;其中,x′ij为第i个样本的第j指定参数对应的归一化数据,xij为第i个样本的第j指定参数数据,i=1,...,n,n为样本数量,min(xj)为n个样本的第j指定参数数据中的最小值,max(xj)为n个样本的第j指定参数数据中的最大值;

所述第一标准化子模块/第二标准化子模块具体用于按照公式对归一化数据进行标准化;其中,yij为第i个样本的第j指定参数对应的标准化数据,x′ij为第i个样本的第j指定参数对应的归一化数据,mean(x′j)为中n个样本的第j指定参数对应的归一化数据的算术平均值,std(x′j)为n个样本的第j指定参数对应的归一化数据的标准差。

第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述客户端的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的泛解析域名的识别方法。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时或实现前述任一实施例所述的泛解析域名的识别方法步骤。

第五方面,本发明实施例提供一种应用程序,所述应用程序用于执行前述任一实施例所述的泛解析域名的识别方法。

本发明实施例提供的一种泛解析域名的识别方法、装置及电子设备、计算机可读存储介质和应用程序,通过第一主域名及其子域名的解析记录,对解析记录数据进行数据处理后,使用其中4个指定参数的数据进行数据处理和机器学习,学习出用于表征子域名有效性的有效性计算模型,随后通过所述有效性计算模型和待识别子域名的解析记录即可计算待识别子域名对应的有效性计算模型值,并根据待识别子域名的有效性计算模型值和预定判断策略判断待识别子域名的有效性,能够解决现有技术中主域名开启泛解析功能后会产生大量子域名,子域名的有效性识别困难的问题,区分待识别主域名包含的子域名的有效性,提高域名识别精度。

附图说明

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

图1为本发明泛解析域名的识别方法实施例一的流程图;

图2为针对主域名“jd.com”获取的解析记录存储结构示意图;

图3为步骤102的优选实施流程图;

图4为对图2所示的子域名进行爬虫校验的结果;

图5为步骤103的优选实施流程图;

图6为本发明泛解析域名的识别方法实施例二的流程图;

图7为本发明泛解析域名的识别装置实施例一的结构示意图;

图8为本发明泛解析域名的识别装置实施例二的结构示意图;

图9为本发明泛解析域名的识别装置实施例三的结构示意图;

图10为本发明泛解析域名的识别装置实施例四的结构示意图;

图11为本发明电子设备一个实施例的结构示意图。

具体实施方式

下面结合附图对本发明实施例一种泛解析域名的识别方法及装置进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1为本发明泛解析域名的识别方法实施例一的流程图,如图1所示,本实施例的方法可以包括:

步骤101、获取第一主域名的子域名的解析记录。

此步骤中,用户每次访问域名,数据库中都会有一条该域名对应的dns解析记录,选取一泛解析特征明显(即符合一般网站开通泛解析后表现出来的现象)且其下子域名解析记录数据量多的主域名作为第一主域名,根据该第一主域名到数据库中获取其下所有子域名的dns解析记录。

本步骤中,作为一可选实施例,获取的每个子域名的解析记录包括:子域名及其对应主域名,子域名的解析数据,子域名的解析次数,子域名的首次解析时间,子域名的最后一次解析时间等信息。例如图2所示为针对主域名“jd.com”获取的解析记录存储结构,其中每一行数据为同一子域名的解析记录,每个子域名对应的每行解析记录中:“domain”列代表该子域名的对应的主域名,“rrname”列代表该子域名,“rrdata”列代表该子域名的解析数据,“count”列代表该子域名的解析次数,“time_first”列代表该子域名的首次解析时间,“time_last”列代表该子域名的最后一次解析时间。

步骤102、根据预定数据处理策略对所述第一主域名的子域名的解析记录进行第一数据处理。

步骤103、从所述第一数据处理结果中提取4个指定参数对应的数据进行第二数据处理。

步骤104、将第二数据处理结果代入指定机器学习模块,学习出第一至第四指定参数分别对应的第一至第四特征变量参数;其中,第一指定参数对应的第一特征变量参数,第二指定参数对应第二特征变量参数、第三指定参数对应第三特征变量参数、第四指定参数对应第四特征变量参数。

在一可选实施例中,指定机器学习模块为sklearn模块,将第二数据处理结果代入sklearn模块中,可以学习得到第一至第四指定参数对应的第一、第二、第三、第四特征变量,此外还可以得到用于误差校正的第五特征变量参数。

步骤105、生成有效性计算模型并存储;所述有效性计算模型以所述第一至第四特征变量参数为参数,以第一至第四指定参数为变量。

步骤106、根据所述有效性计算模型和预定判断策略判断待识别主域名的子域名的有效性。

在一可选实施例中,对于待识别主域名的子域名,可以将子域名的第一至第四指定参数对应的数据处理后代入所述有效性计算模型中计算得到待识别的子域名对应的有效性计算模型值。优选地,预定判断策略为通过神经元的非线性作用函数sigmoid计算子域名对应的有效性计算模型值的概率,作为判断子域名是否有效的标准。

本实施例中,通过对第一主域名的子域名的解析记录进行数据处理后,提取其中的4个指定参数对应的数据进行数据处理和机器学习,学习出用于表征子域名有效性的有效性计算模型,随后通过所述有效性计算模型和子域名的解析记录可计算子域名对应的有效性计算模型值,并根据有效性计算模型值和预定判断策略判断子域名的有效性。该实施例能够解决现有技术中主域名开启泛解析功能后会产生大量子域名,子域名的有效性识别困难的问题,区分待识别主域名的子域名的有效性,提高域名识别精度。

在一可选实施例中,如图3所示,上述步骤102可以包括以下步骤201-205:

步骤201、根据预定分类策略将第一主域名的每个子域名的解析记录的样本属性分为正样本或反样本。

优选地,此步骤中,可以通过爬虫校验区分每个子域名的解析记录是属于正样本还是反样本。各域名正反样本区分的爬虫规则预先设定。例如图4为对图2所示的子域名进行爬虫校验的结果,其中“classter”列为爬虫校验的正反样本属值,“classter”值为“1”表示该子域名解析记录为正样本,“classter”值为“0”表示该子域名解析记录为反样本。

步骤202、从所述正、反样本中各抽取预定数量的子域名的解析记录。

例如,若预定数量为n,则从正样本中抽取n个子域名的解析记录,并从反样本中抽取n个子域名的解析记录,一共抽取2n个子域名的解析记录。

步骤203、对抽取的数据进行数据清洗得到第一清洗数据。

步骤204、从第一清洗数据中以子域名的解析记录为单位按预设百分比随机提取出第一数据集。

例如:若步骤202中抽取出2n个子域名的解析记录,则通过步骤203对这2n个子域名的解析记录数据清洗后,若预设百分比为a%,则从第一清洗数据中随机提取2n*a%个子域名的解析记录作为第一数据集。

优选地,预设百分比为70%,提取出的第一数据集作为训练集进行后续有效性计算模型的参数训练,第一清洗数据中剩余的30%的子域名解析记录数据可作为测试集,用于测试训练得到的有效性计算模型参数的拟合度。

步骤205、根据所述第一数据集中各子域名的首次解析时间和子域名的最后一次解析时间计算各子域名的解析时长,并统计所述第一数据集中各子域名的解析数据在所述第一数据集中的出现次数作为相应子域名的解析数据的出现次数,计算所述第一数据集中各子域名的字符长度。

其中,子域名的解析时长=子域名的最后一次解析时间-子域名的首次解析时间,具体计算时,例如可设定解析时长单位为“分”。

对于解析数据在所述解析记录中的出现次数的统计,例如下表1中是对主域名“baidu.com”的所有子域名经过步骤201-203后得到的第一数据集,第一列“rrname”为第一数据集所含子域名,第二列“rrdata”为各子域名的解析数据,第三列“rdata_count”为第一数据集中各子域名的解析数据在在所述第一数据集中的出现次数:

表1

如表1中,例如对于第1行的子域名“1.baidu.com”而言,其对应的解析数据为“1.1.1.1”,在表1所示的第一数据集的解析数据列中,解析数据“1.1.1.1”一共出现了3次,因此统计得到子域名“1.baidu.com”的解析数据在所述第一数据集中的出现次数为3,其他子域名类似计算,此处不再赘述。

在一可选实施例中,预先指定用于进行第二数据处理所需的4个指定参数为:子域名的字符长度为第一指定参数,子域名的解析次数为第二指定参数,子域名的解析时长为第三指定参数,子域名的解析数据的出现次数为第四指定参数。所述第二数据处理可以为对4个指定参数对应的第一数据处理结果进行归一化和标准化处理,如图5所示,在图1和图2的基础上,步骤103具体可以包括以下步骤301-303:

步骤301、对所述第一数据处理结果中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的数据分别进行归一化。

其中,本次归一化所使用的第一指定参数、第三指定参数、第四指定参数对应的数据均来源于第一数据集经步骤205计算得到的数据,而第二指定参数对应的数据即子域名的解析次数由于不需要经过步骤205计算,直接来源于第一数据集。

优选地,按照公式(1)对所述第一数据处理结果中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的数据分别进行归一化:

公式(1)中,x′ij为第i个样本的第j指定参数对应的归一化数据,xij为第i个样本的第j指定参数数据,i=1,...,n,n为样本数量,min(xj)为n个样本的第j指定参数数据中的最小值,max(xj)为n个样本的第j指定参数数据中的最大值。由于此处进行归一化的样本数据为第一数据处理结果中第一指定参数、第二指定参数、第三指定参数、第四指定参数,因此在此步骤中,也可理解为:x′ij为第i个子域名的第j指定参数对应的归一化数据,xij为第i个子域名的第j指定参数对应的第一数据处理结果,n为第一数据集中的子域名数量,j=1,2,3,4;xj为第j指定参数对应的第一数据处理结果,min(xj)为第一数据集中的n个子域名的第j指定参数对应的第一数据处理结果中的最小值,max(xj)为第一数据集中的n个子域名的第j指定参数对应的第一数据处理结果中的最大值。

步骤302、对所述第一数据处理结果中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的归一化数据分别进行标准化。

优选地,此步骤中按照公式(2)对第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的归一化数据分别进行标准化:

公式(2)中,yij为第i个样本的第j指定参数对应的标准化数据,x′ij为第i个样本的第j指定参数对应的归一化数据,mean(x′j)为中n个样本的第j指定参数对应的归一化数据的算术平均值,std(x′j)为n个样本的第j指定参数对应的归一化数据的标准差。具体地,此步骤中,yij为第一数据集中第i个子域名的第j指定参数对应的标准化数据,x′ij为第一数据集中第i个子域名的第j指定参数对应的归一化数据,mean(x′j)为第一数据集中的n个子域名的第j指定参数对应的归一化数据的算术平均值,std(x′j)为第一数据集中的n个子域名的第j指定参数对应的归一化数据的标准差。

下面采用一个具体的实施例,对本发明实施例的技术方案进行详细说明。

图6为本发明泛解析域名的识别方法实施例二的流程图,如图6所示,本实施例的方法可以包括:

步骤401、获取第一主域的子域名的解析记录。

本实施例中,步骤401的过程和上述方法实施例的步骤101类似,此处不再赘述。

步骤402、根据预定分类策略将第一主域名的每个子域名的解析记录的样本属性分为正样本或反样本。

步骤403、从所述正、反样本中各抽取预定数量的子域名的解析记录。

步骤404、对抽取的数据进行数据清洗得到第一清洗数据。

步骤405、从第一清洗数据中以子域名的解析记录为单位按预设百分比随机提取出第一数据集。

步骤406、根据所述第一数据集中各子域名的首次解析时间和子域名的最后一次解析时间计算各子域名的解析时长,并统计所述第一数据集中各子域名的解析数据在所述第一数据集中的出现次数作为相应子域名的解析数据的出现次数,计算所述第一数据集中各子域名的字符长度。

本实施例中,步骤402-406的过程和上述方法实施例的步骤201-205类似,此处不再赘述。

步骤407、对所述第一数据处理结果中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的数据进行归一化。

步骤408、对第一至第四指定参数对应的归一化数据进行标准化。

本实施例中,步骤407-408的过程和上述方法实施例的步骤301-302类似,此处不再赘述。

步骤409、将第二数据处理结果代入sklearn学习模块中,学习出第一至第五特征变量参数。

此步骤中,通过将第一数据集中第一主域名的子域名的字符长度、子域名的解析次数、子域名的解析时长、子域名的解析数据的出现次数对应的标准化数据代入sklearn学习模块中,学习出第一至第四特征变量w1、w2、w3、w4,以及用于误差校正的第五特征变量参数w5。

步骤410、生成有效性计算模型并存储:

yk=w1·zk1+w2·zk2+w3·zk3+w4·zk4+w5(3)

其中,所述w1,w2,w3,w4,w5分别为第一至第五特征变量参数,zkj为待识别主域名的第k个子域名的第j指定参数对应的标准化数据,yk为待识别主域名的第k个子域名对应的有效性计算模型值,k=1,...,m,m为待识别主域名的子域名数量;k=1,2,3,4。

步骤411、获取待识别主域名的子域名的解析记录。

本实施例中,步骤411的过程和上述方法实施例的步骤101类似,此处不再赘述。

步骤412、对所述待识别主域名的子域名的解析记录进行数据清洗得到第二清洗数据。

步骤413、根据第二清洗数据中各子域名的首次解析时间和子域名的最后一次解析时间计算各子域名的解析时长,并统计第二清洗数据中各子域名的解析数据在第二清洗数据中的出现次数作为相应子域名的解析数据的出现次数,计算所述第二清洗数据中各子域名的字符长度。

本实施例中,步骤413的过程和上述方法实施例的步骤205类似,此处不再赘述。

步骤414、对所述第二清洗数据中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的数据分别进行归一化。

其中,由于预先指定好了子域名的字符长度为第一指定参数,子域名的解析次数为第二指定参数,子域名的解析时长为第三指定参数,子域名的解析数据的出现次数为第四指定参数,因此,直接对步骤413执行后得到的第二清洗数据中子域名的字符长度、第二清洗数据中子域名的解析次数、第二清洗数据中子域名的解析时长、第二清洗数据中子域名的解析数据在第二清洗数据中的出现次数分别进行归一化,归一化的方法和上述方法实施例的步骤301类似,可以使用公式(1)进行归一化,此处不再赘述。

步骤415、对所述第二清洗数据中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的归一化数据分别进行标准化。

此步骤中,对上一步骤414得到的四种指定参数对应的归一化数据分别进行标准化,标准化的方法和上述方法实施例的步骤302类似,可以使用公式(2)进行标准化,此处不再赘述。

步骤416、将所述待识别主域名的各子域名的第一至第四指定参数对应的标准化数据代入所述有效性计算模型中计算,得到待识别主域名的各子域名对应的有效性计算模型值。

步骤417、对于第k个子域名,将其对应的有效性计算模型值yk代入函数sigmoid中计算得到第k个子域名对应的逻辑回归函数值。

此步骤中,根据以下函数公式计算第k个子域名对应的逻辑回归函数值:

步骤418、判断第k个子域名对应的逻辑回归函数值是否小于预定阈值;若是,则执行步骤419,否则,执行步骤420。

步骤419、确定第k个子域名为所述待识别主域名的有效子域名。

步骤420、确定第k个子域名为所述待识别主域名的无效子域名。

现有技术中,用非线性作用函数sigmoid进行概率计算的分隔点一般为0.5,优选地,经发明人论证,本发明实施例中,对于待识别的主域名的第k个子域名,其对应的有效性计算模型值yk代入上述公式(3)中计算后,采用0.15作为预定阈值,得到的子域名有效性的判断结果准确率更高,因此,针对本发明提供的方案,预定阈值优选为0.15。

本实施例,通过对第一主域名的子域名的解析记录进行正反样本识别、数据抽样、数据清洗后再抽样,并用再抽样的数据通过sklearn模块学习得出以子域名的字符长度、子域名的解析次数、子域名的解析时长、子域名的解析数据的出现次数分别对应的特征变量参数,随后采用这些特征变量参数建立有效性计算模型,对于待识别的子域名,通过对其解析记录进行数据清洗、并计算子域名的字符长度、子域名的解析次数、子域名的解析时长、子域名的解析数据的出现次数后归一化标准化,将待识别的子域名的子域名的字符长度、子域名的解析次数、子域名的解析时长、子域名的解析数据的出现次数对应的标准化数据代入有效性计算模型中即可计算得到待识别子域名的有效性计算模型值,最后通过神经元的非线性作用函数sigmoid以0.15作为概率分割点,以统计学的方法对子域名的有效性概率进行判断。本发明能够区分待识别主域名包含的子域名的有效性,子域名识别所用的区分颗粒度更细,子域名识别精度高。

对应于本发明实施例提供的泛解析域名的识别,本发明实施例还提供泛解析域名的识别装置。图7为本发明泛解析域名的识别装置实施例一的结构示意图,如图7所示,本实施例的装置可以包括:获取模块11、第一数据处理模块12、第二数据处理模块13、学习模块14、模型生成模块15和识别模块16;其中,获取模块11,用于获取第一主域名的子域名的解析记录;第一数据处理模块12,用于根据预定数据处理策略对所述第一主域名的子域名的解析记录进行第一数据处理;第二数据处理模块13,用于从所述第一数据处理模块12的第一数据处理结果中提取4个指定参数对应的数据进行第二数据处理;学习模块14,用于将第二数据处理结果代入指定机器学习模块,学习出第一指定参数对应的第一特征变量参数、第二指定参数对应的第二特征变量参数、第三指定参数对应的第三特征变量参数、第四指定参数对应的第四特征变量参数;模型生成模块15,用于生成有效性计算模型并存储;所述有效性计算模型以所述第一至第四特征变量参数为参数,以第一至第四指定参数为变量;识别模块16,用于根据所述有效性计算模型和预定判断策略判断待识别主域名的子域名的有效性。

本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

优选地,获取模块11获取的每个子域名的解析记录包括:子域名及其对应主域名,子域名的解析数据,子域名的解析次数,子域名的首次解析时间,子域名的最后一次解析时间。

图8为本发明泛解析域名的识别装置实施例二的结构示意图,如图8所示,本实施例的装置在图7所示装置结构的基础上,进一步地,第一数据处理模块12可以包括:分类子模块121、第一抽取子模块122、第一清洗子模块123、第二抽取子模块124和第一计算子模块125;其中,分类子模块121,用于根据预定分类策略将第一主域名的每个子域名的解析记录的样本属性分为正样本或反样本;第一抽取子模块122,用于从所述分类子模块121得到的正、反样本中各抽取预定数量的子域名的解析记录;第一清洗子模块123,用于对所述第一抽取子模块122抽取的数据进行数据清洗得到第一清洗数据;第二抽取子模块124,用于从所述第一清洗数据中以子域名的解析记录为单位按预设百分比随机提取出第一数据集;第一计算子模块125,用于根据所述第一数据集中各子域名的首次解析时间和子域名的最后一次解析时间计算各子域名的解析时长,并统计所述第一数据集中各子域名的解析数据在所述第一数据集中的出现次数作为相应子域名的解析数据的出现次数,计算所述第一数据集中各子域名的字符长度。

本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图9为本发明泛解析域名的识别装置实施例三的结构示意图,如图9所示,本实施例的装置在图8所示装置结构的基础上,进一步地,第二数据处理模块13可以包括:第一归一化子模块131和第一标准化子模块132。其中,所述4个指定参数为:子域名的字符长度为第一指定参数,子域名的解析次数为第二指定参数,子域名的解析时长为第三指定参数,子域名的解析数据的出现次数为第四指定参数;第一归一化子模块131,用于对所述第一数据处理结果中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的数据分别进行归一化;第一标准化子模块132,用于对所述第一归一化子模块131得到的第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的归一化数据进行标准化。其中,第一归一化模块131归一化所使用的第一指定参数、第三指定参数、第四指定参数对应的数据均来源于第一计算子模块125,而第二指定参数对应的数据直接来源于第二抽取子模块124得到的第一数据集。

本实施例的装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图10为本发明泛解析域名的识别装置实施例四的结构示意图,如图10所示,本实施例的装置在图9所示装置结构的基础上,进一步地:

学习模块14,具体用于将第二数据处理结果代入sklearn模块中,学习出第一指定参数对应的第一特征变量参数、第二指定参数对应的第二特征变量参数、第三指定参数对应的第三特征变量参数、第四指定参数对应的第四特征变量参数以及用于误差校正的第五特征变量参数。

模型生成模块16生成的有效性计算模型为:yk=w1·zk1+w2·zk2+w3·zk3+w4·zk4+w5;其中,所述w1,w2,w3,w4,w5分别为第一至第五特征变量参数,zkj为待识别主域名的第k个子域名的第j指定参数对应的标准化数据,yk为待识别主域名的第k个子域名对应的有效性计算模型值,k=1,...,m,m为待识别主域名的子域名数量;k=1,2,3,4。

图10中,识别模块15包括:

获取子模块151,用于获取待识别主域名的子域名的解析记录;

第二清洗子模块152,用于对所述待识别主域名的子域名的解析记录进行数据清洗得到第二清洗数据;

第二计算子模块153,用于根据第二清洗数据中各子域名的首次解析时间和子域名的最后一次解析时间计算各子域名的解析时长,并统计第二清洗数据中各子域名的解析数据在第二清洗数据中的出现次数作为相应子域名的解析数据的出现次数,计算所述第二清洗数据中各子域名的字符长度;

第二归一化子模块154,用于对所述第二清洗数据中第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的数据分别进行归一化;其中,第二归一化模块154归一化所使用的第一指定参数、第三指定参数、第四指定参数对应的数据均来源于第二计算子模块153,而第二指定参数对应的数据即子域名的解析次数由于不需要经过第二计算子模块153计算,直接来源于第二清洗子模块得到的第二清洗数据。

第二标准化子模块155,用于对所述第二归一化子模块154得到的第一指定参数、第二指定参数、第三指定参数、第四指定参数对应的归一化数据分别进行标准化;

第三计算子模块156,用于将所述待识别主域名的各子域名的第一至第四指定参数对应的标准化数据代入所述模型生成模块15得到的有效性计算模型中计算,得到待识别主域名的各子域名对应的有效性计算模型值;

判断子模块157,用于根据待识别主域名的各子域名对应的有效性计算模型值和预定判断策略判断待识别主域名的各子域名的有效性。

本实施例的装置,可以用于执行图6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在一可选实施例中,识别模块15使用的预定判断策略,包括:首先对于第k个子域名,将其对应的有效性计算模型值代入神经元的非线性作用函数sigmoid中计算得到第k个子域名对应的逻辑回归函数值;随后判断第k个子域名对应的逻辑回归函数值是否小于预定阈值;若第k个子域名对应的逻辑回归函数值小于预定阈值,则确定第k个子域名为所述待识别主域名的有效子域名,若第k个子域名对应的逻辑回归函数值不小于预定阈值,则确定第k个子域名为所述待识别主域名的无效子域名。

优选地,第一归一化子模块131/第二归一化子模块154具体按照公式对样本数据进行归一化,第一标准化子模块132/第二标准化子模块155具体用于按照公式对归一化数据进行标准化;其中,x′ij为第i个样本的第j指定参数对应的归一化数据,xij为第i个样本的第j指定参数数据,i=1,...,n,n为样本数量,min(xj)为n个样本的第j指定参数数据中的最小值,max(xj)为n个样本的第j指定参数数据中的最大值;yij为第i个样本的第j指定参数对应的标准化数据,x′ij为第i个样本的第j指定参数对应的归一化数据,mean(x′j)为中n个样本的第j指定参数对应的归一化数据的算术平均值,std(x′j)为n个样本的第j指定参数对应的归一化数据的标准差。

对应于本发明实施例提供的泛解析域名的识别方法,本发明实施例还提供一种电子设备,图11为本发明电子设备一个实施例的结构示意图,可以实现本发明图1所示实施例的流程,如图11所示,上述电子设备可以包括:壳体21、处理器22、存储器23、电路板24和电源电路25,其中,电路板24安置在壳体21围成的空间内部,处理器22和存储器23设置在电路板24上;电源电路25,用于为上述电子设备的各个电路或器件供电;存储器23用于存储可执行程序代码;处理器22通过读取存储器23中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例的泛解析域名的识别方法。

上述电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放模块(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时用于实现前述任一实施例的泛解析域名的识别方法步骤。

本发明实施例还提供了一种应用程序,用于执行前述任一实施方式的泛解析域名的识别方法。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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