一种网络攻击串检测方法及装置与流程

文档序号:11215784阅读:404来源:国知局
一种网络攻击串检测方法及装置与流程

本发明实施例涉及网络安全技术领域,具体涉及一种网络攻击串检测方法及装置。



背景技术:

随着互联网的快速发展,给人们的生活带来了极大的便利,但同时也带来了新的安全挑战,当今的网络安全问题已经不容忽视。早期的网络大部分为c/s结构,给用户提供信息服务。而今天大部分都实现了b/s结构,用户打开网页就可以购物,打开网站就可以购买股票、彩票甚至是捐助希望工程。当web应用越来越为丰富的同时,web服务器以其蕴含的高价值数据、较大影响力逐渐成为主要攻击目标。网络安全事件频繁发生,尤其是针对网络入侵导致敏感数据泄漏或网页篡改,造成了恶劣的社会舆论影响。

现有方法中针对网络攻击,主要采用字符串匹配算法,基于特定的规则,对网络中传输的字符串进行匹配,在一定程度上避免了部分恶意的网络攻击。

在实现本发明实施例的过程中,发明人发现现有的方法基于特定规则进行字符串匹配,容易让攻击者发现匹配规律,造成网络攻击的漏报和误报。



技术实现要素:

由于现有方法存在上述问题,本发明实施例提出一种网络攻击串检测方法及装置。

第一方面,本发明实施例提出一种网络攻击串检测方法,包括:

获取网络字符串,对所述网络字符串进行分词处理,得到若干个分词字符串;

将各分词字符串分别输入正常检测模型,得到若干个对应的正常匹配值,并根据所述若干个对应的正常匹配值得到所述网络字符串的正常检测值;

将各分词字符串分别输入异常检测模型,得到若干个对应的异常匹配值,并根据所述若干个对应的异常匹配值得到所述网络字符串的异常检测值;

若判断获知所述异常检测值大于所述正常检测值,则确定所述网络字符串为网络攻击串。

可选地,所述将各分词字符串分别输入异常检测模型,得到若干个对应的异常匹配值,并根据所述若干个对应的异常匹配值得到所述网络字符串的异常检测值,具体包括:

将各分词字符串分别输入异常检测模型,得到若干个对应的异常匹配值;

若判断获知相邻的分词字符串均为所述异常检测模型中的预设攻击串,则对所述相邻的分词字符串对应的异常匹配值进行加权计算;

根据各分词字符串对应的异常匹配值得到所述网络字符串的异常检测值。

可选地,所述方法还包括:

根据正常样本数据构建所述正常检测模型,并根据异常样本数据构建所述异常检测模型。

可选地,所述方法还包括:

若判断获知所述异常检测值小于或等于所述正常检测值,则确定所述网络字符串为正常网络串。

第二方面,本发明实施例还提出一种网络攻击串检测装置,包括:

字符串分词模块,用于获取网络字符串,对所述网络字符串进行分词处理,得到若干个分词字符串;

正常检测模块,用于将各分词字符串分别输入正常检测模型,得到若干个对应的正常匹配值,并根据所述若干个对应的正常匹配值得到所述网络字符串的正常检测值;

异常检测模块,用于将各分词字符串分别输入异常检测模型,得到若干个对应的异常匹配值,并根据所述若干个对应的异常匹配值得到所述网络字符串的异常检测值;

攻击串确定模块,用于若判断获知所述异常检测值大于所述正常检测值,则确定所述网络字符串为网络攻击串。

可选地,所述异常检测模块具体包括:

分词字符串匹配单元,用于将各分词字符串分别输入异常检测模型,得到若干个对应的异常匹配值;

匹配值加权单元,用于若判断获知相邻的分词字符串均为所述异常检测模型中的预设攻击串,则对所述相邻的分词字符串对应的异常匹配值进行加权计算;

异常检测单元,用于根据各分词字符串对应的异常匹配值得到所述网络字符串的异常检测值。

可选地,所述装置还包括:

模型构建模块,用于根据正常样本数据构建所述正常检测模型,并根据异常样本数据构建所述异常检测模型。

可选地,所述装置还包括:

正常检测模块,用于若判断获知所述异常检测值小于或等于所述正常检测值,则确定所述网络字符串为正常网络串。

第三方面,本发明实施例还提出一种电子设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。

第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。

由上述技术方案可知,本发明实施例通过将分词处理后的分词字符串分别输入正常检测模型和异常检测模型,得到正常检测值和异常检测值,并通过对比正常检测值和异常检测值确定网络攻击串,并不依赖单一的规则,使攻击者无法发现匹配规律,大大提升了网络攻击检测的效率和准确率。

附图说明

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

图1为本发明一实施例提供的一种网络攻击串检测方法的流程示意图;

图2为本发明一实施例提供的一种网络攻击串检测装置的结构示意图;

图3为本发明一实施例提供的电子设备的逻辑框图。

具体实施方式

下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

图1示出了本实施例提供的一种网络攻击串检测方法的流程示意图,包括:

s101、获取网络字符串,对所述网络字符串进行分词处理,得到若干个分词字符串。

其中,所述网络字符串为服务器或终端设备接收的网络中传输的字符串。

所述分词处理为将所述网络字符串划分为若干个子串的处理过程。举例来说,所述网络字符串为“abcdef”,则对“abcdef”进行分词处理,可以得到“ab”、“bc”、“cd”、“de”和“ef”五个子串,即五个分词字符串。

所述分词字符串为对所述网络字符串进行分词处理后得到的子串。

具体地,可以将若干个分词字符串存储在一个词汇列表中,该词汇列表包括若干个元素,每个元素就是一个分词字符串。

s102、将各分词字符串分别输入正常检测模型,得到若干个对应的正常匹配值,并根据所述若干个对应的正常匹配值得到所述网络字符串的正常检测值。

其中,所述正常检测模型为根据安全字符串样本数据构建的用于检测输入的分词字符串是否正常的模型。

所述正常匹配值为分词字符串输入正常检测模型后,得到的匹配值。

所述正常检测值为综合考虑所有分词字符串的正常匹配值后得到的综合匹配值,即为所述网络字符串为经过检验后安全的正常网络串的检测值。

s103、将各分词字符串分别输入异常检测模型,得到若干个对应的异常匹配值,并根据所述若干个对应的异常匹配值得到所述网络字符串的异常检测值。

其中,所述异常检测模型为根据攻击字符串样本数据构建的用于检测输入的分词字符串是否异常的模型。

所述异常匹配值为分词字符串输入异常检测模型后,得到的匹配值。

所述异常检测值为综合考虑所有分词字符串的异常匹配值后得到的综合匹配值,即为所述网络字符串为网络攻击串的检测值。

s104、若判断获知所述异常检测值大于所述正常检测值,则确定所述网络字符串为网络攻击串。

举例来说,若异常检测值为25,正常检测值为13,由于25大于13,因此可确定所述网络字符串为网络攻击串,后续可对所述网络攻击串执行拦截和记录等操作。

需要说明的是,步骤s102和s103相互独立,其执行的先后顺序无特定要求,也可以先执行s103,后执行s102。

本实施例通过将分词处理后的分词字符串分别输入正常检测模型和异常检测模型,得到正常检测值和异常检测值,并通过对比正常检测值和异常检测值确定网络攻击串,并不依赖单一的规则,使攻击者无法发现匹配规律,大大提升了网络攻击检测的效率和准确率。

进一步地,在上述方法实施例的基础上,s103具体包括:

s1031、将各分词字符串分别输入异常检测模型,得到若干个对应的异常匹配值;

s1032、若判断获知相邻的分词字符串均为所述异常检测模型中的预设攻击串,则对所述相邻的分词字符串对应的异常匹配值进行加权计算;

s1033、根据各分词字符串对应的异常匹配值得到所述网络字符串的异常检测值。

其中,所述相邻的分词字符串为依次对所述网络字符串进行分词处理后得到分词字符串中,相邻的分词字符串。

所述预设攻击串为异常检测模型中预先设置的若干个已被确定有攻击风险的字符串。

所述对所述相邻的分词字符串对应的异常匹配值进行加权计算,举例来说,原来相邻的分词字符串的异常匹配值分别为3和5,由于是相邻的预设攻击串,因此加上权值1.5,则相邻的分词字符串的异常匹配值分别变为4.5和7.5。

本实施例先对网络字符串使用分词处理算法,构建一个词汇列表,遍历词汇列表,在预设的正常检测模型和异常检测模型中进行匹配,如果匹配成功则获取对应的匹配值。对于特定词组进行连续性加权,保证特定词组的出现获得一个较高的得分,使网络攻击检测抛弃基于规则的检测方法,大大提升效率和准确率。

进一步地,在上述方法实施例的基础上,所述方法还包括:

s105、根据正常样本数据构建所述正常检测模型,并根据异常样本数据构建所述异常检测模型。

其中,所述正常样本数据为预先根据具体要求选择的正常的样本数据,所述异常样本数据为预先根据具体要求选择的异常的样本数据。

通过选择不同的样本数据构建不同的检测模型,使得攻击者无法猜测具体的防攻击规则,避免攻击者发现匹配规律,能够大大提升网络攻击检测的效率和准确率。

进一步地,在上述方法实施例的基础上,所述方法还包括:

s106、若判断获知所述异常检测值小于或等于所述正常检测值,则确定所述网络字符串为正常网络串。

其中,所述正常网络串为经过检验后认定为安全的字符串。

通过确定正常网络串,能够使得网络在拦截网络攻击串的同时,对经过检验后安全的正常网络串进行放行,保证用户接收数据的安全。

举例来说,获取的待检测的网络字符串为:

1and1=2unionselect1#

对上述网络字符串的具体操作包括以下步骤:

a1、将上述网络字符串进行分词处理后,结果形成词汇列表,词汇列表具体为:

['num','and','num','=','num','union','select','num','#”]

其中,所有的数字用“num”替代,便于检测。

a2、将词汇列表中的所有分词字符串输入异常检测模型abnormal模型进行查找,则上述网络字符串“1and1=2unionselect1#”的异常检测值v_abnormal为:

v_abnormal=v_abnormal(num,and,num)+v_abnormal(and,num,=)+v_abnormal(num,=,num)+v_abnormal(=,num,union)+v_abnormal(union,select,num)+v_abnormal(select,num,#)。

具体地,假设,在v_abnormal中,(=,num,union)和(union,select,num)和(select,num,#)是特定攻击词汇(预设攻击串),则:

v_abnormal=v_abnormal(num,and,num)+v_abnormal(and,num,=)+v_abnormal(num,=,num)+x×(v_abnormal(=,num,union)+v_abnormal(union,select,num)+v_abnormal(select,num,#))

其中,x为特定计算的权值。

a3、同步骤a2,在正常检测模型normal模型查找上述网络字符串“1and1=2unionselect1#”后得到的正常检测值v_normal为:

v_normal=v_normal(num,and,num)+v_normal(and,num,=)+v_normal(num,=,num)+v_normal(=,num,union)+v_normal(union,select,num)+v_normal(select,num,#)

正常检测模型不会有特定攻击词汇,因此不会有乘以权值的项。

a4、v_normal和v_abnormal的值即可判断最终结果,如果v_normal的值更大,则上述网络字符串为正常网络串;如果v_abnormal的值更大,则上述网络字符串为网络攻击串。

需要说明的是,步骤a2和a3相互独立,其执行的先后顺序无特定要求,也可以先执行a3,后执行a2。

图2示出了本实施例提供的一种网络攻击串检测装置的结构示意图,所述装置包括:字符串分词模块201、正常检测模块202、异常检测模块203和攻击串确定模块204,其中:

所述字符串分词模块201用于获取网络字符串,对所述网络字符串进行分词处理,得到若干个分词字符串;

所述正常检测模块202用于将各分词字符串分别输入正常检测模型,得到若干个对应的正常匹配值,并根据所述若干个对应的正常匹配值得到所述网络字符串的正常检测值;

所述异常检测模块203用于将各分词字符串分别输入异常检测模型,得到若干个对应的异常匹配值,并根据所述若干个对应的异常匹配值得到所述网络字符串的异常检测值;

所述攻击串确定模块204用于若判断获知所述异常检测值大于所述正常检测值,则确定所述网络字符串为网络攻击串。

具体地,所述字符串分词模块201获取网络字符串,对所述网络字符串进行分词处理,得到若干个分词字符串;所述正常检测模块202将各分词字符串分别输入正常检测模型,得到若干个对应的正常匹配值,并根据所述若干个对应的正常匹配值得到所述网络字符串的正常检测值;所述异常检测模块203将各分词字符串分别输入异常检测模型,得到若干个对应的异常匹配值,并根据所述若干个对应的异常匹配值得到所述网络字符串的异常检测值;所述攻击串确定模块204若判断获知所述异常检测值大于所述正常检测值,则确定所述网络字符串为网络攻击串。

本实施例通过将分词处理后的分词字符串分别输入正常检测模型和异常检测模型,得到正常检测值和异常检测值,并通过对比正常检测值和异常检测值确定网络攻击串,并不依赖单一的规则,使攻击者无法发现匹配规律,大大提升了网络攻击检测的效率和准确率。

进一步地,在上述装置实施例的基础上,所述异常检测模块203具体包括:

分词字符串匹配单元,用于将各分词字符串分别输入异常检测模型,得到若干个对应的异常匹配值;

匹配值加权单元,用于若判断获知相邻的分词字符串均为所述异常检测模型中的预设攻击串,则对所述相邻的分词字符串对应的异常匹配值进行加权计算;

异常检测单元,用于根据各分词字符串对应的异常匹配值得到所述网络字符串的异常检测值。

进一步地,在上述装置实施例的基础上,所述装置还包括:

模型构建模块,用于根据正常样本数据构建所述正常检测模型,并根据异常样本数据构建所述异常检测模型。

进一步地,在上述装置实施例的基础上,所述装置还包括:

正常检测模块,用于若判断获知所述异常检测值小于或等于所述正常检测值,则确定所述网络字符串为正常网络串。

本实施例所述的网络攻击串检测装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

参照图3,所述电子设备,包括:处理器(processor)301、存储器(memory)302和总线303;

其中,

所述处理器301和存储器302通过所述总线303完成相互间的通信;

所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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