恶意攻击识别方法及系统与流程

文档序号:11594650阅读:149来源:国知局
本申请涉及网络安全
技术领域
,特别是涉及一种恶意攻击识别方法及系统。
背景技术
:目前一些比较大型的地方论坛社区由于种种原因,经常会遭受黑客的攻击,最终经常都损失惨重,有的服务器会带宽耗尽,有的服务器负载很高。其中,常见的攻击为CC(ChallengeCollapsar)攻击,可以归为DDoS攻击的一种,是一种连接攻击,原理为通过发送大量的请求数据来导致服务器拒绝服务。其中CC攻击又可分为代理CC攻击和肉鸡CC攻击。代理CC攻击是黑客借助代理服务器生成指向受害主机的合法网页请求,实现攻击。肉鸡就是被黑客攻破,种植了木马病毒的电脑,肉鸡CC攻击是黑客使用CC攻击软件,控制大量肉鸡,发动攻击。对于前述的连接攻击,目前的解决方案基本上都是实时获取每个IP地址的链接数,即页面请求数,将预定时间内链接数超过一定阀值的IP地址加入黑名单中,禁止该IP地址的访问。这种方法,对于普通的ddos攻击,可以取得较好的效果,但是针对黑客掌握大量肉鸡,然后通过肉鸡来攻击,并通过控制肉鸡的连接数的情况,这可能起不到任何效果,因此目前的方法具有一定的使用局限性,无法准确的识别肉鸡CC攻击。技术实现要素:本申请提供一种恶意攻击识别方法及系统,能够解决恶意攻击识别局限性和准确性的问题。为了解决上述问题,本申请公开了一种恶意攻击识别方法,包括以下步骤:读取最新的web访问日志;判断所述最新的web访问日志中是否包含静态资源文件,若是,则不作处理,反之,则进行下一步骤;获取所述新的web访问日志中所包含的IP地址的页面请求数,判断单个IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击。进一步地,所述读取最新的web访问日志包括:间隔预定时间读取一次;或对新的web访问日志数量进行监控,若新的web访问日志数量超过预定值,则读取一次。进一步地,所述读取最新的web访问日志包括:间隔预定时间读取固定数量的web访问日志;记录每次读取的最新web访问日志产生的时间点,并进行标识;若下次读取的web访问日志中包含有前一次读取的最新web访问日志产生的时间点,则只保留该时间点之后的web访问日志。进一步地,判断所述最新的web访问日志中是否包含静态资源文件包括:获取新的web访问日志中各文件的后缀;将所述后缀与预先存储的后缀进行匹配;若新的web访问日志中任何一个文件的后缀能与预先存储的后缀中的任何一个匹配上,则确定新的web访问日志中包含有静态资源文件。进一步地,所述判断单个IP地址的页面请求数是否超过阈值包括:统计新的web访问日志中每个IP地址分别对应的页面请求数;选取页面请求数最大的IP地址;判断该IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击,并进行下一步骤;反之,则确定新的web访问日志中所包含的IP地址的页面请求数未超过阈值;从余下的IP地址中选取页面请求数最大的IP地址,并重复前一步骤。进一步地,所述判断单个IP地址的页面请求数是否超过阈值包括:S1,统计新的web访问日志中每个IP地址分别对应的页面请求数;S2,按照页面请求数从大到小的顺序对所有的IP地址进行排序;S3,选取序号在预定数值内的IP地址;S4,逐个判断选取的IP地址中各IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击,并进行步骤S5,反之,则不作处理;S5,对未被选取的IP地址按照页面请求数从大到小的顺序重新进行排序,并重复步骤S3和S4。进一步地,所述步骤S4包括:按照序号从大到小选取最大序号的IP地址;判断该IP地址的页面请求数是否超过阈值,若是,则确定序号小于和等于当前IP地址的所有IP地址的页面请求数都超过阈值;若否,则进行下一步骤;按照序号从大到小选取下一序号的IP地址,重复前一步骤。进一步地,所述方法还包括:禁止确定为恶意攻击的IP地址的访问。进一步地,所述禁止确定为恶意攻击的IP地址的访问包括:将确定为恶意攻击的IP地址加入软件防火墙的禁用列表中。为了解决上述问题,本申请还公开了一种恶意攻击识别系统,包括:访问日志读取模块,用于读取最新的web访问日志;静态资源文件判断模块,用于判断所述最新的web访问日志中是否包含静态资源文件;页面请求数判断模块,用于获取所述新的web访问日志中所包含的IP地址的页面请求数,判断单个IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击。进一步地,所述访问日志读取模块包括:时间单元,用于间隔预定时间触发访问日志模块读取新的web访问日志;或数量单元,用于对新的web访问日志数量进行监控,若新的web访问日志数量超过预定值,则触发访问日志模块读取新的web访问日志。进一步地,所述访问日志读取模块包括:读取单元,用于间隔预定时间读取固定数量的web访问日志;时间点标识单元,用于记录每次读取的最新web访问日志产生的时间点,并进行标识;选择单元,用于判断下次读取的web访问日志中是否包含有前一次读取的最新web访问日志产生的时间点,若有,则只保留该时间点之后的web访问日志。进一步地,所述静态资源文件判断模块包括:后缀获取单元,用于获取新的web访问日志中各文件的后缀;匹配单元,用于将所述后缀与预先存储的后缀进行匹配;确定单元,用于根据匹配结果确定新的web访问日志中是否包含静态资源文件。进一步地,所述页面请求数判断模块包括:统计单元,用于统计新的web访问日志中每个IP地址分别对应的页面请求数;最大页面请求数选取单元,用于选取页面请求数最大的IP地址;比较单元,用于判断该IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击,并触发最大页面请求数选取单元重新选取新的IP地址再次进行比较;反之,则确定新的web访问日志中所包含的IP地址的页面请求数未超过阈值。进一步地,所述页面请求数判断模块包括:统计单元,用于统计新的web访问日志中每个IP地址分别对应的页面请求数;排序单元,用于按照页面请求数从大到小的顺序对所有的IP地址进行排序;选取单元,用于选取序号在预定数值内的IP地址;判断单元,用于逐个判断选取的IP地址中各IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击,并触发排序单元对余下的IP地址重新排序,然后通过选取单元和判断单元重新选取和判断,反之,则不作处理。进一步地,所述判断单元包括:最大序号选取子单元,用于按照序号从大到小选取最大序号的IP地址;确定子单元,用于判断该IP地址的页面请求数是否超过阈值,若是,则确定序号小于和等于当前IP地址的所有IP地址的页面请求数都超过阈值,若否,则触发最大序号选取子单元重新选取并再次判断。进一步地,所述系统还包括:禁止访问模块,用于禁止确定为恶意攻击的IP地址的访问。与现有技术相比,本申请包括以下优点:本申请的恶意攻击识别方法及系统,通过实时监控新的web访问日志,根据新的web访问日志中所包含的文件来判断一个IP地址对服务器的访问是否为恶意访问,利用人工正常访问和恶意攻击的区别进行实时判断,同时再结合页面请求数来综合判断,可以保证判断结果的准确性,同时可以识别出恶意攻击者利用正常用户的客户端来进行的恶意攻击,提高了恶意攻击识别率。另外,在进行新的web访问日志读取的过程中,采用时间点和数量像结合的方式,可以实时获取最新的web访问日志,又可以避免重复读取,可以提高识别恶意攻击的效率。进一步地,在进行页面请求数判断的时候,通过对新的web访问日志中各IP地址的页面请求数进行排序的方式来进行是否超过阈值的比较,可以快速的得出结果,提高了识别效率。当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。附图说明图1是本申请的恶意攻击识别实现的系统架构图;图2是本申请的恶意攻击识别方法实施例一的流程图;图3是本申请的恶意攻击识别方法实施例二的流程图;图4是本申请的恶意攻击识别系统实施例一的结构示意图;图5是本申请的恶意攻击识别系统实施例二的结构示意图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。参照图1,示出实现本申请的恶意攻击识别系统架构图。通过在服务器中设置恶意攻击识别装置来实时获取各IP地址对网站的web访问日志,并从web访问日志中获取相关信息来进行判断,并将实时判断结果反馈给服务器,从而实现对恶意攻击的IP地址的实时监控。下面对本申请的恶意攻击识别方法及系统进行详细的说明。参照图2,示出本申请的一种恶意攻击识别方法实施例一,包括以下步骤:步骤101,读取最新的web访问日志。其中最新的web访问日志可以通过如下方式读取:可以设定读取的时间,间隔预定时间读取一次,例如每隔一分钟读取这一分钟内的所有新的web访问日志。也可以设定读取的条数,通过对新的web访问日志数量进行实时监控,当新的web访问日志数量超过设定条数时从服务器中存储web访问日志的数据库中读取,例如当新的web访问日志数量超过1000时,读取一次。可以理解,还可以采用间隔一定时间读取一定数量的web访问日志的方式,即不对web访问日志数量进行监控,也不监控是否是新的web访问日志。而是以读取的web访问日志的时间点来进行判断。每隔一定时间读取固定数量的web访问日志,读取后记录本次读取的最新web访问日志产生的时间点,并进行标识,当下次读取出来的web访问日志包含有上次读取的最新web访问日志产生的时间点,则截止到这个时间点,即只保留这个时间点以后产生的web访问日志。通过数量与时间点的结合,可以保证每次读取的web访问日志不会重复,同时无需进行实时监控,可以减少对服务器资源的占用。可以理解的是,为了避免每次读取的web访问日志中包含较多上次读取的时间点前的web访问日志,或者不能完全读取新的web访问日志。可以预先对web访问日志产生的数量进行统计和估计,确定一个较为合适的数量。步骤102,判断所述最新的web访问日志中是否包含静态资源文件,若是,则不作处理,反之,则进行下一步骤。判断是否包含静态资源文件可以通过获取web访问日志中各文件的后缀,并与预先存储的代表静态资源文件的后缀进行匹配,若新的web访问日志中任何一个文件的后缀能与预先存储的后缀中的任何一个匹配上,则说明最新的web访问日志中包含有静态资源文件,反之,则说明不包含。其中预先存储的代表静态资源文件的后缀可以通过实际情况分析获取,并与记录表等形式存储在服务器中或者下载到本地客户端。通常情况下,静态资源文件包含图片、css样式文件或javascript脚本文件。可以对这些文件的后缀进行提取并存储,以供后续匹配使用。因为是否包含静态资源文件是正常用户与恶意攻击者在访问网站时的区别点,通常情况下,恶意攻击者为了实现恶意攻击,只是不断提出访问请求,并不会真正的去请求网站中所有页面资源,特别是耗时的静态页面资源,通过此种方式,可以对恶意攻击进行很好的识别。步骤103,获取所述新的web访问日志中所包含的IP地址的页面请求数,判断单个IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击。单个IP地址的页面请求数可以根据web访问日志的数量来确定,每个IP地址的web访问日志的数量即为其页面请求数。优选地,为了减少判断次数,还可以通过如下方式来对web访问日志所包含的IP地址的页面请求数是否超过阈值进行判断:统计新的web访问日志中每个IP地址分别对应的页面请求数;选取页面请求数最大的IP地址;判断该IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击,并进行下一步骤;反之,则确定新的web访问日志中所包含的IP地址的页面请求数未超过阈值;从余下的IP地址中选取页面请求数最大的IP地址,并重复前一步骤。阈值可以根据设定的读取新的web访问日志的时间间隔等因素设定,例如,当读取新的web访问日志的时间间隔为1分钟时,可以设定阈值为100个或50个,因为正常情况下,一个正常用户几乎不可能在短时间内提出100次或50次访问请求。具体数值本申请对此并不限制,可以理解的是,为了避免出现误判,可以在允许的情况下适当提高阈值。可以理解,还可以通过如下方式来对web访问日志所包含的IP地址的页面请求数是否超过阈值进行判断:S1,统计新的web访问日志中所有的IP地址分别对应的页面请求数;S2,按照页面请求数从大到小的顺序对所有的IP地址进行排序;S3,选取序号在预定数值内的IP地址;S4,逐个判断选取的IP地址中各IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击,并进行步骤S5,反之,则不作处理;S5,对未被选取的IP地址按照页面请求数从大到小的顺序重新进行排序,并重复步骤S3和S4。其中,预定数值可以根据实际情况设定,可以考虑的因素包括但不限于服务器的运算能力和效率、新的web访问日志中可能包含的IP地址数量,或者新的web访问日志中可能超过阈值的IP地址数量等等。其中,IP地址数量可以根据历史数据统计得出,也可以根据经验估计。总的来书,预定数值的设定,只要能够快速的得出判断结果即可,本申请对此并不限制。例如,每次选取50个序号等等。优选地,因为各IP地址按照页面请求数的大小进行过排序,因此步骤S4还可以通过如下方式进行判断,即:按照序号从大到小选取最大序号的IP地址;判断该IP地址的页面请求数是否超过阈值,若是,则确定序号小于和等于当前IP地址的所有IP地址的页面请求数都超过阈值;若否,则进行下一步骤;按照序号从大到小选取下一序号的IP地址,重复前一步骤。参照图3,示出本申请的恶意攻击识别方法实施例二,在实施例一的基础上还包括:步骤201,禁止确定为恶意攻击的IP地址的访问。禁止所述IP地址的访问包括将IP地址加入软件防火墙的禁用列表中,可以理解,还可以通过其他方式来实现,具体可以通过根据需要设定特定程序来实现。例如,在centos或redhat下一般为iptables,这些软件都会提供命令来执行将IP地址加入禁用列表的过程,例如,/sbin/iptables-AINPUT-ptcp-s192.168.1.12-jDROP。在前述方法中,通过实时监控新的web访问日志,根据新的web访问日志中所包含的文件来判断一个IP地址对服务器的访问是否为恶意访问,利用人工正常访问和恶意攻击的区别进行实时判断,同时再结合页面请求数来综合判断,可以保证判断结果的准确性,同时可以识别出恶意攻击者利用正常用户的客户端来进行的恶意攻击,提高了恶意攻击识别率。另外,在进行新的web访问日志读取的过程中,采用时间点和数量像结合的方式,可以实时获取最新的web访问日志,又可以避免重复读取,可以提高识别恶意攻击的效率。进一步地,在进行页面请求数判断的时候,通过对新的web访问日志中各IP地址的页面请求数进行排序的方式来进行是否超过阈值的比较,可以快速的得出结果,提高了识别效率。参照图4,示出本申请的一种恶意攻击识别系统,包括访问日志读取模块10、静态资源文件判断模块20和页面请求数判断模块30。访问日志读取模块10,用于读取最新的web访问日志。静态资源文件判断模块20,用于判断所述最新的web访问日志中是否包含静态资源文件。页面请求数判断模块30,用于获取所述新的web访问日志中所包含的IP地址的页面请求数,判断单个IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击。其中,访问日志读取模块10包括时间单元或数量单元。时间单元,用于间隔预定时间触发访问日志模块读取新的web访问日志。数量单元,用于对新的web访问日志数量进行监控,若新的web访问日志数量超过预定值,则触发访问日志模块读取新的web访问日志。优选地,访问日志读取模块10也可以包括读取单元、时间点标识单元和选择单元。读取单元,用于间隔预定时间读取固定数量的web访问日志。时间点标识单元,用于记录每次读取的最新web访问日志产生的时间点,并进行标识。选择单元,用于判断下次读取的web访问日志中是否包含有前一次读取的最新web访问日志产生的时间点,若有,则只保留该时间点之后的web访问日志。优选地,静态资源文件判断模块20包括后缀获取单元、匹配单元和确定单元。后缀获取单元,用于获取新的web访问日志中各文件的后缀。匹配单元,用于将所述后缀与预先存储的后缀进行匹配。确定单元,用于根据匹配结果确定新的web访问日志中是否包含静态资源文件。优选地,页面请求数判断模块30包括统计单元、最大页面请求数选取单元和比较单元。统计单元,用于统计新的web访问日志中每个IP地址分别对应的页面请求数。最大页面请求数选取单元,用于选取页面请求数最大的IP地址。比较单元,用于判断该IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击,并触发最大页面请求数选取单元重新选取新的IP地址再次进行比较;反之,则确定新的web访问日志中所包含的IP地址的页面请求数未超过阈值。可以理解,页面请求数判断模块30还可以包括统计单元、排序单元、选取单元和判断单元。统计单元,用于统计新的web访问日志中每个IP地址分别对应的页面请求数。排序单元,用于按照页面请求数从大到小的顺序对所有的IP地址进行排序。选取单元,用于选取序号在预定数值内的IP地址。判断单元,用于逐个判断选取的IP地址中各IP地址的页面请求数是否超过阈值,若是,则确定所述IP地址的访问为恶意攻击,并触发排序单元对余下的IP地址重新排序,然后通过选取单元和判断单元重新选取和判断,反之,则不作处理。优选地,判断单元还可以包括最大序号选取子单元和确定子单元。最大序号选取子单元,用于按照序号从大到小选取最大序号的IP地址。确定子单元,用于判断该IP地址的页面请求数是否超过阈值,若是,则确定序号小于和等于当前IP地址的所有IP地址的页面请求数都超过阈值,若否,则触发最大序号选取子单元重新选取并再次判断。参照图5,示出本申请的恶意攻击识别系统实施例二,在实施例一的基础上还包括禁止访问模块40,用于禁止确定为恶意攻击的IP地址的访问。其中可以通过将IP地址添加入软件防火墙的禁用列表中的方式来实现禁止访问。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上对本申请所提供的恶意攻击识别方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1