一种准确识别网站访问的恶意用户的方法及系统与流程

文档序号:16245881发布日期:2018-12-11 23:34阅读:1256来源:国知局
一种准确识别网站访问的恶意用户的方法及系统与流程

本发明是关于网络安全领域,特别涉及一种准确识别网站访问的恶意用户的方法及系统。

背景技术

网站的访问用户一般分为两类:正常的访问用户和恶意的访问用户。

正常的访问用户会根据网址进行页面浏览行为,但是也会存在网址错误,权限不对等异常访问的情况。

恶意用户是指借助非法技术手段访问网站,以非法获取或者篡改后台数据为目的的用户。恶意用户除了模拟正常用户的行为外,还会进行比较多的渗透攻击。

渗透攻击:采用构造非法url(url是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的url)的方式,对网站进行尝试访问,进而根据网站的返回码分析出网站的漏洞和内部构造。渗透攻击的一般步骤如下:

1)通过在请求url中构造各种参数,这些参数通常都是类似sql语句、代码等,通过这些输入的参数来探测服务器存在的漏洞;

2)根据输入的参数,对服务器返回数据进行分析,判断服务器存在漏洞情况;

3)如果服务器返回了结果,且返回内容中包含了指定的参数,说明服务器存在漏洞,在发现漏洞之后会进一步的上传或者修改页面等操作。

但是,在探测漏洞的过程中往往需要大量尝试性的探测,这些探测url大多数都是服务器不存在的,因此服务器在不存在漏洞的情况下大多数的响应码都不是200,即非正常响应。

由此可见,在恶意用户造成危害之前,会有很多的渗透攻击活动,如果能够准确实时的识别出来,采取措施,比如把恶意用户加入黑名单或者进行合理的预防处理就显得十分重要了。即,在网络攻防事件中,准确识别恶意用户和正常用户是快速确认攻击源头,抓获非法黑客的重要环节。

现有的方案有下述思路:

方案1:利用防火墙技术屏蔽非法ip对网站的访问;

方案2:手工分析web主机日志,对攻击行为进行识别和分析。

方案3:通过对攻击特征包进行拦截,阻断攻击行为。

但是,方案1依赖对已知的恶意用户的掌握情况;方案2需要手工分析日志、工作量大且容易出错,实时性差;方案3误报较高,且很多时候特征更新不及时,无法防护零日漏洞(零日漏洞:zero-day,又叫零时差攻击,是指被发现后立即被恶意利用的安全漏洞)利用攻击。



技术实现要素:

本发明的主要目的在于克服现有技术中的不足,提供一种能自动、快速、准确地识别网站访问的恶意用户的方法及系统。为解决上述技术问题,本发明的解决方案是:

提供一种准确识别网站访问的恶意用户的方法,具体包括下述步骤:

步骤(1):对网站的用户访问行为进行记录,统计用户在每个周期(以1个小时作为一个周期)内的访问请求次数和服务器返回非正常响应码情况;

服务器返回非正常响应码情况是指服务器返回非正常响应码编号和服务器返回非正常响应码次数;

步骤(2):计算用户在第一个周期内,服务器返回非正常响应码次数和访问请求次数的比率,即服务器返回非正常响应码次数/用户访问请求次数的值,设该比率值为m;

如果该比率值m满足:a<m<1,且a的取值范围为0.5<a<1(该阈值a可根据用户场景配置),则判定该用户为恶意用户;

如果该比率值m满足:b<m<a,且b的取值范围为0<b<0.3(该阈值b可根据用户场景配置),则判断该用户为可疑用户,记录该用户的行为和状态并存储到数据库;

步骤(3):对于步骤(2)中判断的可疑用户,如果在第二个周期内:

服务器返回非正常响应码次数和访问请求次数的比率值m,满足:b<m<1,则将该用户由可疑用户状态转为恶意用户;

服务器返回非正常响应码次数和访问请求次数的比率值m,满足:m<b,则将该用户由可疑用户状态释放为正常用户,并将该释放为正常用户状态的用户访问行为进行释放删除;

步骤(4):将所有恶意用户(即步骤2判定的恶意用户和步骤3判定的恶意用户)的访问行为记录为渗透攻击日志,并保留所有渗透攻击日志;

步骤(5):利用步骤(4)记录的渗透攻击日志,对渗透攻击行为进行关联分析,确定攻击者路径和最终对服务器产生的影响,捕获服务器被黑页面和攻击者的信息。

提供一种准确识别网站访问的恶意用户的系统,包括处理器,适于实现各指令;以及存储设备,适于存储多条指令,所述指令适用于由处理器加载并执行:

步骤(1):对网站的用户访问行为进行记录,统计用户在每个周期(以1个小时作为一个周期)内的访问请求次数和服务器返回非正常响应码情况;

服务器返回非正常响应码情况是指服务器返回非正常响应码编号和服务器返回非正常响应码次数;

步骤(2):计算用户在第一个周期内,服务器返回非正常响应码次数和访问请求次数的比率,即服务器返回非正常响应码次数/用户访问请求次数的值,设该比率值为m;

如果该比率值m满足:a<m<1,且a的取值范围为0.5<a<1(该阈值a可根据用户场景配置),则判定该用户为恶意用户;

如果该比率值m满足:b<m<a,且b的取值范围为0<b<0.3(该阈值b可根据用户场景配置),则判断该用户为可疑用户,记录该用户的行为和状态并存储到数据库;

步骤(3):对于步骤(2)中判断的可疑用户,如果在第二个周期内:

服务器返回非正常响应码次数和访问请求次数的比率值m,满足:b<m<1,则将该用户由可疑用户状态转为恶意用户;

服务器返回非正常响应码次数和访问请求次数的比率值m,满足:m<b,则将该用户由可疑用户状态释放为正常用户,并将该释放为正常用户状态的用户访问行为进行释放删除;

步骤(4):将所有恶意用户(即步骤2判定的恶意用户和步骤3判定的恶意用户)的访问行为记录为渗透攻击日志,并保留所有渗透攻击日志;

步骤(5):利用步骤(4)记录的渗透攻击日志,对渗透攻击行为进行关联分析,确定攻击者路径和最终对服务器产生的影响,捕获服务器被黑页面和攻击者的信息。

本发明的工作原理:借助对用户访问网站行为的检测和处理,进而自动、准确地识别正常用户和恶意用户。本发明利用用户标识的方法,涉及到正常用户到可疑用户的识别方法、可疑用户恢复到正常用户的方法、可疑用户标识为到恶意用户的方法、恶意用户恢复到正常用户的方法。

与现有技术相比,本发明的有益效果是:

本发明能自动、快速、准确地完成网站访问的恶意用户的识别,有效减少了手工操作的繁琐和可能的误判,同时实时性也更高。

附图说明

图1为本发明中用户标识的示意框图。

图2为本发明的工作流程图。

具体实施方式

下面结合附图与具体实施方式对本发明作进一步详细描述:

如图2所示的一种准确识别网站访问的恶意用户的方法,具体包括下述步骤:

步骤(1):对网站的用户访问行为进行记录,以1个小时为作为一个周期,统计用户在每个周期内的访问请求次数和服务器返回非正常响应码情况,包含响应码编号和次数。

步骤(2):计算用户在第一个周期内,服务器返回非正常响应码次数和访问请求次数的比率,即服务器返回非正常响应码次数/用户访问请求次数的值。

如果该比率值m满足:a<m<1,且a的取值范围为0.5<a<1,则判定该用户为恶意用户;

如果该比率值m满足:b<m<a,且b的取值范围为0<b<0.3,则判断该用户为可疑用户,记录该用户的行为和状态并存储到数据库。

步骤(3):如图1所示,对于步骤(2)中判断的可疑用户,如果在第二个周期内:

服务器返回非正常响应码次数和访问请求次数的比率值m,满足:b<m<1,则将该用户由可疑用户状态转为恶意用户;

服务器返回非正常响应码次数和访问请求次数的比率值m低于数值b,则将该用户由可疑用户状态释放为正常用户;在2个小时后,将该释放为正常用户状态的用户访问行为进行释放删除。

步骤(4):将步骤2判定的恶意用户和步骤3判定的恶意用户的访问行为,记录为渗透攻击日志,并保留所有渗透攻击日志。

步骤(5):进一步对渗透攻击行为进行关联分析,确定攻击者路径和最终对服务器产生的影响,捕获服务器被黑页面和攻击者的信息。

最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。

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