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

文档序号:9791102阅读:来源:国知局
实施方式】
[0071]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0072]参照图1,示出了本发明实施例1的web异常检测方法的流程图。
[0073]步骤101,根据从历史web访问记录中解析的多个web访问特征,创建基于所述web访问特征检测异常web访问的多个异常检测模型。
[0074]本发明实施例中,历史web访问记录中可以记录多个历史web访问,解析多个历史web访问,获得web访问特征^eb访问特征可以包括访问路径、路径长度、访问参数、访问参数值和其它特征信息中的一种或多种。历史web访问记录可以以web访问日志的形式存储。
[0075]异常检测模型用于检测当前web访问是否属于异常web访问,可以为任意适用于本发明的模型。解析多个历史web访问,可以得到多个web访问特征,针对各种历史web访问特征都可以分别建立异常检测模型,从而可以得到用于检测web异常访问的多个异常检测模型。
[0076]具体地,从历史访问记录中读取多个历史web访问,解析各个历史web访问,得到多个web访问特征,统计属于同一 web访问特征的web访问特征,创建基于某一 web访问特征检测异常web访问的多个异常检测模型。
[0077]例如,从历史访问记录中读取历史web访问记录,解析各个历史web访问,可以统计解析的多个路径长度特征,建立基于路径长度检测异常web访问的异常检测模型;也可以统计解析的多个参数值,建立基于参数值检测异常web访问的异常检测模型。
[0078]步骤102,采用各个异常检测模型,分别检测目标web访问是否为异常web访问。
[0079]本发明实施例中,由于创建了多个异常web访问模型,所以可以采用各个异常检测模型对目标web访问进行检测,进而判断目标web访问是否为异常web访问。
[0080]具体检测时,可以提取目标web访问的访问特征,将访问特征输入对应的模型,得到模型输出的结果。
[0081]步骤103,将检测结果为异常web访问的异常检测模型对应的web访问特征,标记为所述目标web访问的异常类型。
[0082]本发明实施例中,当某一异常检测模型检测出目标web访问为异常web访问时,使用该异常检测模型对应的web访问特征标记目标web访问的异常类型。
[0083]在具体实现中,针对目标web访问,若使用多个异常检测模型同时检测出目标web访问为异常web访问时,则可以使用任意一个web访问特征标记目标web访问的异常类型;也可以使用多个web访问特征标记目标web访问的异常类型,本发明在此不做限制。
[0084]依据本发明实施例,根据从历史web访问记录中解析的多个web访问特征,创建基于所述web访问特征检测异常web访问的多个异常检测模型,利用创建的多个异常检测模型实现对未知漏洞和新型攻击进行自动检测,无需重新收集数据和制定规则,保证了较高的检出率和准确率,降低了人工的工作量,节省了人力和检测时间。进一步,因为使用web访问特征标记处于异常状态的目标web访问的异常类型,所以安全人员可以快速确定目标web访问中出现异常的web访问特征,及时对出现异常的web访问特征对应的异常检测模型进行模型修改或模型重建,保证了模型修改或模型重建的时效性。
[0085]参照图2,示出了根据本发明实施例2的web异常检测方法的流程图。
[0086]步骤201,根据从历史web访问记录中解析的多个web访问特征,创建基于所述web访问特征检测异常web访问的多个异常检测模型。
[0087]本发明实施例中,可以统计历史web访问记录中所述web访问特征的取值范围,仓ij建判断所述web访问特征是否符合所述取值范围的第一异常检测模型;也可以统计各个web访问特征出现的概率,创建基于各个web访问特征预测所述目标web访问为异常web访问的概率的第二异常检测模型;也可以同时创建第一异常检测模型和第二异常检测模型,还可以采用其他任意适用的方式基于访问特征创建模型,本发明对此并不做限制。
[0088]在具体实现中,创建第一异常检测模型时,可以统计web访问记录中的路径长度的取值范围,创建判断路径长度是否符合所述取值范围的第一异常检测模型。
[0089]创建第二异常检测模型时,所述web访问特征可以包括访问路径、访问参数和访问参数值中的至少一种。本发明实施例中,优选采用访问路径创建模型,对应创建第二异常检测模型的过程具体如下:
[0090]采用访问路径创建模型时,根据各个访问参数出现的次数统计各个访问路径出现的第一概率,并基于所述第一概率,创建基于所述访问路径预测所述目标web访问为异常web访问的概率的第三异常检测模型。
[0091]进一步,本方法中,所述根据各个访问参数出现的次数统计各个访问路径出现的第一概率的步骤可以包括以下三个子步骤:
[0092]子步骤I,针对各个访问路径,从第一哈希表读取所述访问路径包括的访问参数出现的第一次数,以及从第二哈希表读取所述访问路径包括的访问参数二元组出现的第二次数。
[0093]哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构,通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。
[0094]本子步骤中,第一哈希表用于记录历史web访问记录中多个历史web访问的一元访问参数出现的第一次数,第二哈希表用于记录历史web访问记录中多个历史web访问的访问参数二元组出现的第二次数。当检测到目标web访问后,更新历史web访问记录,基于目标web访问的web访问特征,重新统计第一哈希表中一元访问参数出现的第一次数,以及第二哈希表中二元访问参数组出现的第二次数。可以采用下面的公式对第一哈希表中的一元访问参数进行统计,计算公式为:
[0095]count7 (m) =count(m)+l
[0096]其中,count(m)为第一哈希表中原始记录的一元访问参数m出现的次数;couni/(m)为统计后的第一哈希表中记录的一元访问参数m出现的次数。
[0097]可以采用下面的公式对第二哈希表中的访问参数二元组进行统计,计算公式为:
[0098]count7 (m n) =count(m n)+l
[0099]其中,count(m n)为第二哈希表中原始记录的访问参数二元组(m η)出现的次数;count7 (m η)为统计后的第二哈希表中记录的访问参数二元组(m η)出现的次数。
[0100]在完成对第一哈希表中一元访问参数出现的第一次数,以及第二哈希表中访问参数二元组出现的第二次数的统计后,将统计后的第一次数存储至第一哈希表,将统计后的第二次数存储至第二哈希表,更新第一哈希表和第二哈希表存储的数据。
[0101]针对各个访问路径,从更新后的第一哈希表读取所述访问路径包括的访问参数出现的第一次数,以及从更新后的第二哈希表读取所述访问路径包括的访问参数二元组出现的第二次数。
[0102]子步骤2,根据所述第一次数和第二次数统计各个访问参数二元组出现的概率。[0?03] 例如,目标web访问的url为:/a/b/c/d?x = e&y = f,可以从第一哈希表中分别读取一元访问参数a、b和c出现的次数count (a)、count (b)和count (C);从第二哈希表中分别读取二元访问参数组出现的次数count (b a)、count (c b)和count (d C),依据访问参数二元组出现的概率的计算公式,计算各个访问参数二元组出现的第五概率。所述访问参数二元组出现的第五概率的计算公式为:
[0104]访问参数二元组(ba)出现的概率P(b I a)为:P(b I a) =count(b a)/count(a);
[0105]访问参数二元组(cb)出现的概率P(c I b)为:P(c I b) =count(c b)/count(b);
[0106]访问参数二元组(dc)出现的概率P(d I c)为:P(d I c) =count(d c)/count(c)。
[0107]之后,分别将计算的访问参数二元组出现的第五概率?(13|&)、?((3|13)和?((1|(3)存储至概率表。
[0108]子步骤3,根据各个访问参数二元组出现的第五概率,统计各个访问路径出现的第一概率。
[0109]例如,目标Web访问的urI为:/a/b/c/d?x = e&y = f,可以从概率表中提取访问参数二元组出现的概率?(13|&)、?((:|13)和?((1|(3),相乘提取的三个概率,得到该访问路径出现的概率。该访问路径出现的概率(path_prob)的计算公式为:
[0110]path_prob = P(b |a)*P(c|b)*P(d|c)。
[0111]本方法在统计访问路径出现的第一概率后,创建基于访问路径预测所述web访问为异常web访问的概率的第三异常检测模型。
[0112]采用访问参数创建模型时,针对同一访问路径,统计各个访问参数出现的第二概率,并基于所述第二概率,创建基于所述访问参数预测所述web访问为异常web访问的概率的第四异常检测模型。
[0113]本方案中,第一哈希表可以用于记录同一访问路径下各个访问参数出现的第一次数,第二哈希表可以用于记录同一访问路径下各个访问参数所在的访问路径出现的第二次数。
[0114]本方法与第一种方法类似,检测到目标web访问后,更新历史web访问记录,基于目标web访问的web访问特征,重新统计第一哈希表中一元访问参数出现的第一次数,以及第二哈希表中各个访问参数所在的访问路径出现的第二次数。
[0115]例如,目标《^13访问的111'1为:/&/13/(3/(1?叉=6&7= ;1;',可以采用公式(3011111:/ (X) =count(x)+l对第一哈希表中的访问参数X出现的次数进行统计,可以采用公式couni/ (/a/b/c/d) =Couni/ (/a/b/c/d)+l对第二哈希表中的访问参数x所在的访问路径出现的次数进行统计。
[0116]针对例子中的访问路径,各个访问参数出现的第二概率的计算公式为:
[0117]para_x_prob = count(x)/count(/a/b/c/d?x)
[0?18] 其中,(para_x_prob)为访问参数x出现的概率;count (x)为访问参数x出现的次数;count(/a/b/c/d?x)为一元访问参数路径(/a/b/c/d?x)出现的次数。
[0119]同样,访问参数y出现的第二概率的计算公式为:
[0120]para_y_prob = count(y)/count(/a/b/c/d?y)。
[0121]本方法在针对同一访问路径,统计各个访问参数出现的第二概率后,创建基于访问参数预测所述web访问为异常web访问的概率的第四异常检测模型。
[0122]采用访问参数值创建模型时,针对同一访问参数,统计各访问参数值出现的第三概率,并基于所述第三概率,创建基于所述访问参数值预测所述目标web访问为异常web访问的概率的第五异常检测模型。
[0123]本方法中,第一哈希表可以用于记录各个访问参数值出现的第一次数,第二哈希表可以用于记录各个访问参数与相应的访问参数值同时出现的第二次数。可以通过统计第一哈希表,计算各个访问参数值出现的概率。进一步,可以利用本方法中的概率计算公式,计算针对同一访问参数,各访问参数值出现的第三概率。
[0124]本方法与第一种方法类似,
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1