一种web异常检测方法和装置的制造方法_3

文档序号:9791102阅读:来源:国知局
检测到目标web访问后,更新历史web访问记录,基于目标web访问的web访问特征,重新统计第一哈希表中各个访问参数值出现的第一次数,以及第二哈希表中各个访问参数与相应的访问参数值同时出现的第二次数。
[0125]例如,目标web访问的url为:/a/b/c/d?x = e&y = f,针对访问参数x,其访问参数值为e出现的第三概率的计算公式为:
[0126]para_vale_e_prob = para_x_prob*(count(e)/count(x = e))
[0127]其中,(para_vale_e_prob)为访问参数X的访问参数值为e出现的概率;(para_x_prob)为访问参数X出现的概率;coun t (e)为访问参数值e出现的次数;count (x = e)为访问参数X的访问参数值为e出现的次数。
[0128]同样,针对访问参数y,其访问参数值为f出现的第三概率的计算公式为:
[0129]para_vale_f_prob = para_y_prob*( count ⑴/count (y = f))
[0130]其中,(para_vale_f_prob)为访问参数X的访问参数值为f出现的概率;(para_y_prob)为访问参数y出现的概率;coun t (f)为访问参数值f出现的次数;count (y = f)为访问参数y的访问参数值为f出现的次数。
[0131]本方法在针对同一访问参数,统计各个访问参数值出现的第三概率后,创建基于访问参数值预测所述web访问为异常web访问的概率的第五异常检测模型。
[0132]创建第二异常检测模型时,可以采用上述三种方法中的一种或多种创建异常检测模型,本发明在此不做限制。
[0133]步骤202,通过统计所述异常检测模型中至少一个web访问特征的个数符合第一预设范围,和/或,检测结果的检测方差符合第二预设范围,确定所述异常检测模型处于稳定状态。
[0134]本发明实施例中,创建异常检测模型后,需要判断异常检测模型是否处于稳定状态,只有确定异常检测模型处于稳定状态后,才可以采用该异常检测模型检测目标web访问是否为异常web访问。对于处于非稳定状态的异常检测模型,需要修改模型或重建模型。
[0135]在具体实现中,判断异常检测模型是否处于稳定状态的方法可以包括:第一种,通过统计所述异常检测模型中至少一个web访问特征的个数符合第一预设范围;第二种,检测结果的检测方差符合第二预设范围;第三种,结合第一种判断方法和第二种判断方法,同时满足两个判断条件时,可以确定所述异常检测模型处于稳定状态。
[0136]例如,对于一个host(网站),针对创建的任意一异常检测模型,若同时满足下述条件:不同的访问路径(Uniform Resource Locator,URL)数目大于1000、url总数目大于100000、不同的访问源IP数目大于50,以及最近五次该异常检测模型检测出异常比例的方差小于0.005,则可以确定该异常检测模型处于稳定状态。
[0137]步骤203,采用各个异常检测模型,分别检测目标web访问是否为异常web访问。
[0138]本发明实施例中,对于第一异常检测模型和第二异常检测模型,检测目标web访问是否为异常web访问的检测方法不同。
[0139]针对第一异常检测模型,可以采用所述异常检测模型判断所述目标web访问的web访问特征是否符合所述取值范围,若不符合,则确定所述目标web访问为异常web访问。[OMO] 具体地,解析目标web访问的web访问特征的取值,基于统计web访问记录得到的web访问特征的取值范围,判断所述web访问特征的取值是否符合统计的取值范围,若符合,则确定所述目标web访问为正常web访问;若不符合,则确定所述目标web访问为异常web访问。所述web访问特征可以为路径长度。
[0141]例如,可以解析某一网站的历史访问记录中多个历史web访问的路径长度,计算该网站下历史web访问的路径长度的最大值和最小值。统计的最大路径长度的计算公式如下:
[0142]max_length=max(max_length, current_path_length+3)
[ΟΙ43] 其中,(max_length)为统计的最大路径长度;(max_length)为历史访问记录中多个历史web访问的路径长度中的最大长度;(current_path_length+3)为历史访问记录中多个历史web访问的路径长度的平均值加3 ; {max(max_length,current_path_length+3)}为取(max_length)和(current_path_length+3)两者中的最大值作为统计的最大路径长度。
[0144]统计的最小路径长度的计算公式如下:
[0145]min_length=min(min_length, current_path_length-3)
[ΟΙ46] 其中,(min_length)为统计的最小路径长度;(min_length)为历史访问记录中多个历史web访问的路径长度中的最小长度;(current_path_length+3)为历史访问记录中多个历史web访问的路径长度的平均值减3 ; {min(min_length, current_path_min_3)}为取(min_length)和(current_path_length-3)两者中的最小值作为统计的最小路径长度。
[0147]针对第二异常检测模型,可以分别采用各个异常检测模型预测所述目标web访问为异常web访问的目标概率,在所述web访问记录中所有web访问对应的概率中,若所述目标概率的排序低于预设值,则确定所述目标web访问为异常web访问。
[0148]本发明实施例中,可以采用本实施例中创建的访问路径异常检测模型、访问参数异常检测模型和访问参数值异常检测模型中的一种或多种,预测所述目标web访问为异常web访问的目标概率。
[0?49] 在所述web访问记录中所有web访问对应的概率中,若所述目标web访问特征的web访问特征出现的目标概率的排序低于预设值,则可以判定目标web访问为异常web访问。具体地,web访问特征出现的目标概率可以为访问路径出现的概率、访问参数出现的概率和访问参数值出现的概率中的一种或多种,本发明在此不做限制。
[0150]例如,预设访问路径出现的概率的异常阈值为0.01,对于某一网站,在历史访问记录中,记录的访问路径的总数目为100000。如果计算出的目标web访问的访问路径出现的概率(path_prob)小于历史web访问记录中记录的1000个访问路径出现的概率,则可以判定目标web访问为异常web访问。
[0151]步骤204,将检测结果为异常web访问的异常检测模型对应的web访问特征,标记为所述目标web访问的异常类型。
[0152]在具体实现中,当判定目标web访问为异常访问后,针对第一异常检测模型,可以将路径长度标记为所述目标web访问的异常类型;针对第二异常检测模型,可以将访问路径、访问参数、访问参数值和其它适用的访问特征中的一种或多种,标记为所述目标web访问的异常类型。
[0153]本发明实施例中,优选地,所述web访问特征包括访问源IP和访问时间,所述方法还包括:
[0154]展示所述web访问的异常类型、访问源IP以及访问时间。
[0155]本发明优选实施例中,在确定目标web访问为异常访问后,可以展示异常类型、源IP信息和访问时间等信息。例如,检测目标web访问为异常web访问后,可以展示如下信息:url:/index.php?user = root;异常类型:参数值异常;源1卩:10.16.44.12;时间:2015-09-1918:55:27.941。
[0156]本发明实施例中,优选地,所述web访问特征包括访问源IP和访问时间,所述方法还包括:
[0157]若在第一时间段内检测到同一访问源IP的异常web访问超出预设个数,则确定发生所述访问源IP的web攻击事件,并通报所述web攻击事件。
[0158]本发明实施例中,优选地,所述方法还包括:
[0159]若在第二时间段内检测到预设个数的不同访问源IP的web攻击事件,则获取更新的历史web访问记录,并重新创建各个异常检测模型。
[Ο??Ο] 例如,设定在5min内检测到20个不同访问源IP的web攻击事件时,需要获取更新的历史web访问记录,并重新创建各个异常检测模型。
[0? 61 ]依据本发明实施例,根据从历史web访问记录中解析的多个web访问特征,创建基于所述web访问特征检测异常web访问的多个异常检测模型,利用创建的多个异常检测模型实现对未知漏洞和新型攻击进行自动检测,无需重新收集数据和制定规则,保证了较高的检出率和准确率,降低了人工的工作量,节省了人力和检测时间。进一步,因为使用web访问特征标记处于异常状态的目标web访问的异常类型,所以安全人员可以快速确定目标web访问中出现异常的web访问特征,及时对出现异常的web访问特征对应的异常检测模型进行模型修改或模型重建,保证了模型修改或模型重建的时效性。
[0162]为了使本领域的技术人员更清楚地理解本发明,下面通过具体示例对本发明的web异常检测方法进行详细说明。
[0163]参照图3,示出了根据本发明实施例的一个示例的web异常检测方法的流程框图。本示例中,所述web异常检测方法具体步骤包括:
[0? 64] 1、解析web访问日志,提取web访问特征;
[0? 65] 2、依据解析的web访问特征,创建基于所述web访问特征检测异常web访问的多个异常检测模型;
[0166]3、检测模型是否处于稳定状态,若是,则进行下一步,检测目标web访问;若否,则需要重新创建异常检测模型;
[0167]4、使用该异常检测模型检测目标web访问是否属于正常访问,若是,则检测下一个目标web访问;若否,则判定目标web访问为异常web访问,进行下一步;
[0168]5、判断是否发生web攻击事件,若否,则累计异常web访问的次数;若是,则通报发生了 web攻击事件,并进一步判断是否需要重建模型,若是,则重建异常检测模型。
[0169]参照图4,示出了根据本发明实施例1的web异常检测装置的结构框图,所述装置可以包括:
[0170]异常检测模型创建模块301,用于根据从历史web访问记录中解析的多个web访问特征,创建基于所述web访问特征检测异常web访问的多个异常检测模型。
[0171]异常检测模块302,用于采用各个异常检测模型,分别检测目标web访问是否为异常web访问。
[0172]异常类型标记模块303,用于将检测结果为异常web访问的异常检测模型对应的web访问特征,标记为所述目标web访问的异常类型。
[0? 73]依据本发明实施例,根据从历史web访问记录中解析的多个web访问特征,创建基于所述web访问特征检测异常web访问的多个异常检测模型,利用创建的多个异常检测模型实现对未知漏洞和新型攻击进行自动检测,无需重新收集数据和制定规则,保证了较高的检出率和准确率,降低了人工的工作量,节省了人力和检测时间。进一步,因为使用web访问特征标记处于异常状态的目标web访问的异常类型,所以安全人员可以快速确定目标web访问中出现异常的web访问特征,及时对出现异常的web访问特征对应的异常检测模型进行模型修改或模型重建,保证了模型修改或模型重建的时效性。
[0174]参照图5,示出了根据本发明实施例2的web异常检测装置的结构框图,所述装置可以包括:
[0175]异常检测模型创建模块401,用于根据从历史web访问记录中解析的多个web访问特征,创建基于所述web访问特征检测异常web访问的
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1