攻击信息预测模型的训练方法、装置、电子设备及存储介质与流程

文档序号:23419173发布日期:2020-12-25 11:40阅读:65来源:国知局
攻击信息预测模型的训练方法、装置、电子设备及存储介质与流程

本本发明涉及网络攻击信息处理处理技术,尤其涉及攻击信息预测模型的训练方法、攻击信息预测方法、装置、系统、设备及存储介质。



背景技术:

相关技术中,waf的正则表达式是一种重要的攻击数据,对其进行分析有助于为攻击行为的识别以及安全防御措施提供依据,具体可以通过web应用防火墙采用正则表达式匹配攻击特征的方式来检测web注入型攻击,即对每一种具体的注入的攻击特征进行特征匹配,但是,现有攻击信息预测中,通过人工生成正则表达式的方式速度慢并且精确度较差,不利于及时地对入侵防御系统进行检测。



技术实现要素:

有鉴于此,本发明实施例提供一种攻击信息预测模型的训练方法、攻击信息预测方法、装置、电子设备及存储介质,能够实现对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式,自动化的对攻击信息进行预测,提升预测的速度与精确度。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种攻击信息预测模型的训练方法,包括:

获取第一训练样本集合,其中,所述第一训练样本集合包括与攻击信息预测模型相匹配的攻击载荷信息和对应的结构化查询语言关键词;

通过所述攻击信息预测模型对所述第一训练样本集合进行处理,确定所述攻击信息预测模型中的词向量模型网络的参数,以实现通过所述词向量模型网络输出与所述训练样本相匹配的词向量;

通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行二分类处理,确定所述攻击信息预测模型中二分类模型网络的参数,以实现通过所述攻击信息预测模型中二分类模型网络确定与所述词向量相匹配的种子攻击载荷信息;

通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行多分类处理,确定所述攻击信息预测模型中多分类模型网络的参数,以实现通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则;

基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式。

本发明实施例还提供了一种攻击信息预测方法,包括:

获取入侵防御系统对应的攻击载荷信息;

通过攻击信息预测模型的词向量模型网络,确定与所述攻击载荷信息相匹配的词向量;

通过所述攻击信息预测模型中二分类模型网络,确定与所述词向量相匹配的种子攻击载荷信息;

通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则;

基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式;

根据所述正则表达式,对所述入侵防御系统进行测试。

本发明实施例还提供了一种攻击信息预测模型的训练装置,包括:

信息传输模块,用于获取第一训练样本集合,其中,所述第一训练样本集合包括与攻击信息预测模型相匹配的攻击载荷信息和对应的结构化查询语言关键词;

模型训练模块,用于通过所述攻击信息预测模型对所述第一训练样本集合进行处理,确定所述攻击信息预测模型中的词向量模型网络的参数,以实现通过所述词向量模型网络输出与所述训练样本相匹配的词向量;

所述模型训练模块,用于通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行二分类处理,确定所述攻击信息预测模型中二分类模型网络的参数,以实现通过所述攻击信息预测模型中二分类模型网络确定与所述词向量相匹配的种子攻击载荷信息;

所述模型训练模块,用于通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行多分类处理,确定所述攻击信息预测模型中多分类模型网络的参数,以实现通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则;

所述模型训练模块,用于基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式。

上述方案中,

所述模型训练模块,用于通过所述攻击信息预测模型中的词向量模型网络,对所述第一训练样本集合进行采样处理,确定所述训练样本对应的正例样本与负例样本;

所述模型训练模块,用于根据所述训练样本对应的正例样本与负例样本,确定词向量模型网络中的上下文样本对;

所述模型训练模块,用于根据所述词向量模型网络中的上下文样本对,确定所述攻击信息预测模型中的词向量模型网络的参数。

上述方案中,

所述模型训练模块,用于确定与所述攻击信息预测模型相匹配的分词策略;

所述模型训练模块,用于对所述第一训练样本集合中的攻击载荷信息进行分词处理;

所述模型训练模块,用于将所述第一训练样本集合中的结构化查询语言关键词随机插入所经过分词处理的所述攻击载荷信息中,形成第二训练样本集合。

上述方案中,

所述模型训练模块,用于通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行第一二分类处理,确定所述攻击信息预测模型中基于注意力机制的二分类模型网络的初始参数;

所述模型训练模块,用于基于所述二分类模型网络的初始参数,通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行第二二分类处理,确定所述攻击信息预测模型中基于注意力机制的二分类模型网络的更新参数;

所述模型训练模块,用于根据所述二分类模型网络的更新参数,通过所述第一训练样本集合对所述注意力机制的二分类模型进行迭代更新,以实现通过所述攻击信息预测模型中二分类模型网络确定与所述词向量相匹配的种子攻击载荷信息。

上述方案中,

所述模型训练模块,用于将所述第一训练样本集合中不同语句样本,代入由所述攻击信息预测模型中的二分类模型网络的编码器和解码器构成的自编码网络对应的损失函数;

所述模型训练模块,用于确定所述损失函数满足第一收敛条件时对应所述二分类模型网络的编码器的参数和相应的解码器参数作为所述二分类模型网络的更新参数。

上述方案中,

所述模型训练模块,用于确定所述攻击信息预测模型中的二分类模型网络的编码器和解码器构成的自编码网络对应的迭代收敛条件;

所述模型训练模块,用于基于所述二分类模型网络对应的更新参数,对所述二分类模型网络的编码器参数和解码器参数进行迭代更新,

所述模型训练模块,用于直至所述二分类模型网络的编码器和解码器构成的自编码网络对应的损失函数满足对应的收敛条件并能够确定与所述词向量相匹配的种子攻击载荷信息。

上述方案中,

所述模型训练模块,用于通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行第一多分类处理,确定所述攻击信息预测模型中基于多分类模型网络的初始参数;

所述模型训练模块,用于基于所述多分类模型网络的初始参数,通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行第二多分类处理,确定所述攻击信息预测模型中多分类模型网络的更新参数;

所述模型训练模块,用于根据所述多分类模型网络的更新参数,通过所述第一训练样本集合对所述多分类模型进行迭代更新,以实现通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则。

上述方案中,

所述模型训练模块,用于确定所述攻击信息预测模型中的多分类模型网络的编码器和解码器构成的自编码网络对应的迭代收敛条件;

所述模型训练模块,用于基于所述多分类模型网络对应的更新参数,对所述多分类模型网络的编码器参数和解码器参数进行迭代更新,

所述模型训练模块,用于直至所述多分类模型网络的编码器和解码器构成的自编码网络对应的损失函数满足对应的收敛条件并能够确定与所述种子攻击载荷信息相对性的组合规则。

上述方案中,

所述模型训练模块,用于基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合处理,形成第一表达式单元;

所述模型训练模块,用于遍历所述第一表达式单元,删除重复的第一表达式单元,形成入侵防御系统对应的正则表达式。

上述方案中,

所述模型训练模块,用于接收攻击信息,并对所述攻击信息进行分解;

所述模型训练模块,用于基于所述正则表达式,将分解后的攻击信息与所述入侵防御系统的攻击判别数据库中的攻击规则进行匹配,以实现对所述入侵防御系统的测试。

本发明实施例还提供了一种攻击信息预测装置,包括:

信息获取模块,用于获取入侵防御系统对应的攻击载荷信息;

信息处理模块,用于通过攻击信息预测模型的词向量模型网络,确定与所述攻击载荷信息相匹配的词向量;

所述信息处理模块,用于通过所述攻击信息预测模型中二分类模型网络,确定与所述词向量相匹配的种子攻击载荷信息;

所述信息处理模块,用于通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则;

所述信息处理模块,用于基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式;

所述信息处理模块,用于根据所述正则表达式,对所述入侵防御系统进行测试。

本发明实施例还提供了一种电子设备,所述电子设备包括:

存储器,用于存储可执行指令;

处理器,用于运行所述存储器存储的可执行指令时,实现前序的攻击信息预测模型的训练方法,或者实现前序述的攻击信息预测方法。

本发明实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时实现前序的攻击信息预测模型的训练方法,或者实现前序的攻击信息预测方法。

本发明实施例具有以下有益效果:

本发明实施例通过获取第一训练样本集合,其中,所述第一训练样本集合包括与攻击信息预测模型相匹配的攻击载荷信息和对应的结构化查询语言关键词;通过所述攻击信息预测模型对所述第一训练样本集合进行处理,确定所述攻击信息预测模型中的词向量模型网络的参数,以实现通过所述词向量模型网络输出与所述训练样本相匹配的词向量;通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行二分类处理,确定所述攻击信息预测模型中二分类模型网络的参数,以实现通过所述攻击信息预测模型中二分类模型网络确定与所述词向量相匹配的种子攻击载荷信息;通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行多分类处理,确定所述攻击信息预测模型中多分类模型网络的参数,以实现通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则;基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合,由此,能够实现对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式,自动化的对攻击信息进行预测,提升预测的速度与精确度,同时,模型的泛化能力更强,提升攻击信息预测模型的训练精度并节省模型的训练时间。

附图说明

图1是本发明实施例提供的攻击信息预测模型的训练方法的使用环境示意图;

图2为本发明实施例提供的攻击信息预测模型的训练装置的组成结构示意图;

图3为本发明实施例中正则表达式一个可选的生成过程示意图;

图4为本发明实施例中正则表达式一个可选的生成过程示意图;

图5为本发明实施例提供的攻击信息预测模型训练方法一个可选的流程示意图;

图6为本发明实施例提供的攻击信息预测模型的词向量模型网络结构示意图;

图7为本发明实施例提供的攻击信息预测模型训练方法一个可选的流程示意图;

图8为本发明实施例中二分类模型网络的一个可选的示意图;

图9为本发明实施例提供的攻击信息预测模型训练方法一个可选的流程示意图;

图10为本发明实施例中多分类模型网络的结构示意图;

图11为本发明实施例中通过不同的种子攻击载荷信息进行组合确定入正则表达式的过程示意图;

图12为本发明实施例提供的攻击信息预测方法一个可选的流程示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。

1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。

2)终端,包括但不限于:普通终端、专用终端,其中所述普通终端与发送通道保持长连接和/或短连接,所述专用终端与所述发送通道保持长连接。

3)客户端,终端中实现特定功能的载体,例如移动客户端(app)是移动终端中特定功能的载体,例如执行支付消费功能或者是购买理财产品的功能。

4)web应用防火墙(waf,webapplicationfirewall):也称网站应用级入侵防御系统,其通过检测超文本传输协议(http,hypertexttransferprotocol)或超文本传输安全协议(https,hypertexttransferprotocoloversecuresocketlayer)报文中的特征,来对恶意的攻击请求进行阻断。

5)攻击载荷(攻击payload):指恶意攻击请求中,用于进行攻击的特定的字符或代码片段。

6)模型训练,对图像数据集进行多分类学习。该模型可采用tensorflow、torch等深度学习框架进行构建,使用cnn等神经网络层的多层结合组成多分类模型。模型的输入为图像经过opencv等工具读取形成的三通道或原通道矩阵,模型输出为多分类概率,通过softmax等算法最终输出网页类别。在训练时,模型通过交叉熵等目标函数向正确趋势逼近。

7)神经网络(neuralnetwork,nn):人工神经网络(artificialneuralnetwork,ann),简称神经网络或类神经网络,在机器学习和认知科学领域,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。

图1为本发明实施例提供的攻击信息预测模型的训练方法的使用场景示意图,参见图1,终端(包括终端10-1和终端10-2)上设置有能够执行不同功能相应客户端其中,所属客户端为终端(包括终端10-1和终端10-2)通过网络300从相应的服务器200中获取不同的相应信息进行浏览,终端通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输,其中,终端与网络进行信息交互的过程中,有可能遭受网络攻击,因此,可以部署网站应用级入侵防御系统(wafwebapplicationfirewall)。具体来说,网站应用级入侵防御系统可以通过正则表达式进行检测。

作为一个示例,服务器200用于布设所述攻击信息预测模型并对所述攻击信息预测模型进行训练,并将经过训练的攻击信息预测模型部署在相应的终端中,并通过终端(终端10-1和/或终端10-2)利用所部署的攻击信息预测模型对使用环境中的攻击信息进行预测。

当然在通过攻击信息预测模型对攻击信息进行预测以生成相应的正则表达式之前,还需要对攻击信息预测模型进行训练,具体包括:获取第一训练样本集合,其中,所述第一训练样本集合包括与攻击信息预测模型相匹配的攻击载荷信息和对应的结构化查询语言关键词;通过所述攻击信息预测模型对所述第一训练样本集合进行处理,确定所述攻击信息预测模型中的词向量模型网络的参数,以实现通过所述词向量模型网络输出与所述训练样本相匹配的词向量;通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行二分类处理,确定所述攻击信息预测模型中二分类模型网络的参数,以实现通过所述攻击信息预测模型中二分类模型网络确定与所述词向量相匹配的种子攻击载荷信息;通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行多分类处理,确定所述攻击信息预测模型中多分类模型网络的参数,以实现通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则;基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式。

其中,本申请实施例所提供的攻击信息预测方法是基于人工智能实现的,人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

在本申请实施例中,主要涉及的人工智能软件技术包括上述语音处理技术和机器学习等方向。例如,可以涉及语音技术(speechtechnology)中的攻击信息预测技术(automaticspeechrecognition,asr),其中包括语音信号预处理(speechsignalpreprocessing)、语音信号频域分析(speechsignalfrequencyanalyzing)、语音信号特征提取(speechsignalfeatureextraction)、语音信号特征匹配/识别(speechsignalfeaturematching/recognition)、语音的训练(speechtraining)等。

例如可以涉及机器学习(machinelearning,ml),机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习通常包括深度学习(deeplearning)等技术,深度学习包括人工神经网络(artificialneuralnetwork),例如卷积神经网络(convolutionalneuralnetwork,cnn)、循环神经网络(recurrentneuralnetwork,rnn)、深度神经网络(deepneuralnetwork,dnn)等。

下面对本发明实施例的攻击信息预测模型的训练装置的结构做详细说明,攻击信息预测模型的训练装置可以各种形式来实施,如带有攻击信息预测模型的训练装置处理功能的专用终端,也可以为设置有攻击信息预测模型的训练装置处理功能的服务器或者服务器群组,例如部署于目标系统中的蜜罐系统或者防火墙系统,例如前序图1中的服务器200。图2为本发明实施例提供的攻击信息预测模型的训练装置的组成结构示意图,可以理解,图2仅仅示出了攻击信息预测模型的训练装置的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。

本发明实施例提供的攻击信息预测模型的训练装置包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。攻击信息预测模型的训练装置中的各个组件通过总线系统205耦合在一起。可以理解,总线系统205用于实现这些组件之间的连接通信。总线系统205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统205。

其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。

可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本发明实施例中的存储器202能够存储数据以支持终端(如10-1)的操作。这些数据的示例包括:用于在终端(如10-1)上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。

在一些实施例中,本发明实施例提供的攻击信息预测模型的训练装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的攻击信息预测模型的训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的网络攻击信息处理方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件。

作为本发明实施例提供的攻击信息预测模型的训练装置采用软硬件结合实施的示例,本发明实施例所提供的攻击信息预测模型的训练装置可以直接体现为由处理器201执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成本发明实施例提供的网络攻击信息处理方法。

作为示例,处理器201可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

作为本发明实施例提供的攻击信息预测模型的训练装置采用硬件实施的示例,本发明实施例所提供的装置可以直接采用硬件译码处理器形式的处理器201来执行完成,例如,被一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件执行实现本发明实施例提供的网络攻击信息处理方法。

本发明实施例中的存储器202用于存储各种类型的数据以支持攻击信息预测模型的训练装置的操作。这些数据的示例包括:用于在攻击信息预测模型的训练装置上操作的任何可执行指令,如可执行指令,实现本发明实施例的从网络攻击信息处理方法的程序可以包含在可执行指令中。

在另一些实施例中,本发明实施例提供的攻击信息预测模型的训练装置可以采用软件方式实现,图2示出了存储在存储器202中的攻击信息预测模型的训练装置,其可以是程序和插件等形式的软件,并包括一系列的模块,作为存储器202中存储的程序的示例,可以包括攻击信息预测模型的训练装置,攻击信息预测模型的训练装置中包括以下的软件模块信息传输模块2081和模型训练模块2082。当攻击信息预测模型的训练装置中的软件模块被处理器201读取到ram中并执行时,将实现本发明实施例提供的网络攻击信息处理方法,其中,攻击信息预测模型的训练装置中各个软件模块的功能,包括:

信息传输模块2081,用于获取第一训练样本集合,其中,所述第一训练样本集合包括与攻击信息预测模型相匹配的攻击载荷信息和对应的结构化查询语言关键词。

模型训练模块2082,用于通过所述攻击信息预测模型对所述第一训练样本集合进行处理,确定所述攻击信息预测模型中的词向量模型网络的参数,以实现通过所述词向量模型网络输出与所述训练样本相匹配的词向量。

所述模型训练模块2082,用于通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行二分类处理,确定所述攻击信息预测模型中二分类模型网络的参数,以实现通过所述攻击信息预测模型中二分类模型网络确定与所述词向量相匹配的种子攻击载荷信息。

所述模型训练模块2082,用于通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行多分类处理,确定所述攻击信息预测模型中多分类模型网络的参数,以实现通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则。

所述模型训练模块2082,用于基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式。

根据图2所示的电子设备,在本申请的一个方面中,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述攻击信息预测模型的训练方法的各种可选实现方式中所提供的方法。

结合图2示出的攻击信息预测模型训练装置说明本发明实施例提供的攻击信息预测模型的训练方法,在介绍本发明实施例提供的攻击信息预测模型的训练方法之前,首先介绍相关技术中正则表达式生成的过程,

参考图3和图4,图3为本发明实施例中正则表达式一个可选的生成过程示意图,图4为本发明实施例中正则表达式一个可选的生成过程示意图。

相关技术中,网站应用级入侵防御系统中可以对文本关键词和对应的正则表达式建模,构建分类模型,生成的正则表达式是事先确定好的。或者,如图3所示,通过序列生成技术将自然语言指令翻译成正则表达式,或是通过自动机方式从句子集合中推断正则表达式。

但是在waf的测试阶段,通常来说waf通过正则表达式来拦截恶意请求,这使得很多web攻击变得不可实施,例如sql注入。但是如果攻击者掌握了waf后端的规则,便可以根据规则调整payload,进而构造出绕过waf的攻击。此外,对于商业waf产品来说,好的防护规则可以使产品具备更强的防御能力,是商业waf产品的核心竞争力,如果waf规则被泄露了,将使得网站应用级入侵防御系统受到攻击。通常情况下从waf上得到的反馈只有是否被拦截,但是可以通过变化payload中特定位置的字符生成新的payload,然后测试waf得到反馈,根据反馈结果推测出正则单元,进而还原出waf的防御规则(例如,如果测试a-za-z,0-9,_为block,而测试其他字符为pass,这可以确认后端正则单元为\w),但是这种方式存在一定的局限性,首先,人工探测由于耗时耗力难以大规模展开,此外,这种经验与攻击者的技术水平息息相关,在一些细节方面很容易疏漏,最终导致推测出来的规则可能只是真实防护规则的一个子集。因此,需要一种更加高效的方法对网站应用级入侵防御系统中,进行预测,以实现通过所预测出的正则表达式对网站应用级入侵防御系统进行测试以提高其安全性。

为解决这一相关技术中的缺陷,参见图5,图5为本发明实施例提供的攻击信息预测模型训练方法一个可选的流程示意图,可以理解地,图5所示的步骤可以由运行攻击信息预测模型训练装置的各种电子设备执行,例如可以是如带有攻击信息预测功能的专用终端、带有攻击信息预测模型训练功能的服务器或者服务器集群。下面针对图5示出的步骤进行说明。

步骤501:攻击信息预测模型训练装置获取第一训练样本集合。

其中,所述第一训练样本集合包括与攻击信息预测模型相匹配的攻击载荷信息和对应的结构化查询语言关键词。

在本发明的一些实施例中,可以确定与所述攻击信息预测模型相匹配的分词策略;对所述第一训练样本集合中的攻击载荷信息进行分词处理;将所述第一训练样本集合中的结构化查询语言关键词随机插入所经过分词处理的所述攻击载荷信息中,形成第二训练样本集合。其中,其中,可以从sqlmap中收集数量为3万条的payload,以及约600个sql关键词,然后对payload进行分词处理,将关键词随机替换到payload中进行数据增强,形成第二训练样本集合,例如示例“-0"or0=0#”即为经过扩充的第二训练样本。

步骤502:攻击信息预测模型训练装置通过所述攻击信息预测模型对所述第一训练样本集合进行处理,确定所述攻击信息预测模型中的词向量模型网络的参数,以实现通过所述词向量模型网络输出与所述训练样本相匹配的词向量。

在本发明的一些实施例中,通过所述攻击信息预测模型对所述第一训练样本集合进行处理,确定所述攻击信息预测模型中的词向量模型网络的参数,可以通过以下方式实现:

通过所述攻击信息预测模型中的词向量模型网络,对所述第一训练样本集合进行采样处理,确定所述训练样本对应的正例样本与负例样本;根据所述训练样本对应的正例样本与负例样本,确定词向量模型网络中的上下文样本对;根据所述词向量模型网络中的上下文样本对,确定所述攻击信息预测模型中的词向量模型网络的参数。其中,在训练阶段,1)攻击信息处理模型中的词向量模型网络可以使用skipgram模型,实现通过中心词预测上下文窗口词,其中,参考图6,图6为本发明实施例提供的攻击信息预测模型的词向量模型网络结构示意图,其中,w(t)是中心词,也叫给定输入词。其中有一个隐藏层,它执行权重矩阵和输入向量w(t)之间的点积运算。隐藏层中不使用激活函数。隐藏层中的点积运算结果被传递到输出层,输出层计算隐藏层输出向量和输出层权重矩阵之间的点积。然后用softmax激活函数来计算在给定上下文位置中,单词出现在w(t)上下文中的概率。

其中,skipgram模型的训练过程可以包括:对节点序列进行正、负采样,得到样本节点的样本上下文节点对,样本上下文节点对包括样本节点的正例节点对、和/或负例节点对;根据预设的skipgram模型预测样本节点的上下文节点,得到预测上下文节点对;采用梯度下降算法对预测上下文节点对和样本上下文节点对进行收敛,得到训练后的skipgram模型。

进一步地,使用skipgram模型的优势在于,skipgram模型是一种无监督学习技术,因此它可以用于任何原始文本。相比于其他单词转向量表达法,skip-gram需要的记忆更少词语在向量空间的分散表示;语义相似性中cat与dog比cat与apple距离更近,同时kipgram模型中的矢量具有可加性:king–man+woman=quee,还能够全自动化提取特征。

在本发明的一些实施例中,通过gensim库构建skipgram词向量模型网络,嵌入维度为32,词表大小为780,上下文窗口大小为10。经过此步骤,每个单词都得到了一个32维的向量表示。

步骤503:攻击信息预测模型训练装置通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行二分类处理,确定所述攻击信息预测模型中二分类模型网络的参数。

由此,可以实现通过所述攻击信息预测模型中二分类模型网络确定与所述词向量相匹配的种子攻击载荷信息。

其中,参考图7,图7为本发明实施例提供的攻击信息预测模型训练方法一个可选的流程示意图,可以理解地,图7所示的步骤可以由运行攻击信息预测模型训练装置的各种电子设备执行,具体包括:

步骤701:通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行第一二分类处理,确定所述攻击信息预测模型中基于注意力机制的二分类模型网络的初始参数。

步骤702:基于所述二分类模型网络的初始参数,通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行第二二分类处理,确定所述攻击信息预测模型中基于注意力机制的二分类模型网络的更新参数。

其中,在确定二分类模型网络时,可以将所述第一训练样本集合中不同语句样本,代入由所述攻击信息预测模型中的二分类模型网络的编码器和解码器构成的自编码网络对应的损失函数;确定所述损失函数满足第一收敛条件时对应所述二分类模型网络的编码器的参数和相应的解码器参数作为所述二分类模型网络的更新参数。

步骤703:根据所述二分类模型网络的更新参数,通过所述第一训练样本集合对所述注意力机制的二分类模型进行迭代更新,以实现通过所述攻击信息预测模型中二分类模型网络确定与所述词向量相匹配的种子攻击载荷信息。

具体来说,在迭代更新时,首先确定所述攻击信息预测模型中的二分类模型网络的编码器和解码器构成的自编码网络对应的迭代收敛条件;之后基于所述二分类模型网络对应的更新参数,对所述二分类模型网络的编码器参数和解码器参数进行迭代更新,直至所述二分类模型网络的编码器和解码器构成的自编码网络对应的损失函数满足对应的收敛条件并能够确定与所述词向量相匹配的种子攻击载荷信息。其中,二分类模型网络可以使用有注意力机制的lstm深度神经网络,参考图8,图8为本发明实施例中二分类模型网络的一个可选的示意图,具体来说,将训练数据集通过waf系统测试后得到block和pass标签,然后攻击信息处理模型中的二分类模型网络,得到一个经过训练的分类模型网络,通过该模型网络可以预测出一条payload能否被block的概率。其中,训练数据:payload,如80`execute\x0bcollation`having-sa,标签:被wafblocked的为1,否则为0。

在训练阶段,可以确定与所述攻击信息处理模型中的二分类模型网络相匹配的损失函数;基于损失函数,调整所述攻击信息处理模型中的二分类模型网络的网络参数;直至所述攻击信息处理模型中的二分类模型网络对应的损失函数达到相应的收敛条件。其中,计算注意力分布α的处理,参考公式1:

根据α,计算输入信息的加权平均可以参考公式2:

s(xn,q)打分函数:这里使用了加性模型,即公式3:

s(x,q)=vttanh(wx+uq)公式3

由此,可以通过注意力机制(lstm+attentionmodel)生成诸如(select、0=0、and0等种子payload。

步骤504:攻击信息预测模型训练装置通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行多分类处理,确定所述攻击信息预测模型中多分类模型网络的参数。

由此,可以实现通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则。

其中,参考图9,图9为本发明实施例提供的攻击信息预测模型训练方法一个可选的流程示意图,可以理解地,图9所示的步骤可以由运行攻击信息预测模型训练装置的各种电子设备执行,具体包括:

步骤901:通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行第一多分类处理,确定所述攻击信息预测模型中基于多分类模型网络的初始参数。

步骤902:基于所述多分类模型网络的初始参数,通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行第二多分类处理,确定所述攻击信息预测模型中多分类模型网络的更新参数。

步骤903:根据所述多分类模型网络的更新参数,通过所述第一训练样本集合对所述多分类模型进行迭代更新,以实现通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则。

在本发明的一些实施例中,迭代更新时,可以确定所述攻击信息预测模型中的多分类模型网络的编码器和解码器构成的自编码网络对应的迭代收敛条件;基于所述多分类模型网络对应的更新参数,对所述多分类模型网络的编码器参数和解码器参数进行迭代更新,直至所述多分类模型网络的编码器和解码器构成的自编码网络对应的损失函数满足对应的收敛条件并能够确定与所述种子攻击载荷信息相对性的组合规则。其中,图10为本发明实施例中多分类模型网络的结构示意图,将探测位置左边w个单词和右边w个单词作为输入,通过双层lstm编码后进行pooling操作,然后接一个线性层映射到词表大小,经过softmax函数输出单词概率。

具体来说,以payload:1”and1=1为例,我们使用的窗口大小w为5,为了探测”位置,左边的输入为[<pad>,<pad>,<pad>,<pad>,1],右边输入为[<space>,and,1,=,1],单词映射成数字后,通过预训练的词向量进一步转换成嵌入矩阵,输入到lstm网络中,通过maxpooling提取特征,经过线性层映射到词表大小38,输出这个位置上38个单词的概率,并基于相应的概率确定规则单元。

步骤505:攻击信息预测模型训练装置基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式。

其中,图11为本发明实施例中通过不同的种子攻击载荷信息进行组合确定入正则表达式的过程示意图,其中,

攻击信息预测模型推荐出要探测的单词可以表示为:“’,`,),…”

通过攻击信息预测模型中的多分类模型网络,可以推荐每个种子payload每个位置可能的单词,根据这些单词被block和pass的情况反推出该位置上对应的正则表达式单元。例如,对于某个位置被block的有“aa0_”被pass的有“(*,?.”,那么可以确定这个位置对应的规则单元是“\w”。具体来说,多分类模型网络包括两层的lstm结构,最上层接一个线性层,将模型输出维度映射到词表大小,最后通过softmax函数输出每个单词出现在该位置的概率,将概率值大于阈值的预测单词排序后,依次通过线上系统探测。同时还可以使用增量学习的方式充分利用反馈结果来迭代优化攻击信息预测模型。

最后对所得到的规则单元进行增加、删除等操作后,如\s\s=>\s+,通过线上反馈优化规则表达式形式,最终每个种子payload将对应一条防护规则。

{

"pg_sleep(":"(?i)\\bpg[^\\da-za-z]sleep[^a-za-z\\d_]*['\"`\\(]+"

}

参见图12,图12为本发明实施例提供的攻击信息预测方法一个可选的流程示意图,可以理解地,图12所示的步骤可以由运行攻击信息预测模型的各种电子设备执行,例如可以是如带有攻击信息预测功能的专用终端、带有攻击信息预测模型训练功能的服务器或者服务器集群。下面针对图12示出的步骤进行说明。

步骤1201:获取入侵防御系统对应的攻击载荷信息。

在测试过程中,可以模拟对终端或服务器进行攻击,web注入型攻击的攻击本质是在目标网络流量的请求报文中注入恶意的程序代码,而且在请求报文中可以不包括任何的程序代码。恶意的程序代码在注入请求报文时,在特定的注入点进行程序注入。本实施例中所提到的目标注入点可以包括任一或任多个可能注入程序代码的注入点,目标注入点可以为预先设置的检测位置,可以将常见的web注入型攻击程序代码注入位置设置为目标注入点,本实施例还可以在检测web注入型攻击的过程中更新目标注入点。目标注入点可以存在于请求报文的请求行、请求头部和请求数据中的任意位置,此处不进行限定。目标注入点的注入点文本可以包括统一资源定位符参数值,也可以包括cookie值。

步骤1202:通过攻击信息预测模型的词向量模型网络,确定与所述攻击载荷信息相匹配的词向量。

步骤1203:通过所述攻击信息预测模型中二分类模型网络,确定与所述词向量相匹配的种子攻击载荷信息。

步骤1204:通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则。

步骤1205:基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式。

步骤1206:根据所述正则表达式,对所述入侵防御系统进行测试。

以上述分解后的sql注入攻击请求为例,在确定攻击字符串时,将分解后的sql注入攻击请求与攻击判别数据库中的攻击规则进行匹配,确定出匹配的位置。在进行匹配时,每一类攻击的攻击规则都有对应的攻击匹配模式,这些攻击匹配模式可以是一些特征的正则表达式。将分解后的各个部分与攻击判别数据库中的攻击匹配模式进行匹配,就能返回匹配的位置,该匹配位置对应的参数就是攻击字符串。

由此,测试人员能够准确确定当前的入侵防御系统是否符合抗攻击要求,并及时跟所预测成功的攻击信息对入侵防御系统进行调整。

其中,本发明实施例可结合云技术实现,云技术(cloudtechnology)是指在广域网或局域网内将硬件、软件及网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术,也可理解为基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术及应用技术等的总称。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站,因此云技术需要以云计算作为支撑。

需要说明的是,云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池平台,简称云平台,一般称为基础设施即服务(iaas,infrastructureasaservice),在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(可为虚拟化机器,包含操作系统)、存储设备和网络设备。

结合前序图1所示,本发明实施例所提供的攻击信息预测方法可以通过相应的云端设备实现,例如:终端(包括终端10-1和终端10-2)通过网络300连接位于云端的服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。值得说明的是,服务器200可为实体设备,也可为虚拟化设备,通过部署在云服务器中的攻击信息预测模型,对云服务器中的入侵防御系统进行检测。

有益效果:

本发明实施例通过获取第一训练样本集合,其中,所述第一训练样本集合包括与攻击信息预测模型相匹配的攻击载荷信息和对应的结构化查询语言关键词;通过所述攻击信息预测模型对所述第一训练样本集合进行处理,确定所述攻击信息预测模型中的词向量模型网络的参数,以实现通过所述词向量模型网络输出与所述训练样本相匹配的词向量;通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行二分类处理,确定所述攻击信息预测模型中二分类模型网络的参数,以实现通过所述攻击信息预测模型中二分类模型网络确定与所述词向量相匹配的种子攻击载荷信息;通过所述攻击信息预测模型,对与所述攻击载荷信息相匹配的词向量进行多分类处理,确定所述攻击信息预测模型中多分类模型网络的参数,以实现通过所述攻击信息预测模型中多分类模型网络确定与所述种子攻击载荷信息相对性的组合规则;基于所述种子攻击载荷信息和与所述种子攻击载荷信息相对性的组合规则,对不同的种子攻击载荷信息进行组合,由此,能够实现对不同的种子攻击载荷信息进行组合,确定入侵防御系统对应的正则表达式,自动化的对攻击信息进行预测,提升预测的速度与精确度,同时,模型的泛化能力更强,提升攻击信息预测模型的训练精度并节省模型的训练时间。

以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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