具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先对本说明书一个或多个实施例中使用到的技术术语进行解释。
WEB漏洞扫描器:一种用于探测WEB系统是否存在漏洞的系统,会对WEB系统发起多种携带恶意内容的探测请求。
URL:统一资源定位符,UniformResourceLocator的缩写,也被称为网页地址,是因特网上标准的资源的地址,由协议、域名、PATH、参数等部分组成。
PAYLOAD:扫描器携带的恶意载荷。
UA:User Agent的缩写,中文名为用户代理,简称UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等,标准http请求中用于标识请求客户端的字段,可被伪造。
0DAY漏洞:只有少部分人或组织掌握的未公开的漏洞。
在本说明书一个或多个实施例中,提供了一种访问请求处理方法及装置、计算设备和计算机存储介质,在下面的实施例中逐一进行详细说明。
参见图1,本说明书一个实施例提供了一种计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110、处理器120和通信接口140。所述处理器120与所述存储器110通过总线130相连接,数据库150用于存储访问请求的日志数据。
所述通信接口140使得计算设备100能够经由一个或多个网络通信。这些网络的示例包括局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。网络接口可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
所述存储器110,被配置为存储通信接口140通过总线130发送的访问请求的日志数据以及存储在存储器110上并可在处理器120上运行的计算机指令。
所述处理器120,被配置为获取存储在存储器110的访问请求的日志数据后,执行存储在存储器110上的计算机指令,实现对所述访问请求的处理。
所述计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了说明书一个实施例提供的访问请求处理方法的示意性流程图,包括步骤202至步骤210。
步骤202:根据预设规则获取访问请求的日志数据。
本说明书一个或多个实施例中,所述预设规则包括但不限于取一个时间窗口内的访问请求的日志数据,所述时间窗口可以根据分析成本以及时效性设置为5分钟、10分钟或者更长、更短的时间等,本申请对此不作任何限定。
步骤204:根据预设的第一恶意访问请求识别库识别所述日志数据中的第一恶意访问请求。
本说明书一个或多个实施例中,所述第一恶意访问请求识别库包括第四恶意访问请求识别库和第五恶意访问请求识别库,所述第一恶意访问请求包括第四恶意访问请求和第五恶意访问请求;
根据预设的第一恶意访问请求识别库识别所述日志数据中的第一恶意访问请求包括以下步骤:
首先根据预设的第四恶意访问请求识别库识别所述日志数据中的第四恶意访问请求;
然后根据预设的第五恶意访问请求识别库识别所述日志数据中的第五恶意访问请求。
本说明书一个或多个实施例中,所述第四恶意访问请求识别库包括恶意扫描器标识库;
根据预设的第四恶意访问请求识别库识别所述日志数据中的第四恶意访问请求包括:
根据预设的恶意扫描器标识库识别所述日志数据中携带有恶意扫描器标识的第四恶意访问请求。
所述恶意扫描器识别库中存放的均为恶意的扫描器UA。
本说明书一个或多个实施例中,所述第五恶意访问请求识别库包括恶意IP地址库;
根据预设的第五恶意访问请求识别库识别所述日志数据中的第五恶意访问请求包括:
根据预设的恶意IP地址库识别所述日志数据中携带有恶意IP地址的第五恶意访问请求。
实际应用中,恶意攻击者使用开源工具或购买的扫描产品,在未对该扫描产品进行深度定制时,访问请求中均会携带扫描产品的UA对全网做例行扫描时,那么通过所述UA与预设的恶意扫描器识别库中存放的恶意的扫描器的UA进行匹配,就可以准确的识别出一部分恶意访问请求。但是绝大部分恶意的攻击者,会将扫描产品的UA伪造为正常浏览器的UA,这种情况下使用扫描器UA就无法识别出恶意访问请求。
在上述情况下,再根据预设的恶意IP地址库对所述日志数据中未被恶意扫描器识别库中存放的恶意的扫描器的UA匹配的访问请求进行识别。但是IP地址分为两种情况:固定IP地址和非固定IP地址。固定IP地址的情况常见于攻击者使用租赁的云服务器进行大规模攻击的情况,这类IP地址比较稳定,可以对访问请求的IP地址与预设的恶意IP地址库进行匹配识别,但是非固定IP地址的情况常见于攻击者使用个人电脑进行攻击的情况,该类攻击者IP地址比较多变,使用一段时间就会被更换,因此使用预设的恶意IP地址库也无法完全的识别出所述日志数据中的恶意访问请求。
步骤206:根据预设的第二恶意访问请求识别库识别所述日志数据中除所述第一恶意访问请求之外的第二恶意访问请求。
本说明书一个或多个实施例中,所述第二恶意访问请求包括但不限于恶意访问请求预存库,所述恶意访问请求预存库中预先存放为恶意的访问请求。
所述第一恶意访问请求被识别出后,可以从所述日志数据中取出或者删除,所述日志数据中仅剩下除所述第一恶意访问请求之外的剩余访问请求,然后将所述剩余访问请求与预设的第二恶意访问请求识别库中预存的恶意访问请求进行匹配,获取匹配的访问请求,该访问请求则为第二恶意访问请求。
步骤208:确定所述第二恶意访问请求的IP地址,基于所述第二恶意访问请求的IP地址获取第三访问请求。
本说明书一个或多个实施例中,确定所述第二恶意访问请求的IP地址即为获取所述第二恶意访问请求的IP地址,然后对所述IP地址去重。例如获取所述第二恶意访问请求的IP地址包括IP1、IP2、IP1、IP3、IP1、IP3,然后对所述IP地址去重则得到:IP1、IP2、IP3。
参见图3,本说明书一个或多个实施例中,基于所述第二恶意访问请求的IP地址获取第三访问请求包括步骤302至步骤306。
步骤302:统计每个所述IP地址对应的所述第二恶意访问请求的请求次数。
步骤304:若所述请求次数大于第一预设阈值,则确定所述IP地址为扫描器IP地址。
步骤306:获取所述扫描器IP地址对应的除所述第一恶意访问请求和所述第二恶意访问请求之外的第三访问请求。
本说明书一个或多个实施例中,所述第一预设阈值可以根据实际需要设置为3次、5次、8次等,本申请对此不作任何限定。
仍以确定的所述第二恶意访问请求的IP地址包括IP1、IP2、IP3为例,对第三访问请求的获取进行详细说明。
若所述第一预设阈值为2次,IP1对应的所述第二恶意访问请求的请求次数为3次,IP2对应的所述第二恶意访问请求的请求次数为1次,IP3对应的所述第二恶意访问请求的请求次数为2次。
其中,IP1对应的所述第二恶意访问请求的请求次数为3次,大于第一预设阈值的2次,则确定IP1为扫描器IP1。
最后获取所述扫描器IP1对应的除所述第一恶意访问请求和所述第二恶意访问请求之外的第三访问请求。对非扫描器IP地址的IP2和IP3对应的访问请求则不予进行任何处理。
步骤210:识别所述第三访问请求为恶意访问请求的情况下,将所述第三访问请求记录至所述第二恶意访问请求识别库和将所述第三访问请求的IP地址记录至所述第一恶意访问请求识别库。
本说明书一个或多个实施例中,将所述第三访问请求记录至所述第二恶意访问请求识别库和将所述第三访问请求的IP地址记录至所述第一恶意访问请求识别库之后,还可以包括:
删除所述第二恶意访问请求和所述第三访问请求。
本说明书一个或多个实施例中,将所述第三访问请求记录至所述第二恶意访问请求识别库和将所述第三访问请求的IP地址记录至所述第一恶意访问请求识别库,对第一恶意访问请求识别库和第二恶意访问请求识别库进行数据的几类,经过几轮有效的循环之后,对恶意访问请求的识别就会越来越精确,越来越快,极大的提高了识别效率和识别精度。
本说明书一个或多个实施例中,将所述第三访问请求的IP地址记录至所述第一恶意访问请求识别库包括:
将所述第三访问请求的IP地址记录至所述恶意IP地址库。
本说明书一个或多个实施例中,若所述第三访问请求携带有扫描器标识,则将所述第三访问请求的扫描器标识记录至所述恶意扫描器标识库。
本说明书一个或多个实施例中,所述方法对访问请求进行三层识别,通过该筛子原理对扫描器的访问请求进行识别、获取和删除,通过迭代积累未被识别的访问请求,然后根据该访问请求对上述的识别数据进行补充积累,使得所述方法可以达到比较好的识别效果,并且识别效果会越来越好。
参见图4,本说明书一个或多个实施例中,识别所述第三访问请求为恶意访问请求包括步骤402至步骤412。
步骤402:解析所述第三访问请求,获得所述三访问请求的请求参数。
本说明书一个或多个实施例中,例如所述第三访问请求包括:
POST/home/msg/data/personalcontent?num=8&index=4&xx=1HTTP/1.1
Host:www.baidu.com
Connection:keep-alive
Accept:text/plain,*/*;q=0.01
X-Requested-With:XMLHttpRequest
User-Agent:Mozilla/5.0(Macintosh;Intel Mac OS X 10_13_3)AppleWebKit/537.36(KHTML,like Gecko)Chrome/67.0.3396.99 Safari/537.36
Referer:https://www.baidu.com/
Accept-Encoding:gzip,deflate,br
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7
Cookie:xxx
a=1&b=2&c=3。
解析所述第三访问请求,获得所述三访问请求的请求参数包括:
num=8
index=4
xx=1
Host=www.baidu.com
Connection=keep-alive
Accept=text/plain,*/*;q=0.01
X-Requested-With=XMLHttpRequest
User-Agent=Mozilla/5.0(Macintosh;Intel Mac OS X 10_13_3)AppleWebKit/537.36(KHTML,like Gecko)Chrome/67.0.3396.99 Safari/537.36
Referer=https://www.baidu.com/
Accept-Encoding=gzip,deflate,br
Accept-Language=zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7
Cookie=xxx
a=1
b=2
c=3。
步骤404:确定所述第三访问请求的请求参数对应的参数名和参数值。
本说明书一个或多个实施例中,仍以上述第三访问请求的请求参数中“num=8”为例,其中,“num”为参数名,“8”为参数值。
步骤406:若所述请求参数对应的参数名和参数值与预先生成的参数库中的参数名和参数值不匹配,则分析所述请求参数对应的参数名和参数值。
本说明书一个或多个实施例中,若预先生成的参数库中的参数名为“num”,对应的参数值为“长度为1的数字或者是特殊字符串”,则所述请求参数的参数名为“num”时,对应的参数值应该为“长度为1的数字或者是特殊字符串”,若是其它,则不匹配。
例如,若预先生成的参数库中的参数名“num”和参数值为“长度为1的数字”,所述请求参数对应的参数名和参数值为“num=88”,则所述请求参数对应的参数名和参数值与预先生成的参数库中的参数名和参数值不匹配,需要再进行后续分析所述请求参数对应的参数名和参数值。
步骤408:将所述请求参数对应的参数值进行归一化处理。
本说明书一个或多个实施例中,例如若所述请求参数对应的参数值包括“<script>alert(1)</script>、<script>alert(2)</script>和<script>alert(3)</script>”,则可以将1、2、3等字符使用特殊符号代替“<script>alert(\d+)</script>”,不需要一个个的重复分析,进行归一化处理后极大的提高工作效率。
步骤410:分析归一化处理后的所述请求参数对应的参数值是否为恶意参数值,若是,则确定所述请求参数为恶意请求参数。
本说明书一个或多个实施例中,分析归一化处理后的所述请求参数对应的参数值即判断所述参数值是否是由于误写或者是其它正常原因造成参数值的错误,而非是恶意访问请求。
若经过分析后,仍然认为所述请求参数对应的参数值为恶意参数值,则确定所述请求参数为恶意请求参数。
步骤412:若所述请求参数为恶意请求参数,则确定所述第三访问请求为恶意访问请求。
本说明书一个或多个实施例中,对所述第三访问请求进行两次判断后,确定所述第三访问请求是否为恶意访问请求,可以保证识别结果的准确性。
参见图5,将所述第三访问请求的IP地址记录至所述恶意IP地址库包括步骤502至步骤508。
步骤502:获取所述第三访问请求的IP地址。
步骤504:判断所述第三访问请求的IP地址是否第一次记录至所述恶意IP地址库,若是,执行步骤506,若否,执行步骤508。
步骤506:为所述第三访问请求的IP地址设置第一有效期,将所述第三访问请求的IP地址记录至所述恶意IP地址库。
步骤508:为所述第三访问请求的IP地址设置第二有效期,将所述第三访问请求的IP地址记录至所述恶意IP地址库。
本说明书一个或多个实施例中,根据所述第三访问请求的IP地址是否第一次记录至所述恶意IP地址库为所述IP地址设置有效期。实际使用中,为所述第一有效期设置的时效小于为所述第二有效期设置的时效。例如若为所述第一有效期的时效设置为1小时,则为所述第二有效期的时效设置为2小时,并且为所述第三访问请求的IP地址设置的有效期可以根据记录次数的增长而递增。
本说明书一个或多个实施例中,为第一次记录的所述第三访问请求的IP地址设置较短的有效期,为超过一次的所述第三访问请求的IP地址设置较长的有效期,可以避免对所述第三访问请求的误判断。设置的有效期较短,可以在有效期结束之后对该第三访问请求的IP地址进行第二轮的判断,保证了识别的准确性。
将第一次记录的访问请求的IP地址有效期设置为比较短的时间,防止非固定IP地址后续被正常用户使用后而引入误判,但当该IP地址非第一次出现,每次出现可以对该IP地址进行一段时间有效期的增加,出现次数和有效期延长时间可以为非线性关系,使越多的出现次数对有效期延长时间的影响越显著,如果此IP地址为攻击者的固定IP地址,则在一段时间的循环之后,该IP地址将会长期处在恶意扫描器IP库列表中,后续通过观察该IP地址扫描请求的变化,可以大致推测到攻击组织在漏洞研究方面的最新进展,甚至可以用于发现一些最新的0day漏洞。
参见图6,本说明书一个或多个实施例提供了一种访问请求处理方法,包括步骤602至步骤642。
步骤602:获取一天的访问请求的日志数据。
步骤604:根据预设的恶意扫描器标识库识别所述日志数据中的携带有恶意扫描器标识的第四恶意访问请求并删除。
步骤606:根据预设的恶意IP地址库识别所述日志数据中的携带有恶意IP地址的第五恶意访问请求并删除。
步骤608:根据预设的PAYLOAD访问请求识别库识别所述日志数据中除所述第四恶意访问请求和第五恶意访问请求之外的第二恶意访问请求。
步骤610:确定所述第二恶意访问请求的IP地址。
步骤612:对所述IP地址去重。
步骤614:统计每个所述IP地址对应的所述第二恶意访问请求的请求次数。
步骤616:判断所述请求次数是否大于第一预设阈值,若是,则执行步骤618,若否,则执行步骤620。
步骤618:确定所述IP地址为扫描器IP地址。
步骤620:结束。
步骤622:获取所述扫描器IP地址对应的除所述第四恶意访问请求、第五恶意访问请求和所述第二恶意访问请求之外的第三访问请求。
步骤624:解析所述第三访问请求,获得所述第三访问请求的请求参数,并确定所述第三访问请求的请求参数对应的参数名和参数值。
步骤626:判断所述请求参数对应的参数名和参数值与预先生成的参数库中的参数名和参数值是否匹配,若是,则执行步骤628,若否,则执行步骤630。
步骤628:结束。
步骤630:将所述请求参数对应的参数值进行归一化处理。
步骤632:判断归一化处理后的所述请求参数对应的参数值是否为恶意参数值,若是,则执行步骤636,若否,则执行步骤634。
步骤634:确定所述请求参数为恶意请求参数。
步骤636:结束。
步骤638:将所述第三访问请求记录至PAYLOAD访问请求识别库。
步骤640:将所述第三访问请求的IP地址记录至所述恶意IP地址库。
步骤642:将所述第三访问请求的扫描器标识记录至所述恶意IP地址库。
本说明书一个或多个实施例中,步骤638、步骤640和步骤642在实际使用的时候可以是按照预设的顺序执行也可以是并行执行,本申请对此不作任何限定。
本说明书一个或多个实施例中,通过使用PAYLOAD访问请求识别库对所有未被恶意IP地址库和恶意扫描器标识库命中的访问请求进行再次匹配,通过这种三层筛子原理的匹配之后,会高效的识别出恶意的访问请求,然后在对恶意的访问请求进行分析,判断该访问请求否是误报的判断,若非误报,则将所述访问请求分别添加至三个恶意访问请求识别库中(其中扫描器UA和IP地址当被标记为非误报时,可以通过系统自动提取入库留作后续判断使用),初期可能需要判断的访问请求较多,但当UA、IP、PAYLOAD三个恶意访问请求识别库中的数据积累的非常丰富之后,经过几轮有效的循环,需要进行二次分析的访问请求则会越来越少,恶意的访问请求的识别也会越来越精确。并且通过这一步操作,积累下来的IP库和PAYLOAD库,对后续WAF规则(Web应用防护系统)建立、未知漏洞研究、攻击组织跟踪和规则演进等方面的分析都有非常好的帮助。
参见图7,本说明书一个或多个实施例提供了一种访问请求处理方法,所述方法中提供了一种参数库的生成方法,包括步骤702至步骤714。
步骤702:获取访问请求样本的日志数据。
本说明书一个或多个实施例中,所述访问请求样本的日志数据可以是获取一天的、一周的或者是一个月的日志数据,其中,为了保证参数库中结果的准确性,获取的所述访问请求样本的数量大于所述访问请求的数量。例如,若所述访问请求样本的数量为获取一周的日志数据的访问请求的数量,则所述访问请求的数量为一天、两天或者三天的日志数据的访问请求的数量。
步骤704:整理所述访问请求样本。
本说明书一个或多个实施例中,整理所述访问请求样本即为对所述访问请求样本的数据清洗,排除掉明显为恶意的所述访问请求样本。
步骤706:解析所述访问请求样本的日志数据,获得所述访问请求样本的样本请求参数。
步骤708:对所述样本请求参数进行抽样。
本说明书一个或多个实施例中,对所述样本请求参数进行抽样包括:
确定所述访问请求样本对应的IP地址;
获取每个所述IP地址对应的访问请求样本;
对所述访问请求样本去重,获得每个所述IP地址对应的所述访问请求样本的样本请求参数。
本说明书一个或多个实施例中,对所述样本请求参数进行抽样获取每个IP地址以及该IP地址对应的访问请求样本,使得IP地址以及与IP地址对应的访问请求样本均是单独存在的,没有重复的IP地址以及与该IP地址对应的访问请求样本,避免某一个IP地址为恶意IP地址且该IP地址下的访问请求样本数量过多,对访问请求样本的造成污染,导致最后的特征建模结果即参数库中数据结果不准确的情况发生。
本说明书一个或多个实施例中,所述访问请求样本的样本请求参数的数量大于第三预设阈值。例如所述第三预设阈值为100条,则所述访问请求样本的样本请求参数的数量大于100条的情况下,才可满足有大部分人都在访问的前提,保证后续参数库中数据的准确性;如果抽样之后所述访问请求样本的样本请求参数的数量小于第三预设阈值,则可以在进行访问请求样本的日志数据获取时,扩大获取日志数据的窗口,以便获取较为大量的访问请求样本的日志数据,或者先将当前获取的样本请求参数暂时先存下来,留待后续继续累积样本请求参数的数量,直到该数量满足大于第三预设阈值的条件时使用。
步骤710:确定所述样本请求参数至少一组参数名和对应的参数值。
本说明书一个或多个实施例中,所述样本请求参数以及对应的参数名和参数值的格式均可参见上述实施例,在此不再赘述。
步骤712:对所述参数名对应的参数值的属性进行统计,得到至少两种属性的参数值,并将所述至少两种属性的参数值中占比大的参数值的属性确定为所述参数名对应的参数值的可信属性。
本说明书一个或多个实施例中,所述参数值的属性包括但不限于字符串、数字、长度为*的数字或者长度为*的字符串等。
例如所述样本请求的对应的参数名和参数值包括:num=1、num=2、num=3、num=abcd,对所述参数名对应的参数值的属性进行统计,得到所述属性:数字和字符串,选取数字和字符串两种属性的参数值中占比达的参数值的属性“数字”,确定所述参数名num对应的参数值的可信属性为“数字”。
步骤714:以所述参数名和具有可信属性的参数值构成参数库。
本说明书一个或多个实施例中,所述参数值生成方法通过对采集的访问请求的日志数据进行数据清洗和抽样两层过滤,使得选取的可信度高的样本请求参数的准确性更高,在后续根据预先生成的参数库筛选不符合的可能为恶意的访问请求时,筛选结果更加精确可靠。
参见图8,一种访问请求处理装置,包括:
第一获取模块802,被配置为根据预设规则获取访问请求的日志数据;
第一识别模块804,被配置为根据预设的第一恶意访问请求识别库识别所述日志数据中的第一恶意访问请求;
第二识别模块806,被配置为根据预设的第二恶意访问请求识别库识别所述日志数据中除所述第一恶意访问请求之外的第二恶意访问请求;
第二获取模块808,被配置为确定所述第二恶意访问请求的IP地址,基于所述第二恶意访问请求的IP地址获取第三访问请求;
第三识别模块810,被配置为识别所述第三访问请求为恶意访问请求的情况下,将所述第三访问请求记录至所述第二恶意访问请求识别库和将所述第三访问请求的IP地址记录至所述第一恶意访问请求识别库。
可选地,所述第一恶意访问请求识别库包括第四恶意访问请求识别库和第五恶意访问请求识别库,所述第一恶意访问请求包括第四恶意访问请求和第五恶意访问请求;
所述第一识别模块被配置为:
根据预设的第四恶意访问请求识别库识别所述日志数据中的第四恶意访问请求;
根据预设的第五恶意访问请求识别库识别所述日志数据中的第五恶意访问请求。
可选地,所述第二获取模块包括:
统计子模块,被配置为统计每个所述IP地址对应的所述第二恶意访问请求的请求次数;
第一确定子模块,被配置为若所述请求次数大于第一预设阈值,则确定所述IP地址为扫描器IP地址;
第三访问请求获取子模块,被配置为获取所述扫描器IP地址对应的除所述第一恶意访问请求和所述第二恶意访问请求之外的第三访问请求。
可选地,所述第三识别模块还被配置为:
解析所述第三访问请求,获得所述三访问请求的请求参数;
若所述请求参数为恶意请求参数,则确定所述第三访问请求为恶意访问请求。
可选地,所述第三识别模块还被配置为:
确定所述第三访问请求的请求参数对应的参数名和参数值;
若所述请求参数对应的参数名和参数值与预先生成的参数库中的参数名和参数值不匹配,则分析所述请求参数对应的参数名和参数值。
可选地,所述第三识别模块还被配置为:
将所述请求参数对应的参数值进行归一化处理;
分析归一化处理后的所述请求参数对应的参数值是否为恶意参数值,若是,则确定所述请求参数为恶意请求参数。
可选地,所述参数库通过如下模块生成:
第三获取模块,被配置为获取访问请求样本的日志数据;
解析模块,被配置为解析所述访问请求样本的日志数据,获得所述访问请求样本的样本请求参数;
确定模块,被配置为确定所述样本请求参数至少一组参数名和对应的参数值;
参数值获取模块,被配置为对所述参数名对应的参数值的属性进行统计,得到至少两种属性的参数值,并将所述至少两种属性的参数值中占比大的参数值的属性确定为所述参数名对应的参数值的可信属性;
构成模块,被配置为以所述参数名和具有可信属性的参数值构成参数库。
本说明书一个或多个实施例中,所述装置对访问请求进行三层识别,通过该筛子原理对扫描器的访问请求进行识别、获取和删除,通过迭代积累未被识别的访问请求,然后根据该访问请求对上述的识别数据进行补充积累,使得所述方法可以达到比较好的识别效果,并且识别效果会越来越好。
本说明书一个或多个实施例中,所述访问请求处理装置能够通过扫描得到的两个数据,采用所述两个数据之间的关联性对待识别对象进行身份确认可以保证访问请求处理的准确性。
本说明书一个或多个实施例中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述访问请求处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的访问请求处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述访问请求处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机指令代码,所述计算机指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。