CN115964478A - 网络攻击检测方法、模型训练方法及装置、设备及介质 - Google Patents

网络攻击检测方法、模型训练方法及装置、设备及介质 Download PDF

Info

Publication number
CN115964478A
CN115964478A CN202111171329.0A CN202111171329A CN115964478A CN 115964478 A CN115964478 A CN 115964478A CN 202111171329 A CN202111171329 A CN 202111171329A CN 115964478 A CN115964478 A CN 115964478A
Authority
CN
China
Prior art keywords
url
sample
node
attack detection
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111171329.0A
Other languages
English (en)
Inventor
钱成
鲁银冰
袁勇
陈东
王悦
何洋
钱湖海
王伟杰
周旭莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202111171329.0A priority Critical patent/CN115964478A/zh
Publication of CN115964478A publication Critical patent/CN115964478A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本公开公开了一种网络攻击检测方法、模型训练方法及装置、设备及介质。所述网络攻击检测模型训练方法可包括:将网络攻击检测模型识别的统一资源定位符URL,确定为继续训练所述网络攻击检测模型的样本URL,其中,所述样本URL包括:第一类标签为正常URL的URL和第一类标签为异常URL的URL;所述异常URL至少包括:XSS攻击的URL;对所述样本URL进行聚类,得到聚类结果;获取所述聚类结果中至少一类所述样本URL的第二类标签,并将已获取第二类标签的样本URL添加到样本池中;从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型。

Description

网络攻击检测方法、模型训练方法及装置、设备及介质
技术领域
本公开涉及网络技术领域,尤其涉及一种网络攻击检测方法、模型训练方法及装置、设备及介质。
背景技术
网络攻击有很多种,例如,跨站脚本攻击(XSS)是一种比较常见的网页(Web)攻击之一。XSS攻击常年位居开放Web应用安全项目组Top10漏洞的前三。现有关于XSS的检测方案主要有基于机器学习和基于规则两种。应用于XSS检测的常用机器学习算法主要有隐含马尔柯夫模型(Hidden Markov Model,HMM)、K均值聚类算法、支持向量机(Support VectorMachines,SVM)等,基于规则的检测模型都是将攻击样本特征与特征库进行正则匹配。两种检测方法中,基于规则的检测方案实现简便,但相对于未知XSS的检测效果不及基于机器学习的检测方案,容易被变种的XSS攻击请求给绕过。
发明内容
本公开实施例提供了一种网络攻击检测方法、模型训练方法及装置、设备及介质,以解决提升XSS攻击的防御率和检测正确率。
本公开实施例第一方面提供一种网络攻击检测模型训练方法,包括:
将网络攻击检测模型识别的统一资源定位符(Uniform Resource Locator,URL),确定为继续训练所述网络攻击检测模型的样本URL,其中,所述样本URL包括:第一类标签为正常URL的URL和第一类标签为异常URL的URL;所述异常URL至少包括:XSS攻击的URL;
对所述样本URL进行聚类,得到聚类结果;
获取所述聚类结果中至少一类所述样本URL的第二类标签,并将已获取第二类标签的样本URL添加到样本池中;
从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型。
基于上述方案,所述对所述样本URL进行聚类,得到聚类结果,包括:
对所述样本URL进行K均值聚类算法K-means聚类,得到K-means聚类结果。
基于上述方案,所述获取所述聚类结果中至少一类所述样本URL的第二类标签,包括:
根据所述聚类结果,将信息增量最大的一个或多个聚类簇包含的所述样本URL输出;
得到基于输出的所述样本URL的第二类标签。
基于上述方案,所述从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型,包括:
基于随机森林算法从所述样本池选择所述目标URL,构造决策树;
根据所述决策树中一个或多个节点所对应特征的信息增益或者信息量,确定所述目标URL的训练特征;
利用所述目标URL的训练特征和所述目标URL的标签,训练所述网络攻击检测模型。
基于上述方案,所述基于随机森林算法从所述样本池选择所述目标URL,构造决策树,包括:
基于所述目标URL的特征,构建所述决策树的第s节点;
根据所述第s节点对应的所述目标URL的特征的信息增益或信息量,分裂所述第s节点得到第s+1节点和第s+2节点,其中,第s+1节点和第s+2节点均为所述决策树中所述第s节点的子节点。
基于上述方案,所述根据所述第s节点对应的所述目标URL的特征的信息增益或信息量,分裂所述第s节点得到第s+1节点和第s+2节点,包括:
根据所述第s节点对应的所述样本URL的特征中随机选择部分特征;
确定被选择的部分特征的信息增益或信息量最大的特征;
根据信息增益或信息量最大的特征,分裂所述第s节点得到所述第s+1节点和所述第s+2节点。
基于上述方案,所述从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型,包括:
对所述目标URL进行分词,得到每一条所述目标URL的分词;
根据所述分词的词频和逆文档频率,确定每一个所述分词的权重;
根据所述权重,确定每一条所述目标URL的特征向量;
基于所述特征训练,训练所述网络攻击检测模型得到判别结果;
基于所述判别结果和所述目标URL的标签之间的差异,更新所述网络攻击检测模型的模型参数。
本公开实施例第二方面提供一种网络攻击检测方法,所述方法包括:
获取待识别的URL;
使用前述第一方面任意技术方案提供的网络攻击检测模型,识别所述URL得到所述URL的分类结果;其中,所述分类结果包括:指示所述URL为正常URL的第一类标签,或者,指示所述URL为异常URL的第一类标签;
收集所述网络攻击检测模型识别的URL,其中,收集的所述URL作为继续训练所述第一模型的样本URL。
本公开实施例第三方面提供一种网络攻击检测模型训练装置,所述装置包括:
确定模块,用于将网络攻击检测模型识别的统一资源定位符,确定为继续训练所述网络攻击检测模型的样本URL,其中,所述样本URL包括:第一类标签为正常URL的URL和第一类标签为异常URL的URL;所述异常URL至少包括:XSS攻击的URL;
聚类模块,用于对所述样本URL进行聚类,得到聚类结果;
样本池模块,用于获取所述聚类结果中至少一类所述样本URL的第二类标签,并将已获取第二类标签的样本URL添加到样本池中;
训练模块,用于从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型。
基于上述方案,所述聚类模块,具体用于对所述样本URL进行K均值聚类算法K-means聚类,得到K-means聚类结果。
基于上述方案,所述样本池模块,具体用于根据所述聚类结果,将信息增量最大的一个或多个聚类簇包含的所述样本URL输出;得到基于输出的所述样本URL的第二类标签。
基于上述方案,所述训练模块,具体用于基于随机森林算法从所述样本池选择所述目标URL,构造决策树;根据所述决策树中一个或多个节点所对应特征的信息增益或者信息量,确定所述目标URL的训练特征;利用所述目标URL的训练特征和所述目标URL的标签,训练所述网络攻击检测模型。
基于上述方案,所述训练模块,具体用于基于所述目标URL的特征,构建所述决策树的第s节点;根据所述第s节点对应的所述目标URL的特征的信息增益或信息量,分裂所述第s节点得到第s+1节点和第s+2节点,其中,第s+1节点和第s+2节点均为所述决策树中所述第s节点的子节点。
基于上述方案,所述训练模块,具体用于根据所述第s节点对应的所述样本URL的特征中随机选择部分特征;确定被选择的部分特征的信息增益或信息量最大的特征;根据信息增益或信息量最大的特征,分裂所述第s节点得到所述第s+1节点和所述第s+2节点。
基于上述方案,所述训练模块,具体用于对所述目标URL进行分词,得到每一条所述目标URL的分词;根据所述分词的词频和逆文档频率,确定每一个所述分词的权重;根据所述权重,确定每一条所述目标URL的特征向量;基于所述特征训练,训练所述网络攻击检测模型得到判别结果;
基于所述判别结果和所述目标URL的标签之间的差异,更新所述网络攻击检测模型的模型参数。
本公开实施例第四方面提供一种网络攻击检测装置,所述装置包括:
获取模块,用于获取待识别的URL;
识别模块,用于使用前述任意技术方案提供的网络攻击检测模型,识别所述URL得到所述URL的分类结果;其中,所述分类结果包括:指示所述URL为正常URL的第一类标签,或者,指示所述URL为异常URL的第一类标签;
收集模块,用于收集网络攻击检测模型识别的URL作为继续训练所述网络攻击检测模型的样本URL。
本公开实施例第五方面提供一种电子设备,包括:
存储器;
处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现前述任意第一方面和/或第二方面任意技术方案提供的网络攻击检测模型训练方法和网络攻击检测方法。
本公开实施例第六方面提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现前述任意第一方面和/或第二方面任意技术方案提供的网络攻击检测模型训练方法和网络攻击检测方法。
本公开实施例提供的技术方案,会收集已经上线应用的网络攻击检测模型识别的URL,并将收集的URL作为继续训练网络攻击模型的URL,通过聚类得到聚类结果,并根据聚类结果将至少一类样本URL的第一类标签进行校正得到第二类标签,将获得第二类标签的URL和其第二类标签加入到样本池,继续训练网络攻击检测模型,如此,即便出现了新的网络攻击类型和/或网络攻击模型当前的检测正确率还不是特别高的情况下,通过上线后的增量训练可以继续提升网络攻击模型的检测能力,提升检测正确率。
附图说明
图1为本公开实施例提供的一种网络攻击检测模型训练方法的流程示意图;
图2为本公开实施例提供的一种聚类结果的效果示意图;
图3为本公开实施例提供的一种决策树的结构示意图;
图4为本公开实施例提供的一种网络攻击检测方法的流程示意图;
图5为本公开实施例提供的一种网络攻击检测模型训练方法和网络攻击检测方法的流程示意图;
图6为本公开实施例提供的一种网络攻击检测模型训练装置的结构示意图;
图7是本公开实施例提供的一种网络攻击检测装置的结构示意图;
图8是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更加详尽地了解本公开的特点与技术内容,下面结合附图对本公开的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开。
如图1所示,本公开实施例提供一种网络攻击检测模型训练方法,可包括:
S110:将网络攻击检测模型识别的URL,确定为继续训练所述网络攻击检测模型的样本URL,其中,所述样本URL包括:第一类标签为正常URL的URL和第一类标签为异常URL的URL;所述异常URL至少包括:XSS攻击的URL;
S120:对所述样本URL进行聚类,得到聚类结果;
S130:获取所述聚类结果中至少一类所述样本URL的第二类标签,并将已获取第二类标签的样本URL添加到样本池中;
S140:从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型。
本公开实施例提供的网络攻击模型训练方法可应用于电子设备,该电子设备包括但不限于:终端设备和/或服务器。所述终端设备包括但不限于:固定终端和/或移动终端。所述固定终端包括但不限于:台式电脑、智能电视机等。所述移动终端包括但不限于:手机、平板电脑和/或可穿戴式设备。
网络攻击检测模型在应用过程中,可以通过以下方式至少之一获取到待识别的URL;
拦截终端设备发送的网络请求;
复制终端设备发送的网络请求,其中,所述网络请求携带有所请求网络资源的URL。
所述第一类标签可为所述网络攻击模型识别获取到的URL输出的标签。例如,该网络攻击模型可为:二分类器;该二分类器可以将获取到的URL分为正常URL和异常URL。
该异常URL可为网络攻击的URL。该网络攻击包括但不限于XSS攻击。
获取到样本URL,对样本URL进行聚类得到聚类结果。
示例性地,分析样本URL的格式,依照样本URL的格式进行聚类。如此具有相同或相似格式的样本URL会被聚合到一个聚类簇内。
又示例性地,分析样本URL的组成部分,根据该组成部分进行样本URL的构造聚类,得到对样本URL的构造聚类的聚类结果,如此,具有相同或者相似构造的样本URL会被划分到一个聚类簇内。
一个实施例中,根据聚类结果,选择至少一个聚类簇内的样本URL输出,得到专家对该聚类簇内所有样本URL给出的标签,该标签即为前述的第二类标签。
此处对原本URL进行聚类的方式有很种,例如,基于距离的聚类方式、基于密度的聚类方式、或者基于层次化的聚类方式。
在另一个实施例中,根据聚类结果选择输出一个或多个聚类簇内的样本URL的同时,还对应输出当前网络攻击模型给这些样本URL判定的第一类标签。转角可以对照检查样本URL的第一类标签,如此第一类标签标定正确,则将该第一类标签直接视为样板URL的第二类标签,若对应样本URL的第二类标签错误,则会收到正确的标签,则此时接收到的新的标签即为所述第二类标签。
将第二类标签及样本URL添加到样本池中,然后从样本池中选择目标URL及其标签继续训练网络攻击模型。此处,可以是从样本池中选择目标URL及其标签在线训练网络攻击模型。
如此,即便出现了新网络攻击的类型,也可以在网络攻击模型的增量训练(继续训练),使得网络攻击模型具有检测新攻击类型的检测能力。若上线使用的网络攻击检测模型原始检测准确度不够的情况下,依然可以通过这种后续到的增量训练,提升网络攻击检测模型的检测精确度。
另一方面,在本公开实施例中,并不是将所有的样本URL都输出,以得到第二类标签,而是通过聚类之后依据聚类结果,输出一类或多类样本URL的第二类标签,从而减少需要重新标定或者校验的样本URL的个数,降低网络攻击检测模型的增量训练的成本。
在一个实施例中,所述S120可包括:对所述样本URL进行K均值聚类算法K-means聚类,得到K-means聚类结果。
在本公开实施例中,对样本进行URL的进行的是K均值聚类算法的K-means聚类。例如,将样本URL的格式和/或构造的特定映射到特征空间,基于各样本URL在特征空间的分布位置,进行所述K-means聚类,得到聚类结果。采用这种方式得到聚类结果,具有聚类计算量少,且能够快速得到有信息增益较大的聚类簇。
图2所示为一个基于K-means聚类的聚类效果示意图。在图2中,样本URL被聚类为4个聚类簇,每一个聚类簇分配有聚类标签,分别是聚类标签1、聚类标签2、聚类标签3及聚类标签4。
在一个实施例中,所述S130可包括:
根据所述聚类结果,将信息增量最大的一个或多个聚类簇包含的所述样本URL输出;
得到基于输出的所述样本URL的第二类标签。
例如,根据聚类结果,将信息增量最大的一个或2个聚类簇包含的样本URL在用户接口(User Interface,UI)上输出,检测针对输出的样本URL的用户操作,从而确定所述第二类标签。
在一个实施例中,将各聚类簇中的URL与已经添加到样本池中的样本URL进行比对,根据比对的差异程度从而可以到信息增益最大聚类簇。
在另一个实施例中,根据聚类簇中URL的第一类标签,若一个聚类簇的URL的第一类指示为正常URL以及指示为异常URL之间的比值越接近,则该聚类簇的信息增益越大。
总之,确定信息增益的方式有很多种,不局限于上述举例。
图2所示的4个聚类簇中,其中聚类标签4所对应的聚类簇的大量的第一类标签指示对应URL为异常URL,此时可能聚类标签4所对应的聚类簇还有一部分的URL的第一类标签指示其为正常URL,此时可以将将聚类标签4所代表的聚类簇,确定为信息增量最大的聚类簇。
在一些实施例中,该第二类标签可为专家标注标签。
在一些实施例中,所述S140可包括:
基于随机森林算法从所述样本池选择所述目标URL,构造决策树;
根据所述决策树中一个或多个节点所对应特征的信息增益或者信息量,确定所述目标URL的训练特征;
利用所述目标URL的训练特征和所述目标URL的标签,训练所述网络攻击检测模型。
例如,基于随机森林算法从样本池内所有样本URL中选择部分,被选择出的部分样本URL(即所述目标URL)用于构建决策树。
例如,从样本池中进行多次样板URL选择,每次选择的样本URL构成一个训练集,基于一个训练集合构建一个决策树。决策树的构建,实际上是对URL的特征提取。
根据决策树内所有节点或者随机选择部分节点所对应特征的信息增益或信息量,确定出目标URL的特征中用于继续训练网络攻击检测模型的特征,该特征视为训练特征。基于训练特征构建继续训练网络攻击检测模型的特征向量,并输入到网络攻击检测模型,实现对网络攻击检测模型增量训练。
信息增益是信息量增加最大的特征。在构建决策树时,会从决策树的根节点向下构建各个节点,其中子节点是基于对父节点的分裂确定的。
在本公开实施例中,在进行子节点的分类时,会根据父节点(即第s节点)对应的样本URL特征进行。但是为了增加特征构建的随机性,提升挖掘出新的网络攻击类型的特征,会随机选择第s节点所对应样本URL的特征中的部分特征,找到选择部分特征中的信息增益最大的特征,进行该父节点的两个子节点的分类,从而得到第s+1节点和第s+2节点。
即在一些实施例中,所述基于随机森林算法从所述样本池选择所述目标URL,构造决策树,包括:
基于所述目标URL的特征,构建所述决策树的第s节点;
根据所述第s节点对应的所述目标URL的特征的信息增益或信息量,分裂所述第s节点得到第s+1节点和第s+2节点,其中,第s+1节点和第s+2节点均为所述决策树中所述第s节点的子节点。
采用改进的决策树的构建方法,可以使得构建的决策树有更大的概率挖掘出新的网络攻击的URL。且选择信息增益最大的特征确定目标URL用于网络识别模型训练的特征,在训练网络识别模型时,可以尽可能的实现网络识别模型的训练收敛。
在本公开实施例中,URL的特征可为:URL的分词。例如,按照不同的分词窗口分词得到的连续分布的一个或多个字符。
如图3所示为一个对基于随机森林算法选择出的样本URL构建的一个决策树,在该决策树中信息增益最大的特征为“ct”、“.j”以及“s/”。根据该决策树获得该这些样本URL的特征,并构建出继续训练网络攻击检测模型的样本URL的特征。
进一步地,所述根据所述第s节点对应的所述目标URL的特征的信息增益或信息量,分裂所述第s节点得到第s+1节点和第s+2节点,包括:
根据所述第s节点对应的所述样本URL的特征中随机选择部分特征;
确定被选择的部分特征的信息增益或信息量最大的特征;
根据信息增益或信息量最大的特征,分裂所述第s节点得到所述第s+1节点和所述第s+2节点。
此处随机选择部分特征,而非基于所有特征的信息增益最大或信息量最大,而是基于随机选择特征的信息增益最大或者信息量最大获得最优解。在一些实施例中,所述从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型,包括:
对所述目标URL进行分词,得到每一条所述目标URL的分词;
根据所述分词的词频和逆文档频率,确定每一个所述分词的权重;
根据所述权重,确定每一条所述目标URL的特征向量;
基于所述特征训练,训练所述网络攻击检测模型得到判别结果;
基于所述判别结果和所述目标URL的标签之间的差异,更新所述网络攻击检测模型的模型参数。
所述特征向量是由特征对应的权重构成的。
所述模型参数包括但不限于:网络攻击检测模型的权重等。
例如,采用反向传播的方式,更新网络攻击检测模型的权重,直至权重更新后所述网络攻击模型给出的判别结果的损失值小于阈值或者达到全局最小值或者局部最小值时,停止网络攻击检测模型的训练。
如图4所示,本公开实施例提供一种网络攻击检测方法,所述方法包括:
S210:获取待识别的URL;
S220:使用前述任意技术方案提供的网络攻击检测模型,识别所述URL得到所述URL的分类结果;其中,所述分类结果包括:指示所述URL为正常URL的第一类标签,或者,指示所述URL为异常URL的第一类标签;
S230:收集所述网络攻击检测模型识别的URL,其中,收集的所述URL作为继续训练所述第一模型的样本URL。
本公开实施例中,该网络攻击检测模型可为前述任意实施例训练得到的模型。在本公开实施例中,在利用模型训练的同时,会手机该URL,以便进一步更新样本池,以对该网络攻击检测模型进行增量训练。该增量训练可为网络攻击检测模型的在线训练。
有鉴于此,本公开实施例提供的网络攻击检测方法,具有检测能力强以及对新的网络攻击也能够及时检测到的特点。
本公开实施例采用的是一个基于主动学习的随机森林识别模型,通过K-means聚类方法和专家评判能够主动学习新的XSS恶意特征,是一个在线学习过程,能够持续不断的进行模型自我迭代。在特征工程方面采用n-gram和TF-IDF方法,能够有效提取识别XSS攻击请求恶意特征,方便简单,不用对URL进行切割,无需破坏URL原始信息。且该机器学习模型相对深度学习模型而言资源消耗低,预测效率高,可维护性强,准确率和召回率也不弱于深度学习模型。
以下为本公开实施例的网络攻击识别方法及网络攻击检测模型的在线训练方法,可如图5所示。
训练样本集组成,可包括:
从真实工业环境云网页应用程序防火墙(Web Application Firewall,WAF)日志,获取XSS攻击的URL和正常URL作为样本URL,两者数量分别为22143条和20745条,数量比例可接近于1:1。XSS攻击的URL和正常URL分别作为正负样本。两类样本的数量比例可以接近1:1或者小于或等于1:3即可。
XSS攻击的ULR可如下所示:
/dslpwt15.fts?<script>document.cookie="testtkio=5454;"</script>
特征工程(n-gram+TF-IDF),提取样本的特征。此处的特征可由URL中连续分布的一个或多个字符构成。
n-gram分词就是将每条URL相邻n个连续字符作为一个特征进行划分,每次划分时窗口移动1个字符单位。此处字符包括空格、标点符号或者数学符号等各种特殊字符。
对每条URL进行n-gram分词操作后,进行TF-IDF文本特征提取。TF-IDF算法是一种统计方法,用以评估一个字词在一篇文章,一个语料库的重要程度。字词的重要性随着它在文章中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。具体公式如下:
经过TF-IDF计算后,可得到一个URL-TFIDF矩阵,矩阵维度为m*n维,其中,m表示URL的数目,n表示每条URL的TFIDF特征向量的维度。特征工程由python机器学习库scikit-learn中的TfidfTransformer方法实现。
tfidfi,j表示第i条URL的第j个分词的权重。
tfi,j表示第i条URL的第j个分词的词频;
idfi,j表示第i条URL的第j个分词的逆文档频率。
ui,j表示第i条URL的第j个分词。
uk,j表示第k条URL的第j个分词。k的取值为小于或等于n的正整数。
Dti表示第j个分词在出现的URL的个数;
D表示URL的个数。
基于随机森林算法进行网络攻击识别模型的训练可包括:
本实施例使用随机森林模型进行检测。随机森林是一种集成算法,是通过自助法重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练样本集合。
针对每个训练集合均构造一颗决策树;
在决策树中节点找特征进行分裂的时候,并不对所有特征找到能使得指标(如信息增益)最大的,而是在特征中随机抽取一部分,在抽到的特征中间找到最优解,应用于节点的分裂。
新节点对应特征的分类结果按决策树投票多少形成的分数而定。其实质是对决策树算法的一种改进。
本次模型的建模与参数调优由python编程语言完成,其中用到了sikit-learn机器学习库中的RandomForestClassifier随机森林模型和Gridserach网格搜索方法。
图3为一颗决策树的示意图。
在这颗决策树中,“ct”,“.j”,“s/”等特征作为信息增益最大的属性,成为该棵决策树划分的最大依据。
基于随机森林的输出结果进行K-Means聚类,得到前述聚类簇。
由于随机森林模型输出结果不一定是准确的,对于训练集中未曾出现的URL存在一定的误判可能。因此为了使模型能够主动学习新知识,本框架使用K-Means聚类算法从模型输出结果样本池中进行聚类分析,提取出信息量大的高价值聚类簇供专家评判。
因为信息量大的高价值聚类簇或者信息增量最大的聚类簇的URL结构往往相似,有利于专家发现共同特征,也有利于模型学到新的特征以精确识别XSS攻击。图2为对随机森林模型的输出结果进行K-means聚类,聚类类别为4大簇。
聚类标签4的URL格式主要为以下类别,属于XSS攻击所使用的URL中的一种:
/NewsMng/?=""><script>prompt(991259)</script>"
/bea_wls_internal//""><script>prompt(969631)</script>"
/BizTalkServer;""><script>LXEs(9167)</script>"
/bea_wls_internal/psquare/x.jsp;""><script>Lufm(9822)</script>"
/'""()&%<acx><ScRiPt>prompt(986400)</ScRiPt>/HTML/3101.html"
网络攻击检测模型的主动学习再训练,可包括:
对于上述聚类标签4<script>.*</script>这种高价值聚类簇,当模型训练集中无这种类型且模型预测错误时,主动学习就是一个很好的方法,通过主动学习,可以在选择有价值的数据点时自动执行筛选过程。
通过专家审查和标记,将聚类标签4这种高价值数据新增到初始XSS训练样本集中,利用获得的新知识来迭代训练随机森林模型,使模型能够主动学习新特征。以此往复,直到模型能够高准确的识别不同XSS请求攻击。迭代训练后,模型对于XSS攻击识别的准确率为99.28%,召回率98.85%。
本公开实施例采用的是一种基于主动学习的检测框架,相比较于普通的离线模型,本实施例框架能够自适应的学习XSS恶意特征,模型可以进行自我迭代训练,从而可以高精度、实时判断请求URL是否为XSS攻击。且该框架消耗资源小,预测效率高,维护成本低。
本公开实施例采用的是一种基于主动学习的检测框架,相比较于普通的离线模型,本实施例框架能够自适应的学习XSS攻击的恶意特征,检测模型可以进行自我迭代训练,从而可以高精度、实时判断请求URL是否为XSS攻击使用功能的URL,且该方法具有消耗资源小、预测效率高和/或维护成本低的特点。
采用K-Means聚类算法和专家评判手段对随机森林的输出结果进行最大簇信息量提取,以致于模型能够自适应学习XSS攻击的恶意特征,从而进行网络攻击检测模型(简称检测模型)自我迭代。
如图6所示,本公开实施例提供一种网络攻击检测模型训练装置,包括:
确定模块110,用于将网络攻击检测模型识别的统一资源定位符URL,确定为继续训练所述网络攻击检测模型的样本URL,其中,所述样本URL包括:第一类标签为正常URL的第一URL和第一类标签为异常URL的第二URL;所述异常URL至少包括:XSS攻击的URL;
聚类模块120,用于对所述样本URL进行聚类,得到聚类结果;
样本池模块130,用于获取所述聚类结果中至少一类所述样本URL的第二类标签,并将已获取第二类标签的样本URL添加到样本池中;
训练模块140,用于从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型。
在一个实施例中,所述确定模块110、聚类模块120、样本池模块130及训练模块140可为程序模块,该程序模块被处理器执行后,能够实现上述各个模块的功能。
在另一个实施例中,所述确定模块110、聚类模块120、样本池模块130及训练模块140可为软硬结合模块;所述软硬结合模块包括但不限于:各种可编程阵列;所述可编程阵列包括但不限于现场可编程阵列和/或复杂编程阵列。
在还有一个实施例中,所述确定模块110、聚类模块120、样本池模块130及训练模块140可为纯硬件模块;所述纯硬件模块包括但不限于:专用集成电路。
在一个实施例中,所述聚类模块120,具体用于对所述样本URL进行K均值聚类算法K-means聚类,得到K-means聚类结果。
在一个实施例中,所述样本池模块130,具体用于样本URL根据所述聚类结果,将信息增量最大的一个或多个聚类簇包含的所述样本URL输出;得到基于输出的所述样本URL的第二类标签。
在一个实施例中,所述训练模块140,具体用于基于随机森林算法从所述样本池选择所述目标URL,构造决策树;根据所述决策树中一个或多个节点所对应特征的信息增益或者信息量,确定所述目标URL的训练特征;利用所述目标URL的训练特征和所述目标URL的标签,训练所述网络攻击检测模型。
在一个实施例中,所述训练模块140,具体用于基于所述目标URL的特征,构建所述决策树的第s节点;根据所述第s节点对应的所述目标URL的特征的信息增益或信息量,分裂所述第s节点得到第s+1节点和第s+2节点,其中,第s+1节点和第s+2节点均为所述决策树中所述第s节点的子节点。
在一个实施例中,所述训练模块140,具体用于根据所述第s节点对应的所述样本URL的特征中随机选择部分特征;确定被选择的部分特征的信息增益或信息量最大的特征;根据信息增益或信息量最大的特征,分裂所述第s节点得到所述第s+1节点和所述第s+2节点。
在一个实施例中,所述训练模块140,具体用于对所述目标URL进行分词,得到每一条所述目标URL的分词;根据所述分词的词频和逆文档频率,确定每一个所述分词的权重;根据所述权重,确定每一条所述目标URL的特征向量;基于所述特征训练,训练所述网络攻击检测模型得到判别结果;
基于所述判别结果和所述目标URL的标签之间的差异,更新所述网络攻击检测模型的模型参数。
如图7所示,本公开实施例提供一种网络攻击检测装置,所述装置包括:
获取模块210,用于获取待识别的URL;
识别模块220,用于使用权利要求1至7任一项提供的网络攻击检测模型,识别所述URL得到所述URL的分类结果;其中,所述分类结果包括:指示所述URL为正常URL的第一类标签,或者,指示所述URL为异常URL的第一类标签;
收集模块,用于收集网络攻击检测模型识别的URL作为继续训练所述网络攻击检测模型的样本URL。
在一个实施例中,所述获取模块210、所述识别模块220及所述收集模块可为程序模块,所述程序模块被处理器执行之后,能够实现上述各个模块的功能。
在另一个实施例中,所述获取模块210、所述识别模块220及所述收集模块可为软硬结合模块;所述软硬结合模块包括但不限于各种可编程阵列;所述可编程阵列包括但不限于:现场可编程阵列和/或复杂可编程阵列。
在还有一些实施例中,所述获取模块210、所述识别模块220及所述收集模块可纯硬件模块;所述纯硬件模块包括但不限于专用集成电路。
如图8所示,本公开实施例提供一种电子设备,所述电子设备包括:
存储器;
处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现前述任意实施例提供的网络攻击检测模型训练方法和/或网络攻击检测方法,例如执行如图1、图4至图5任意所示的网络攻击检测模型训练方法和/或网络攻击检测方法。
该电子设备可为前述的终端设备和/或服务器。
该电子设备可以运行所述网络攻击检测模型,从而进行网络攻击检测。所述电子设备还可以在线训练所述网络攻击检测模型。
如图8所示,该电子设还可包括网络接口,该网络接口可用于通过网络和对端设备进行交互。
本公开实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现前述任意实施例提供的网络攻击检测模型训练方法和/或网络攻击检测方法,例如执行如图1、图4至图5任意所示的网络攻击检测模型训练方法和/或网络攻击检测方法。
本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本公开所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本公开各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以N个或N个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。

Claims (18)

1.一种网络攻击检测模型训练方法,其特征在于,包括:
将网络攻击检测模型识别的统一资源定位符URL,确定为继续训练所述网络攻击检测模型的样本URL,其中,所述样本URL包括:第一类标签为正常URL的第一URL和第一类标签为异常URL的第二URL;所述异常URL至少包括:XSS攻击的URL;
对所述样本URL进行聚类,得到聚类结果;
获取所述聚类结果中至少一类所述样本URL的第二类标签,并将已获取第二类标签的样本URL添加到样本池中;
从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型。
2.根据权利要求1所述的方法,其特征在于,所述对所述样本URL进行聚类,得到聚类结果,包括:
对所述样本URL进行K均值聚类算法K-means聚类,得到K-means聚类结果。
3.根据权利要求1或2所述的方法,其特征在于,所述获取所述聚类结果中至少一类所述样本URL的第二类标签,包括:
样本URL根据所述聚类结果,将信息增量最大的一个或多个聚类簇包含的所述样本URL输出;
得到基于输出的所述样本URL的第二类标签。
4.根据权利要求1或2所述的方法,其特征在于,所述从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型,包括:
基于随机森林算法从所述样本池选择所述目标URL,构造决策树;
根据所述决策树中一个或多个节点所对应特征的信息增益或者信息量,确定所述目标URL的训练特征;
利用所述目标URL的训练特征和所述目标URL的标签,训练所述网络攻击检测模型。
5.根据权利要求4所述的方法,其特征在于,所述基于随机森林算法从所述样本池选择所述目标URL,构造决策树,包括:
基于所述目标URL的特征,构建所述决策树的第s节点;
根据所述第s节点对应的所述目标URL的特征的信息增益或信息量,分裂所述第s节点得到第s+1节点和第s+2节点,其中,第s+1节点和第s+2节点均为所述决策树中所述第s节点的子节点。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第s节点对应的所述目标URL的特征的信息增益或信息量,分裂所述第s节点得到第s+1节点和第s+2节点,包括:
根据所述第s节点对应的所述样本URL的特征中随机选择部分特征;
确定被选择的部分特征的信息增益或信息量最大的特征;
根据信息增益或信息量最大的特征,分裂所述第s节点得到所述第s+1节点和所述第s+2节点。
7.根据权利要求1或2所述的方法,其特征在于,所述从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型,包括:
对所述目标URL进行分词,得到每一条所述目标URL的分词;
根据所述分词的词频和逆文档频率,确定每一个所述分词的权重;
根据所述权重,确定每一条所述目标URL的特征向量;
基于所述特征训练,训练所述网络攻击检测模型得到判别结果;
基于所述判别结果和所述目标URL的标签之间的差异,更新所述网络攻击检测模型的模型参数。
8.一种网络攻击检测方法,其特征在于,所述方法包括:
获取待识别的URL;
使用权利要求1至7任一项提供的网络攻击检测模型,识别所述URL得到所述URL的分类结果;其中,所述分类结果包括:指示所述URL为正常URL的第一类标签,或者,指示所述URL为异常URL的第一类标签;
收集所述网络攻击检测模型识别的URL,其中,收集的所述URL作为继续训练所述第一模型的样本URL。
9.一种网络攻击检测模型训练装置,其特征在于,包括:
确定模块,用于将网络攻击检测模型识别的统一资源定位符URL,确定为继续训练所述网络攻击检测模型的样本URL,其中,所述样本URL包括:第一类标签为正常URL的第一URL和第一类标签为异常URL的第二URL;所述异常URL至少包括:XSS攻击的URL;
聚类模块,用于对所述样本URL进行聚类,得到聚类结果;
样本池模块,用于获取所述聚类结果中至少一类所述样本URL的第二类标签,并将已获取第二类标签的样本URL添加到样本池中;
训练模块,用于从所述样本池的所述样本URL中选择目标URL和所述目标URL的标签训练所述网络攻击检测模型。
10.根据权利要求9所述的装置,其特征在于,所述聚类模块,具体用于对所述样本URL进行K均值聚类算法K-means聚类,得到K-means聚类结果。
11.根据权利要求9或10所述的装置,其特征在于,所述样本池模块,具体用于样本URL根据所述聚类结果,将信息增量最大的一个或多个聚类簇包含的所述样本URL输出;得到基于输出的所述样本URL的第二类标签。
12.根据权利要求9或10所述的装置,其特征在于,所述训练模块,具体用于基于随机森林算法从所述样本池选择所述目标URL,构造决策树;根据所述决策树中一个或多个节点所对应特征的信息增益或者信息量,确定所述目标URL的训练特征;利用所述目标URL的训练特征和所述目标URL的标签,训练所述网络攻击检测模型。
13.根据权利要求12所述的装置,其特征在于,所述训练模块,具体用于基于所述目标URL的特征,构建所述决策树的第s节点;根据所述第s节点对应的所述目标URL的特征的信息增益或信息量,分裂所述第s节点得到第s+1节点和第s+2节点,其中,第s+1节点和第s+2节点均为所述决策树中所述第s节点的子节点。
14.根据权利要求13所述的装置,其特征在于,所述训练模块,具体用于根据所述第s节点对应的所述样本URL的特征中随机选择部分特征;确定被选择的部分特征的信息增益或信息量最大的特征;根据信息增益或信息量最大的特征,分裂所述第s节点得到所述第s+1节点和所述第s+2节点。
15.根据权利要求9或10所述的装置,其特征在于,所述训练模块,具体用于对所述目标URL进行分词,得到每一条所述目标URL的分词;根据所述分词的词频和逆文档频率,确定每一个所述分词的权重;根据所述权重,确定每一条所述目标URL的特征向量;基于所述特征训练,训练所述网络攻击检测模型得到判别结果;
基于所述判别结果和所述目标URL的标签之间的差异,更新所述网络攻击检测模型的模型参数。
16.一种网络攻击检测装置,其特征在于,所述装置包括:
获取模块,用于获取待识别的URL;
识别模块,用于使用权利要求1至7任一项提供的网络攻击检测模型,识别所述URL得到所述URL的分类结果;其中,所述分类结果包括:指示所述URL为正常URL的第一类标签,或者,指示所述URL为异常URL的第一类标签;
收集模块,用于收集网络攻击检测模型识别的URL作为继续训练所述网络攻击检测模型的样本URL。
17.一种电子设备,其特征在于,所述电子设备包括:
存储器;
处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现权利要求1至7或者8任一项提供网络攻击检测模型训练方法和/或网络攻击检测方法。
18.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现权利要求1至7或者8任一项提供的网络攻击检测模型训练方法和/或网络攻击检测方法。
CN202111171329.0A 2021-10-08 2021-10-08 网络攻击检测方法、模型训练方法及装置、设备及介质 Pending CN115964478A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111171329.0A CN115964478A (zh) 2021-10-08 2021-10-08 网络攻击检测方法、模型训练方法及装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111171329.0A CN115964478A (zh) 2021-10-08 2021-10-08 网络攻击检测方法、模型训练方法及装置、设备及介质

Publications (1)

Publication Number Publication Date
CN115964478A true CN115964478A (zh) 2023-04-14

Family

ID=87352935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111171329.0A Pending CN115964478A (zh) 2021-10-08 2021-10-08 网络攻击检测方法、模型训练方法及装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115964478A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116527373A (zh) * 2023-05-18 2023-08-01 清华大学 针对恶意url检测系统的后门攻击方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116527373A (zh) * 2023-05-18 2023-08-01 清华大学 针对恶意url检测系统的后门攻击方法和装置
CN116527373B (zh) * 2023-05-18 2023-10-20 清华大学 针对恶意url检测系统的后门攻击方法和装置

Similar Documents

Publication Publication Date Title
US11475143B2 (en) Sensitive data classification
Guo et al. Deep graph neural network-based spammer detection under the perspective of heterogeneous cyberspace
US20200304550A1 (en) Generic Event Stream Processing for Machine Learning
CN108717408B (zh) 一种敏感词实时监控方法、电子设备、存储介质及系统
CN111428231B (zh) 基于用户行为的安全处理方法、装置及设备
CN111818198B (zh) 域名检测方法、域名检测装置和设备以及介质
CN111259219B (zh) 恶意网页识别模型建立方法、识别方法及系统
CN102291392A (zh) 一种基于Bagging算法的复合式入侵检测方法
CN111984792A (zh) 网站分类方法、装置、计算机设备及存储介质
CN111881398A (zh) 页面类型确定方法、装置和设备及计算机存储介质
Boahen et al. Detection of compromised online social network account with an enhanced knn
CN115757991A (zh) 一种网页识别方法、装置、电子设备和存储介质
Zuhair et al. Phishing classification models: issues and perspectives
Gong et al. Model uncertainty based annotation error fixing for web attack detection
Jan et al. Semi-supervised labeling: a proposed methodology for labeling the twitter datasets
CN114138968A (zh) 一种网络热点的挖掘方法、装置、设备及存储介质
CN115964478A (zh) 网络攻击检测方法、模型训练方法及装置、设备及介质
CN105721467A (zh) 社交网络Sybil群体检测方法
CN108875060B (zh) 一种网站识别方法及识别系统
CN103744830A (zh) 基于语义分析的excel文档中身份信息的识别方法
CN114528908A (zh) 网络请求数据分类模型训练方法、分类方法及存储介质
Steyn et al. A nearest neighbor open-set classifier based on excesses of distance ratios
CN113691525A (zh) 一种流量数据处理方法、装置、设备及存储介质
CN113468540A (zh) 基于网络安全大数据的安全画像处理方法及网络安全系统
CN113612765B (zh) 一种网站检测方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination