网络攻击检测方法和设备的制造方法

文档序号:9436037阅读:520来源:国知局
网络攻击检测方法和设备的制造方法
【技术领域】
[0001]本发明属于无线通信技术领域,尤其是涉及一种网络攻击检测方法和设备。
【背景技术】
[0002]网络攻击是影响网络安全的一个重要隐患,为了保证网络安全运行,需要及时检测出网络中存在的攻击行为。
[0003]现有的网络攻击检测技术都是使用特征库中的正则表达式来匹配诸如http请求等网络传输数据,以此判定传输数据中是否存在攻击。
[0004]这种方式需要基于大量的正则表达式特征库,但该特征库中经常会出现盲点,而且特征库中的特征经常会出现前后关联的情况,导致添加新特征人工成本更高,甚至可能出现新特征影响旧特征,致使旧特征失效的情况,从而无法保证网络攻击检测的准确可靠。

【发明内容】

[0005]针对上述存在的问题,本发明提供一种网络攻击检测方法和设备,用以提高网络攻击检测的准确性。
[0006]本发明提供了一种网络攻击检测方法,包括:
[0007]获取待检测字符串,并对所述待检测字符串进行分词处理,得到所述待检测字符串中包含的各单词;
[0008]根据预设元组构成规则对所述各单词进行元组生成处理,以确定与所述待检测字符串对应的各元组;
[0009]确定预先获得的攻击模型数据库中,是否存在与所述各元组对应的模型元组,是否存在与所述各单词中的第一个单词对应的模型单词,所述攻击模型数据库中存储有各模型元组以及每个模型元组的出现概率,各模型单词以及每个模型单词的出现概率;
[0010]若存在,则获取各对应模型元组以及对应模型单词的出现概率,并根据所述各对应模型元组的出现概率以及各对应模型单词的出现概率,确定所述待检测字符串对应的攻击概率;
[0011]若所述攻击概率大于或等于预设概率阈值,则确定所述待检测字符串是具有攻击行为的字符串。
[0012]本发明提供了一种网络攻击检测设备,包括:
[0013]第一获取模块,用于获取待检测字符串,并对所述待检测字符串进行分词处理,得到所述待检测字符串中包含的各单词;
[0014]第一确定模块,用于根据预设元组构成规则对所述各单词进行元组生成处理,以确定与所述待检测字符串对应的各元组;
[0015]第二确定模块,用于确定预先获得的攻击模型数据库中,是否存在与所述各元组对应的模型元组,是否存在与所述各单词中的第一个单词对应的模型单词,所述攻击模型数据库中存储有各模型元组以及每个模型元组的出现概率,各模型单词以及每个模型单词的出现概率;
[0016]第三确定模块,用于在所述第二确定模块确定存在各对应模型元组和对应模型单词时,获取各对应模型元组以及对应模型单词的出现概率,并根据所述各对应模型元组的出现概率以及各对应模型单词的出现概率,确定所述待检测字符串对应的攻击概率;
[0017]第四确定模块,用于在所述攻击概率大于或等于预设概率阈值时,确定所述待检测字符串是具有攻击行为的字符串。
[0018]本发明提供的网络攻击检测方法和设备,针对当前待检测字符串即网络传输数据,在确定其是否具有网络攻击行为时,首先对其进行分词、元组构成处理,得到对应的各元组;进而,在预先获得的存储有各模型元组及其对应出现概率和各模型单词及其对应出现概率的攻击模型数据库中,匹配与得到的各元组对应的模型元组和第一个单词,从而根据对应模型元组和对应模型单词的出现概率确定出该待检测字符串的攻击概率,如果攻击概率大于一定阈值,则确定该字符串为具有攻击行为的字符串。由于攻击模型数据库中存储的各模型单词和模型元组的出现概率是基于对大量攻击样本统计分析获得的,能够体现出攻击样本的统计特征,从而,基于该统计特征能够使得待检测字符串的攻击行为检测结果更加准确。
【附图说明】
[0019]图1为本发明网络攻击检测方法实施例一的流程图;
[0020]图2为本发明网络攻击检测方法实施例二的流程图;
[0021]图3为本发明网络攻击检测设备实施例一的结构示意图;
[0022]图4为本发明网络攻击检测设备实施例二的结构示意图。
【具体实施方式】
[0023]图1为本发明网络攻击检测方法实施例一的流程图,如图1所示,该方法包括如下步骤:
[0024]步骤101、获取待检测字符串,并对所述待检测字符串进行分词处理,得到所述待检测字符串中包含的各单词。
[0025]本实施例中,上述待检测字符串是指比如HTTP请求消息等网络传输数据。基于语义以及字符识别等方式,对待检测字符串进行分词处理,得到其中包含的各单词。
[0026]值得说明的是,对于一条待检测字符串来说,其并非完全由英文单词组成的,还包含数字、符号等组成部分,本实施例中,将这些组成部分统称为单词。
[0027]步骤102、根据预设元组构成规则对所述各单词进行元组生成处理,以确定与所述待检测字符串对应的各元组。
[0028]上述预设元组构成规则中比如规定了元组大小即每个元组中包含的单词数量,以及每个元组内各单词的位置关系。
[0029]举例来说,假设待检测字符串S的分词结果是依次包括:A、B、C三个单词。并且假设元组构成规则规定元组的大小为2即每个元组包含2个单词,且依次针对每个单词来说,其对应的元组由自身以及其后相邻的一个单词构成。那么,上述待检测字符串S对应的元组包括(A, B)和(B, C)这两个元组。
[0030]步骤103、确定预先获得的攻击模型数据库中,是否存在与所述各元组对应的模型元组,是否存在与所述各单词中的第一个单词对应的模型单词,若存在,则执行步骤104,否贝IJ,结束。
[0031]其中,所述攻击模型数据库中存储有各模型元组以及每个模型元组的出现概率,各模型单词以及每个模型单词的出现概率。
[0032]步骤104、获取各对应模型元组以及对应模型单词的出现概率,并根据所述各对应模型元组的出现概率以及各对应模型单词的出现概率,确定所述待检测字符串对应的攻击概率。
[0033]步骤105、若所述攻击概率大于或等于预设概率阈值,则确定所述待检测字符串是具有攻击行为的字符串。
[0034]本实施例中,上述攻击模型数据库是预先建立的,是通过对预先获得的大量攻击样本字符串进行统计分析后获得的,具体来说,攻击模型数据库中存储的各模型元组以及每个模型元组的出现概率,各模型单词以及每个模型单词的出现概率,都是对大量攻击样本字符串统计分析获得的。
[0035]其中,各模型单词包括对大量攻击样本字符串分别分词处理后得到的各单词;各模型元组包括对每个攻击样本字符串中包含的各模型单词进行组建元组后得到的各元组。
[0036]具体的攻击模型数据库的建立过程将在后续实施例中描述。本实施例中,仅涉及攻击模型数据库的使用过程。
[0037]具体地,在获得了待检测字符串中包含的各单词以及各元组之后,查询攻击模型数据库,以确定攻击模型数据库中是否存在与各元组对应的模型元组,是否存在与待检测字符串分词处理后得到的第一个单词对应的模型单词。如果存在,则分别获得对应的出现概率。
[0038]其中,之所以是确定是否存在与待检测字符串分词处理后得到的第一个单词对应的模型单词,是由待检测字符串的攻击概率计算公式决定的,下面会介绍。
[0039]在得到各对应模型元组的出现概率以及与第一个单词对应的模型单词的出现概率之后,可以通过如下方式得到待检测字符串对应的攻击概率:
[0040]将各对应攻击模型元组的出现概率和对应模型单词的出现概率加和。
[0041]仍以上述举例来说,待检测字符串S分词处理后得到的第一个单词为A。假设攻击模型数据库中存在上述单词A,以及元组(A,B)和元组(B,C),且A的出现概率P(A) = pi,元组(A, B)的出现概率P (A| B) =p2,元组(B, C)的出现概率P (B |C) = p3。
[0042]从而,待检测字符串S 的攻击概率 P (S) =P (A) +P (A | B) +P (B | C) = pl+p2+p3。
[0043]进而,如果(pl+p2+p3)大于预设概率阈值p0,则说明该待检测字符串S中具有很多具有攻击特征的元组和单词,此时,确定待检测字符串S是具有攻击行为的字符串。
[0044]本实施例中,针对当
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1