基于行为特征匹配和分析的web应用层攻击检测与防御方法与流程

文档序号:12493969阅读:195来源:国知局

本发明涉及web安全防御领域,尤其涉及一种基于行为特征匹配和智能行为分析的web应用层攻击检测与防御的方法。



背景技术:

随着web的普及,社交应用、电子商务、在线支付的大规模应用,各种0day漏洞被公开,sql注入、xss跨站、cookie篡改、恶意扫描探测、会话挟持、拒绝服务攻击、中间人代理攻击、远程命令执行、webshell提权等攻击日趋常态,各种信息泄露事件不断被暴光,web安全威胁形势异常严峻,新的攻击手法层出不穷,对web安全防护带来巨大挑战。web安全威胁严重影响到政治,经济,军事等信息系统的安全,甚至引起数据篡改,泄露等现象的发生。

web安全并非只是对已知漏洞、病毒、木马的清除与防护,而是越来越多的指向对未知安全威胁的防范,以达到防范于未然的效果。

机器学习是人工智能的一个分支,用于研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

人工神经网络学习是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络由大量的人工神经元联结进行计算,大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。



技术实现要素:

本发明的目的是为了解决现有技术的不足,提供一种基于行为特征匹配和行为分析的web应用层攻击检测与防御的方法。

本发明的目的是通过以下技术方案实现的:

一种基于行为特征匹配和分析的web应用层攻击检测与防御方法,包括:

(1)预设一个防御规则库,所述防御规则库包括多种防御规则,对预设的防御规则进行分类存储,根据威胁大小将每类的防御规则划分为不同等级;

(2)获取web应用防护系统中的访问请求数据与防御规则库匹配的记录,将记录内容作为样本数据;

(3)对样本数据进行学习,建立分析模型;

(4)建立用户信誉数据库,记录触发预设的防御规则的用户IP地址,在所述用户信誉数据库中设置一黑名单模块;

(5)通过分析模型对用户的访问行为进行学习,并更新和修正防御规则库中的防御规则;

(6)建立例外防御规则库,对检测到的可疑行为进行分析后确定为非恶意行为,则对每个用户生成例外防御规则库进行特征例外;

(7)设定防御方法,根据设定的防御方法对用户的访问行为进行拦截。

上述的方法,其中,在所述步骤(7)中,所述防御方法包括:

若用户的访问行为与预设的防御规则相匹配,则将此次用户的访问行为分类到对应的防御规则中存储;根据防御规则的等级判断此次用户的访问行为是否构成威胁,若是,则进行拦截,若不是,则不进行拦截。

上述的方法,其中,在所述步骤(7)中,所述防御方法包括:

若判断用户的访问行为是可疑行为且与预设的防御规则都不匹配,则对此次用户的访问行为不进行拦截,记录此次用户的访问行为;

收集此次用户的历史访问行为数据,通过分析模型对用户的历史访问行为数据进行学习,判断此次用户的访问行为是否为恶意访问行为,若是,则根据此次用户的访问行为设定一防御规则并更新到防御规则库中,并设定此防御规则的等级;若不是,则根据此次用户的访问行为设定一例外防御规则,并更新到例外防御规则库中;

对与例外防御规则相匹配的用户的访问行为不进行拦截。

上述的方法,其中,在所述步骤(7)中,设定一数量阀值,若一定时间内连续触发防御规则的数量达到设定的数量阀值,则确认该行为是扫描器攻击,记录该用户的IP地址,并将该用户的IP地址提交到黑名单模块。

上述的方法,其中,在所述步骤(7)中,所述防御方法包括:

在所述用户信誉数据库中,对每个用户建立一积分模块,对用户每次触发防御规则的行为进行积分,设定一积分阀值,若用户的积分达到积分阀值,则将用户的IP地址提交到黑名单模块。

上述的方法,其中,对在黑名单模块中的用户的所有访问行为进行拦截。

上述的方法,其中,在所述步骤(1)中,所述防御规则包括但不限于常规防御规则、恶意扫描规则、恶意爬虫规则、漏洞规则、虚拟补丁规则。

上述的方法,其中,在所述步骤(2)中,所述访问请求数据与防御规则库匹配的记录为用户在访问过程中触发预设的防御规则库中的防御规则的记录,所述web应用防护系统实时记录用户在访问过程中触发预设的防御规则库中的防御规则的行为。

上述的方法,其中,在所述步骤(5)中,通过分析模型对用户的访问行为进行学习,对防御规则库中错误的防御规则进行修正。

综上所述,由于采用了上述技术方案,本发明与现有技术相比,有以下优点和有益效果:

(1)本发明可精确的对恶意行为进行识别,解决了传统WAF在利用正则表达式进行特征匹配时存在的误报率高和效率低下的问题;

(2)本发明能够根据实际需要来自定义防御规则,且本发明的防御规则库可实时的进行动态加载与更新;

(3)通过智能学习用户行为,能够快速的对威胁行为进行识别和阻断,在降低漏报和误报率的同时,可以有效防御和缓解来自针对web安全的各种威胁,保障web服务器的安全。

附图说明

图是本发明基于行为特征匹配和分析的web应用层攻击检测与防御方法的流程图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步详细介绍。

请参见图1,本发明提供了一种基于行为特征匹配和分析的web应用层攻击检测与防御方法,具体包括:

(1)预设一个防御规则库,所述防御规则库包括多种防御规则,所述防御规则包括但不限于常规防御规则、恶意扫描规则、恶意爬虫规则、自定义漏洞规则、虚拟补丁规则,在所述防御规则库中,对预设的防御规则进行分类存储,根据威胁大小将每类的防御规则划分为不同等级;

(2)获取web应用防护系统中的访问请求数据与防御规则库匹配的记录,将记录内容作为样本数据;所述访问请求数据与防御规则库匹配的记录为用户在访问过程中触发预设的防御规则库中的防御规则的记录,所述web应用防护系统实时记录用户在访问过程中触发预设的防御规则库中的防御规则的行为;

(3)对样本数据进行学习,建立分析模型;

(4)建立用户信誉数据库,记录触发预设的防御规则的用户IP地址,在所述用户信誉数据库中设置一黑名单模块;

(5)通过分析模型对用户的行为进行学习,并更新和修正防御规则库中的防御规则;

(6)建立例外防御规则库,对检测到的可疑行为进行智能分析后确定为非恶意行为,则针对每个用户生成例外防御规则库进行特征例外;

(7)设定防御方法,根据设定的防御方法对用户的访问行为进行拦截。

上述步骤(7)中,所述防御方法包括:

若用户的访问行为与预设的防御规则相匹配,即触发预设的防御规则,则将此次用户的访问行为分类到对应的防御规则中存储;根据防御规则的等级判断此次用户的访问行为是否构成威胁,若是,则进行拦截,若不是,则不进行拦截;

若判断用户的访问行为是可疑行为且与预设的防御规则都不匹配,则对此次用户的访问行为不进行拦截,记录此次用户的访问行为;收集此次用户的历史访问行为数据,通过分析模型对用户的历史访问行为数据进行学习,判断此次用户的访问行为是否为恶意访问行为,若是,则根据此次用户的访问行为设定一防御规则并更新到防御规则库中,并设定此防御规则的等级,若不是,则根据此次用户的访问行为设定一例外防御规则,并更新到例外防御规则库中。例如,识别扫描器,通过学习未知扫描器的行为将其自动转化为防御规则并下发给防御规则库或例外规则库。

在上述方法中,对与例外防御规则相匹配的用户的访问行为不进行拦截。

设定一数量阀值,若一定时间内连续触发防御规则的数量达到设定的数量阀值,则确认该行为是扫描器攻击,记录该用户的IP地址,并将该用户的IP地址提交到黑名单模块。

在用户信誉数据库中,对每个用户建立一积分模块,对用户每次触发防御规则的行为进行积分,设定一积分阀值,若用户的积分达到积分阀值,则将用户的IP地址提交到黑名单模块,对在黑名单模块的用户的所有访问行为进行拦截。可对所有防御规则设定统一的积分规则,也可对不同分类的防御规则设定不同的积分规则。对黑名单中用户,可在一定时间后进行解除黑名单,若用户的访问行为依然符合加入黑名单的规定,则将该用户重新加入黑名单,若该用户加入黑名单的次数达到规定的次数阀值,则对该用户不再解除黑名单。

根据用户的访问行为,可对用户的IP地址进行标记分类,例如攻击IP、恶意爬虫IP等。通过长期的信息收集和用户信誉数据库的完善,会使识别更加精确。

在上述步骤(3)中,本发明建立的分析模型支持所有lua支持的逻辑语法,从而可以更加精准化、有效化拦截各种web漏洞,同时具备sql语法解析功能、0day捕获功能和APT攻击防护能力,可有效控制误报率和漏报率。对get、post等请求和参数、内容等具备精确的识别能力。

本发明的内部安全模块与入侵检测系统联动,同时通过数据采样和结合防御规则库,采用分析模型对大量访问数据进行自主学习,并通过学习算法进行分析和过滤,对用户行为及访问特征进行分类,对大量被访问的可疑URL进行概率计算,能够精确区分正常访问行为和异常恶意行为,并实时更新和修正防御规则库。

本发明采用神经网络算法建立分析模型,神经网络算法会对一种攻击类型自动捕获并计算触发概率,送入分析模型后计算该行为特征的特征概率。本发明能够结合防御规则库及用户的访问行为自动计算每个访问请求以及触发可能的防御规则的概率,再次计算需要足够的时间和累计大量的数据进行分析,一般先进行离线或旁路方式检测,然后通过分析模型进行学习模拟,计算完特征概率后,针对性的生成一系列防御规则,对防御规则库进行更新和修正。再根据新的防御规则库进行恶意特征的识别和拦截,定期的学习训练可以极大的降低误报。

本发明建立的分析模型可以是朴素贝叶斯模型,以监督式学习和无监督式学习为主,结合朴素贝叶斯算法进行分析校正,得到更切近实际的计算分析算法,然后产生相应的防御规则库。

本发明还可以结合朴素贝叶斯算法和高斯分布建立分析模型,通过朴素贝叶斯算法和高斯分布对攻击行为进行触发概率和特征概率的计算。

如果一个行为不符合已知的该分析模型的分布,则属于可疑行为,则会进入进一步的学习判断是否为恶意行为。

在上述步骤(5)中,实时获取样本数据,对用户的访问行为进行学习。若通过分析模型对用户的访问行为进行学习,发现防御规则库中的防御规则是错误的或存在误差,则对该防御规则进行修正。

通过建立防御规则库和智能学习用户行为,可识别并区分合法与非法请求,识别常见扫描器以及机器人自动化攻击等行为;能够对正常的许可的爬虫进行例外处理,对未知爬虫进行识别,以及对其他威胁行为进行识别和拦截。通过实时更新和修正防御规则库,可及时发现未知威胁,及时分析处理,保障web系统的安全,使安全防御系统更加完善。

通过上述方法,本发明不仅能够利用基于防御规则库的识别技术对恶意行为进行拦截,而且可以对未知威胁进行分析识别,通过建立分析模型,主动的学习识别访问行为并进行智能的分析,结合用户信誉数据库等,能够快速的对威胁行为进行识别和阻断。本发明极大的弥补了传统防御的不足,可以降低漏报和误报率,且可以有效防御和缓解来自针对web安全的各种威胁,保障web服务器的安全。

以上所述的实施例仅用于说明本发明的技术思想及特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,不能仅以本实施例来限定本发明的专利范围,即凡依本发明所揭示的精神所作的同等变化或修饰,仍落在本发明的专利范围内。

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