一种检测DGA域名的方法及装置转让专利

申请号 : CN201910344380.3

文献号 : CN110113327A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王占一

申请人 : 北京奇安信科技有限公司

摘要 :

本发明实施例提供一种检测DGA域名的方法及装置,所述方法包括:获取待检测的DGA域名;预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。所述装置执行上述方法。本发明实施例提供的检测DGA域名的方法及装置,通过输入与待检测的DGA域名的域名字符对应的索引序列至预设DGA域名检测模型,并将预设DGA域名检测模型的输出结果作为DGA域名的检测结果,能够准确、高效地检测DGA域名。

权利要求 :

1.一种检测DGA域名的方法,其特征在于,包括:

获取待检测的DGA域名;

预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;

输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。

2.根据权利要求1所述的方法,其特征在于,所述卷积神经网络包括依次相连的输入层、嵌入层、卷积层、平铺层和全连接层。

3.根据权利要求2所述的方法,其特征在于,所述卷积神经网络还包括依次与所述卷积层和所述平铺层相连的聚合层;与所述聚合层相连的卷积层为并行相连的三个卷积层;每个并行相连的卷积层分别与嵌入层相连。

4.根据权利要求2或3所述的方法,其特征在于,所述卷积神经网络还包括依次与所述平铺层和所述全连接层相连的约束层。

5.根据权利要求2或3所述的方法,其特征在于,所述三个卷积层的卷积核大小分别为

2、3和4。

6.一种检测DGA域名的装置,其特征在于,包括:

获取单元,用于获取待检测的DGA域名;

预处理单元,用于预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;

检测单元,用于输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。

7.根据权利要求6所述的装置,其特征在于,所述卷积神经网络包括依次相连的输入层、嵌入层、卷积层、平铺层和全连接层。

8.根据权利要求7所述的装置,其特征在于,所述卷积神经网络还包括依次与所述卷积层和所述平铺层相连的聚合层;与所述聚合层相连的卷积层为并行相连的三个卷积层;每个并行相连的卷积层分别与嵌入层相连。

9.根据权利要求7或8所述的装置,其特征在于,所述卷积神经网络还包括依次与所述平铺层和所述全连接层相连的约束层。

10.根据权利要求7或8所述的装置,其特征在于,所述三个卷积层的卷积核大小分别为

2、3和4。

11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述方法的步骤。

12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。

说明书 :

一种检测DGA域名的方法及装置

技术领域

[0001] 本发明涉及网络安全技术领域,尤其涉及一种检测DGA域名的方法及装置。

背景技术

[0002] 在网络安全领域,攻击者常常会使用域名将恶意程序连接至远程命令和控制服务器,从而达到操控受害者机器的目的。攻击者使用域名生成算法(Domain Generation Algorithm,简称“DGA”),可以生成大量伪随机或看似具备某种规律的域名,这些域名通常会被编码在恶意软件中,相比于硬编码的域名,DGA域名可以有效避开黑名单列表的检测,如果能够快速检测DGA域名,在一定程度上能够快速发现恶意软件的感染情况,进行预警。
[0003] 现有技术的检测方法为将当前域名在本地或云端的威胁情报库中查询,如果查找到库中的恶意域名,则可以直接判定为DGA域名,但是,这种方法的局限性在于:只能检测威胁情报库到中已知的域名,对于新生成的域名无能为力。还有的方法基于传统机器学习的DGA域名检测,通过人工提取特征,然后进行建模和检测,但是该方法由于需要人工提取特征,耗时耗力,效率及其低下。
[0004] 因此,如何避免上述缺陷,准确、高效地检测DGA域名,成为亟须解决的问题。

发明内容

[0005] 针对现有技术存在的问题,本发明实施例提供一种检测DGA域名的方法及装置。
[0006] 本发明实施例提供一种检测DGA域名的方法,包括:
[0007] 获取待检测的DGA域名;
[0008] 预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;
[0009] 输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。
[0010] 本发明实施例提供一种检测DGA域名的装置,包括:
[0011] 获取单元,用于获取待检测的DGA域名;
[0012] 预处理单元,用于预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;
[0013] 检测单元,用于输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。
[0014] 本发明实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,
[0015] 所述处理器执行所述程序时实现如下方法步骤:
[0016] 获取待检测的DGA域名;
[0017] 预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;
[0018] 输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。
[0019] 本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法步骤:
[0020] 获取待检测的DGA域名;
[0021] 预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;
[0022] 输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。
[0023] 本发明实施例提供的检测DGA域名的方法及装置,通过输入与待检测的DGA域名的域名字符对应的索引序列至预设DGA域名检测模型,并将预设DGA域名检测模型的输出结果作为DGA域名的检测结果,能够准确、高效地检测DGA域名。

附图说明

[0024] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025] 图1为本发明检测DGA域名的方法实施例流程图;
[0026] 图2为本发明实施例卷积神经网络的组成结构图;
[0027] 图3为本发明检测DGA域名的装置实施例结构示意图;
[0028] 图4为本发明实施例提供的电子设备实体结构示意图。

具体实施方式

[0029] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 图1为本发明检测DGA域名的方法实施例流程图,如图1所示,本发明实施例提供的一种检测DGA域名的方法,包括以下步骤:
[0031] S101:获取待检测的DGA域名。
[0032] 具体的,装置获取待检测的DGA域名,DGA域名通常按字符进行编码,进行编码的字符即为域名字符,例如DGA域名可以为abc123.com。
[0033] S102:预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列。
[0034] 具体的,装置预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列。预处理的过程至少包括获取与DGA域名的域名字符相对应的索引序列的步骤。索引序列可以用正整数进行表示,DGA域名中的大写字母须转换为小写字母。可以根据如表1所示的DGA域名的域名字符与索引之间的对应关系,获取到DGA域名的域名字符对应的索引序列。
[0035] 表1
[0036]
[0037] 参照表1可以得到上述abc123.com对应的索引序列为:1,2,3,28,29,30,38,3,15,13。
[0038] S103:输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。
[0039] 具体的,装置输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。需要说明的是:为了更便于预设DGA域名检测模型运算所有索引序列,可以将所有索引序列转换为可进行卷积等操作的矩阵形式。使用one-hot的转换方式即可,其基本思路是某字符对应的向量里只有一位为1,其他均为0。例如abc123转换为:
[0040]
[0041] 其中,第一列对应abc123中的“a”;第二列对应abc123中的“b”;第三列对应abc123中的“c”;第四列对应abc123中的“1”;第五列对应abc123中的“2”;第六列对应abc123中的“3”。将转换后的矩阵输入预设DGA域名检测模型进行运算;为了提高预设DGA域名检测模型检测DGA域名的准确性,需要预先采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络,DGA域名样本数据的来源包括但不限于360网络安全研究院发布的DGA样本集(https://data.netlab.360.com/dga/)、非DGA域名样本数据的来源包括但不限于Alexa排名前1万的域名列表(http://s3.amazonaws.com/alexa-static/top-1m.csv.zip)、思科公司的Umbrella域名列表(https://s3-us-west-1.amazonaws.com/umbrella-static/index.html),采用DGA域名样本数据和非DGA域名样本数据作为训练的样本数据可以使得卷积神经网络学习的更加充分。
[0042] 该预设DGA域名检测模型既可以对单条域名数据进行检测,也可以对批量数据进行检测。对待检测域名进行与训练数据相同的预处理操作,转换为编码序列的矩阵。每个矩阵与训练好的卷积神经网络模型进行运算,从输入层开始,直到最终输出层的两个结点给出两个得分。得分a表示该域名属于非DGA域名的可能性,得分b表示该域名属于DGA域名的可能性,且a+b=1。在实际应用中,可以只选取得分b作为该域名属于DGA域名的概率,供安全人员分析使用。
[0043] 模型的输出为待检测域名及其属于DGA域名的概率值(表示可能性的得分)。如表2所示:
[0044] 表2
[0045]google.com.hk 6.71553e-08
dlwxvurpfeyqyqcj.ru 1.0
[0046] 参照表2,google.com.hk属于DGA域名的概率值为6.71553e-08,这是很低的数值,因此,可以确定检测结果为非DGA域名;dlwxvurpfeyqyqcj.ru属于DGA域名的概率值为1,这是最大值,因此,可以确定检测结果为DGA域名。
[0047] 由于,本发明实施例中的卷积神经网络并不是用于图像识别、而是用于检测索引序列,且该索引序列也并不十分复杂,因此,卷积神经网络的结构不同于用于图像识别的卷积神经网络的结构,本发明实施例卷积神经网络的组成可以包括依次相连的输入层、嵌入层、卷积层、平铺层和全连接层,各层的数量可以为一层。分别说明如下:
[0048] 由输入层(input_1)开始,上述索引序列作为输入到输入层的数据,可以被模型中的嵌入层(embedding_1)所接收。索引序列的长度可设定为L=50,长度不足L的部分补0,长度超过L的部分被截断。
[0049] 嵌入层接收到索引序列后,将其转换为可进行卷积等操作的矩阵形式,就是将索引序列的每个索引号初始化为向量。可以使用one-hot的转换方式即可。其基本思路是某字符对应的向量里只有一位为1,其他均为0。具体示例可参照上述“abc123”的说明。
[0050] 嵌入层之后,可以连接有一个卷积层(conv1d),可以为一维卷积层,卷积核大小可以根据实际情况自主设置,卷积核数量可设为512。卷积层参数通过模型自动学习得到。
[0051] 卷积层之后,经平铺层(flatten_1)和全连接层(dense_1)处理后,连接到代表是否为DGA域名的2个输出结点。经过多轮迭代,输出的损失函数值(即预测值(检测结果)与真实值的差别度量值)逐渐下降,直至达到可以接受的极小值。同时,可以用验证集的准确率来检验模型效果。
[0052] 当模型达到满意效果后,保存模型结构和权重数值,以供在使用模型进行索引序列检测时使用。
[0053] 所述卷积神经网络还包括依次与所述卷积层和所述平铺层相连的聚合层(concatenate_1);与所述聚合层相连的卷积层为并行相连的三个卷积层,卷积层数量不作具体限定;每个并行相连的卷积层分别与嵌入层相连。图2为本发明实施例卷积神经网络的组成结构图,如图2所示,嵌入层之后,连接3个不同大小卷积核的一维卷积层conv1d_1、conv1d_2、conv1d_3,三个卷积层为并行关系,三者的卷积核大小分别可以设定为2、3、4,卷积核数量均可以设为512。卷积层参数通过模型自动学习得到。
[0054] 进一步地,如图2所示,卷积神经网络还包括约束层(dropout_1),依次与所述平铺层和所述全连接层相连。
[0055] 训练过程可以包括:
[0056] 构建训练集:训练集包括搜集到的DGA域名和非DGA域名、生成的DGA域名。可以取出一部数据做模型训练,一部分作为验证集用于模型验证。模型训练:主要作用是使用域名训练集进行训练,得到可用于检测的卷积神经网络模型。将海量的域名字符编码数据输入模型进行训练,反复迭代,直到训练误差和识别率达到可接受的程度。
[0057] 需要说明的是:卷积神经网络在使用之前,按时间先后顺序执行的方法步骤可以如下:
[0058] 1、样本搜集
[0059] 样本搜集主要包括搜集DGA域名样本和非DGA域名样本。DGA域名样本搜集来源不作具体限定。非DGA域名搜集来源包括但不限于:
[0060] (1)Alexa排名前1万的域名列表(http://s3.amazonaws.com/alexa-static/top-1m.csv.zip)。
[0061] (2)思科公司的Umbrella域名列表(https://s3-us-west-1.amazonaws.com/umbrella-static/index.html)。
[0062] 2、生成器
[0063] 对于样本量不足的部分DGA家族,可以按照其特点构成的规则,自动生成一批DGA域名,加入训练集中。例如,bamital家族的DGA域名与文件MD5值相似,可以按照MD5的构造规则生成bamital家族的DGA域名。ccleaner家族的DGA域名长度约11-13,由字母a-f和数字0-9混合而成。这一类平均每月只发现1个,如果训练样本的数量严重不足,可以按照它的构成规则生成一批。
[0064] 3、训练集
[0065] 可参照上述说明。
[0066] 4、模型训练
[0067] 可参照上述说明。
[0068] 5、模型检测
[0069] 可参照上述说明。
[0070] 6、检测结果
[0071] 可参照上述说明。
[0072] 上述方法易于实施,配置灵活,效果显著。采用端到端的实现技术,无需人工定义特征和规则。与现有技术相比效果更好,体现为准确率高、召回率高、误报率低。同时由于卷积神经网络的特性(属于前馈模型,更轻量,比类似的循环系统计算更快),训练和检测都可以并行计算,运行速度更快,提升工作效率。
[0073] 本发明实施例提供的检测DGA域名的方法,通过输入与待检测的DGA域名的域名字符对应的索引序列至预设DGA域名检测模型,并将预设DGA域名检测模型的输出结果作为DGA域名的检测结果,能够准确、高效地检测DGA域名。
[0074] 在上述实施例的基础上,装置中的所述卷积神经网络包括依次相连的输入层、嵌入层、卷积层、平铺层和全连接层。
[0075] 本发明实施例提供的检测DGA域名的方法,通过优化卷积神经网络的网络结构,进一步能够准确、高效地检测DGA域名。
[0076] 在上述实施例的基础上,装置中的所述卷积神经网络还包括依次与所述卷积层和所述平铺层相连的聚合层;与所述聚合层相连的卷积层为并行相连的三个卷积层;每个并行相连的卷积层分别与嵌入层相连。
[0077] 本发明实施例提供的检测DGA域名的方法,通过优化卷积神经网络的网络结构,进一步能够准确、高效地检测DGA域名。
[0078] 在上述实施例的基础上,装置中的所述卷积神经网络还包括依次与所述平铺层和所述全连接层相连的约束层。
[0079] 本发明实施例提供的检测DGA域名的方法,通过优化卷积神经网络的网络结构,进一步能够准确、高效地检测DGA域名。
[0080] 在上述实施例的基础上,装置中的所述三个卷积层的卷积核大小分别为2、3和4。
[0081] 本发明实施例提供的检测DGA域名的方法,通过合理设置三个卷积层的卷积核大小,进一步能够准确、高效地检测DGA域名。
[0082] 图3为本发明检测DGA域名的装置实施例结构示意图,如图3所示,本发明实施例提供了一种检测DGA域名的装置,包括获取单元301、预处理单元302和检测单元303,其中:
[0083] 获取单元301用于获取待检测的DGA域名;预处理单元302用于预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;检测单元303用于输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。
[0084] 具体的,获取单元301用于获取待检测的DGA域名;预处理单元302用于预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;检测单元303用于输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。
[0085] 本发明实施例提供的检测DGA域名的装置,通过输入与待检测的DGA域名的域名字符对应的索引序列至预设DGA域名检测模型,并将预设DGA域名检测模型的输出结果作为DGA域名的检测结果,能够准确、高效地检测DGA域名。
[0086] 在上述实施例的基础上,装置中的所述卷积神经网络包括依次相连的输入层、嵌入层、卷积层、平铺层和全连接层。
[0087] 本发明实施例提供的检测DGA域名的装置,通过优化卷积神经网络的网络结构,进一步能够准确、高效地检测DGA域名。
[0088] 在上述实施例的基础上,装置中的所述卷积神经网络还包括依次与所述卷积层和所述平铺层相连的聚合层;与所述聚合层相连的卷积层为并行相连的三个卷积层;每个并行相连的卷积层分别与嵌入层相连。
[0089] 本发明实施例提供的检测DGA域名的装置,通过优化卷积神经网络的网络结构,进一步能够准确、高效地检测DGA域名。
[0090] 在上述实施例的基础上,装置中的所述卷积神经网络还包括依次与所述平铺层和所述全连接层相连的约束层。
[0091] 本发明实施例提供的检测DGA域名的装置,通过优化卷积神经网络的网络结构,进一步能够准确、高效地检测DGA域名。
[0092] 在上述实施例的基础上,装置中的所述三个卷积层的卷积核大小分别为2、3和4。
[0093] 本发明实施例提供的检测DGA域名的装置,通过合理设置三个卷积层的卷积核大小,进一步能够准确、高效地检测DGA域名。
[0094] 本发明实施例提供的检测DGA域名的装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
[0095] 图4为本发明实施例提供的电子设备实体结构示意图,如图4所示,所述电子设备包括:处理器(processor)401、存储器(memory)402和总线403;
[0096] 其中,所述处理器401、存储器402通过总线403完成相互间的通信;
[0097] 所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取待检测的DGA域名;预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。
[0098] 本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取待检测的DGA域名;预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。
[0099] 本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取待检测的DGA域名;预处理所述DGA域名,以获取与所述DGA域名的域名字符相对应的索引序列;输入所有索引序列至预设DGA域名检测模型,并将所述预设DGA域名检测模型的输出结果作为所述DGA域名的检测结果;其中,所述预设DGA域名检测模型是采用DGA域名样本数据、非DGA域名样本数据训练卷积神经网络得到的。
[0100] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0101] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0102] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0103] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。