一种攻击检测方法及系统的制作方法_2

文档序号:9581744阅读:来源:国知局
终异常门限阈值;针对待检测日志记录,获得每 个检测模型针对所述待检测日志记录的参数异常值;根据所述优化加权值以及针对所述待 检测日志记录的参数异常值,计算所述待检测日志记录的最终参数异常值;判断针对所述 待检测日志记录的最终参数异常值是否大于所确定的最终异常门限阈值;如果是,将所述 待检测日志记录的HTTP请求确定为攻击行为。
[0043] 应用本发明实施例所提供的技术方案,可以主动发现未知攻击,提高了对未知攻 击的检测率,降低了检测的误检率。并且采用多个检测模型进行检测,通过优化算法得到多 模型的加权值,避免了单个检测模型的局限性,减少了误报、漏报情况的发生,误检率低,检 测力度大。
【附图说明】
[0044] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0045]图1为本发明实施例提供的一种攻击检测方法的流程示意图;
[0046]图2为本发明实施例提供的一种攻击检测系统的结构示意图。
【具体实施方式】
[0047] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0048] 为了解决现有技术问题,本发明实施例提供了一种攻击检测方法及系统。下面首 先对本发明实施例所提供的一种攻击检测方法进行介绍。
[0049] 预先建立预设数量的与HTTP请求相关的检测模型。
[0050] 图1为本发明实施例提供的一种攻击检测方法的流程示意图,可以包括:
[0051] S101 :获得web访问日志;
[0052] 其中,所述web访问日志包括多条记录,每条记录包括该条记录的HTTP请求的多 个参数;
[0053] S102 :对所获得的web访问日志进行分解,得到多条记录;
[0054] S103 :针对所得到每条记录,判断该条记录的HTTP请求是否为成功状态,如果是, 执行S104 ;
[0055]S104 :提取该条记录的第一数据;
[0056] 其中,所述第一数据至少包括:该条记录的HTTP请求的多个参数;
[0057]S105 :分别利用预先建立的每个检测模型对所述第一数据进行检测,分别得到每 个检测模型针对该条记录的参数异常值;
[0058] S106 :采用web访问日志样本集,根据优化算法计算得到每个检测模型的参数异 常值对应的优化加权值,以及每个检测模型针对该条记录的参数异常值,加权计算得到针 对该条记录的最终参数异常值;
[0059]S107 :根据所述web访问日志样本集中的所有记录的最终参数异常值,通过迭代 方式确定最终异常门限阈值;
[0060]S108:针对待检测日志记录,获得每个检测模型针对所述待检测日志记录的参数 异常值;
[0061] S109 :根据所述优化加权值以及针对所述待检测日志记录的参数异常值,计算所 述待检测日志记录的最终参数异常值;
[0062] S110 :判断针对所述待检测日志记录的最终参数异常值是否大于所确定的最终异 常门限阈值,如果是,执行S111 ;
[0063] S111 :将所述待检测日志记录的HTTP请求确定为攻击行为。
[0064] 具体的,在实际应用中,可以通过数据库对所获得的web访问日志进行分解处理, 得到多条记录;通过数据库可以实现对大量数据进行处理,操作简单,便于存储与使用,大 大提高了数据处理效率以及各模块的运行效率。
[0065] 在将所获得的web访问日志进行分解,得到多条记录之后,可以针对每条记录,判 断该条记录的HTTP请求是否为成功状态。具体的,每条记录中还包括:该条记录的HTTP请 求的响应状态码,可以根据该条记录的HTTP请求的响应状态码,获得该条记录的HTTP请求 的响应状态码的值,判断获得的响应状态码的值是否在预设的数值范围之内,如果在,表示 该条记录的HTTP请求为成功状态;在实际应用中,预设的数值范围可以为200至300。
[0066] 在判断该条记录的HTTP请求为成功状态的情况下,可以提取该条记录的HTTP请 求的多个参数;利用预先建立的每个检测模型对该条记录的HTTP请求的多个参数进行检 测,分别得到每个检测模型针对该条记录的参数异常值。
[0067] 在实际应用中,预先建立的检测模型可以为4个,分别为枚举类型模型、参数关联 模型、长度分布模型和字符分布模型。
[0068] 分别利用枚举类型模型、参数关联模型、长度分布模型和字符分布模型对该条记 录的HTTP请求的多个参数进行检测,分别得到每个检测模型针对该条记录的参数异常值。
[0069] 利用枚举类型模型对该条记录的HTTP请求的多个参数进行检测,得到所述枚举 类型模型针对该条记录的参数异常值,可以根据该条记录的HTTP请求参数的类型,确定所 述枚举类型模型针对该条记录的参数异常值。
[0070] 具体的,参数的类型可以分为随机型和枚举型。判断参数的类型,可以考察参数值 的个数是否被限定到一个阈值内。当一个参数值的种类随着样本的不断增加而逐渐增加 时,该参数的类型为随机性;当一个参数值的种类达到一定值后,参数值的种类不再随着样 本的不断增加而逐渐增加时,该参数的类型为枚举型。
[0071] 当该条记录的HTTP请求参数为枚举型时,判断处理后的数据中是否存在与该条 记录的HTTP请求参数值相同的参数值,如果存在,则将第一参数异常值确定为枚举类型模 型针对该条记录的参数异常值,如果不存在,则将第二参数异常值确定为枚举类型模型针 对该条记录的参数异常值。
[0072]当该条记录的HTTP请求参数为随机型时,将第一参数异常值确定为枚举类型模 型针对该条记录的参数异常值。
[0073] 在实际应用中,第一参数异常值可以为0,第二参数异常值可以为1。
[0074] 利用所述参数关联模型对所述第一数据进行检测,得到所述参数关联模型针对该 条记录的参数异常值,可以根据该条记录的HTTP请求查询字符串中的参数的出现情况以 及通过训练得到的参数子集集合中参数的出现情况,确定所述参数关联模型针对该条记录 的参数异常值。
[0075] 具体的,每条日志记录的所有参数构成一个参数子集,所有条日志记录构成参数 集,通过数据库或哈希表对参数集中的重复的参数子集进行去重,得到参数子集集合。检测 该条记录的HTTP请求查询字符串中参数的出现情况与通过训练得到的参数子集集合中参 数的出现情况是否匹配,如果匹配成功,则将第三参数异常值确定为参数关联模型针对该 条记录的参数异常值,如果匹配不成功,则将第四参数异常值确定为参数关联模型针对该 条记录的参数异常值。
[0076] 在实际应用中,参数关联模型可以利用请求查询字符串中参数是否重复、参数是 否缺少或不应该同时出现的情况等方式进行匹配;第三参数异常值可以为0,第四参数异 常值可以为1。
[0077] 利用所述长度分布模型对所述第一数据进行检测,得到所述长度分布模型针对该 条记录的参数异常值,可以根据该条记录的HTTP请求参数值的长度以及由训练集得到的 正常请求参数值长度,确定所述长度分布模型针对该条记录的参数异常值。
[0078] 具体的,长度分布模型可以利用切比雪夫不等式检测该条记录的HTTP请求参数 值长度的异常情况。如果有攻击情况,将会有脚本注入或者额外的字符植入,使得参数值的 长度会与正常请求参数值的长度产生区别,进而将该条记录的HTTP请求确定为异常情况。
[0079] 具体的,预先对处理好的样本进行统计,得到各个HTTP请求参数的参数值长度的 均值μ及均方差σ2;利用切比雪夫不等式检测判断参数值长度的异常程度,将随机变量 的所有值近似为平均分布,假设该条记录的HTTP请求参数值的长度为
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1