CN107547490A - 一种扫描器识别方法、装置及系统 - Google Patents

一种扫描器识别方法、装置及系统 Download PDF

Info

Publication number
CN107547490A
CN107547490A CN201610500794.7A CN201610500794A CN107547490A CN 107547490 A CN107547490 A CN 107547490A CN 201610500794 A CN201610500794 A CN 201610500794A CN 107547490 A CN107547490 A CN 107547490A
Authority
CN
China
Prior art keywords
access data
log file
values
parameter
parameter value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610500794.7A
Other languages
English (en)
Other versions
CN107547490B (zh
Inventor
任宏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610500794.7A priority Critical patent/CN107547490B/zh
Publication of CN107547490A publication Critical patent/CN107547490A/zh
Application granted granted Critical
Publication of CN107547490B publication Critical patent/CN107547490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本申请涉及计算机领域,特别涉及了一种扫描器识别方法、装置及系统,用以提高Web应用的安全防护性能。该方法为:获取待解析日志文件,该待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;统计所述待解析日志文件中各个参数的取值即参数值的出现次数,并基于各个参数值的出现次数,识别扫描器。这样,便可以从网络流量层入手,基于提取到的各个参数值在不同环境下的出现次数,识别出扫描器的访问请求的发送方式,从而提取出扫描器进行攻击时的核心特征,进而能够及时实现有效的Web应用安全防护,提高了系统可靠性。

Description

一种扫描器识别方法、装置及系统
技术领域
本申请涉及计算机领域,特别涉及了一种扫描器识别方法、装置及系统。
背景技术
随着Web应用的日益普遍,Web层面的攻击越来越多,如,跨站脚本攻击(CrossSite Scripting,XSS)、结构化查询语言(Structured Query Language,SQL)注入等等。同时,Web应用所依赖的基础软件,出现的漏洞也是层出不穷。由于公共云环境的开放性特点,漏洞若没有被及时修复,就能够很快被黑客发现并利用,带来很大安全风险。
当前,实现Web应用防护最主要的安全产品是网站应用防护系统(WebApplication Firewall,WAF),而WAF对于攻击访问请求的识别主要是通过规则过滤实现的,但是过多的规则会降低WAF防护的效果。
另一方面,当前扫描器器〔如,Sql地图(SqlMap)〕的使用非常普遍。所谓扫描器,是一种自动检测远程或本地主机安全性弱点的程序,大体可以分为“客户端使用”和“服务器使用”两大类。通过使用扫描器可以丝毫不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务。
例如,“客户端使用”的扫描器可以用于识别以下内容:网络设备类型(如,路由器或普通服务器)、操作系统类型和版本(如,Linux、Windows等等)、基础软件(如,应用服务器、数据库)的类型和版本,Web应用的类型〔如,是否为常见的内容管理体系(ContentManagement System,CMS等〕。
而采用的识别方法主要基于已知的特征库进行识别,其中,特征库中主要记录了以下内容:网络行为、超级文本传送协议(Hyper Text Transport Protocol,HTTP)、特定路径的统一资源定位符(Uniform Resource Locator,URL)及返回内容,等等。
又例如,“服务器使用”的扫描器可以用于执行以下操作:识别各种类型的扫描器,并提取相应的行为特征。
目前,无论是哪一类的扫描器,都还没有通用的识别方法,主要是由安全人员根据经验或以往出现的攻击特征,构造扫描规则并在扫描器进行配置。
然而,扫描器也可以为黑客所用。黑客发起攻击前,经常使用扫描器,使用已知漏洞特征或未知漏洞特征,进行大范围的攻击性访问请求(也可以称为漏洞扫描),并根据Web应用返回的结果判断是否存在可被利用的漏洞,从而有针对性的发起攻击。
现有的扫描器所采用的扫描规则,主要是依赖安全人员的经验设置的,这需要安全人员对大多数扫描器的工作原理有足够了解,并且可以收集到足够的扫描器访问日志,以便于进行特征提取,不具备普遍性。
另外,黑客利用扫描器进行漏洞扫描时,经常开发新的攻击访问请求,来识别Web应用是否存在相应的新的漏洞。而对于新的漏洞,安全人员不可能全部知晓,即使知晓也来不及设置相应的扫描规则进行防御,因此,在安全防护上存在一定的滞后性。
发明内容
本申请实施例提供一种扫描器的识别方法、装置及系统,用以提高Web应用的安全防护的及时性和可靠性。
本申请实施例提供的具体技术方案如下:
一种扫描器识别方法,包括:获取待解析日志文件,其中,所述待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;统计所述待解析日志文件中各个参数的取值即参数值的出现次数;基于各个参数值的出现次数,识别扫描器。
可选的,在对所述待解析日志文件进行解析之前,进一步包括:获取流量日志文件,所述流量日志文件中记录有客户端侧和网络侧交互的全部访问数据记录;从所述流量日志文件中提取出与特定类型事件对应的日志文件,作为待解析日志文件。
可选的,基于各个参数值的出现次数,识别扫描器,包括:基于各个参数值的出现次数,分别计算相应参数值的评估值;筛选出评估值达到设定阈值的参数值,作为目标参数值;基于所述目标参数值,识别扫描器。
可选的,基于一个参数值的出现次数计算所述一个参数值的评估值,包括:确定包括所述一个参数值的每一种属性;分别确定所述一个参数值在所述每一种属性对应的不同取值中的出现次数,其中,将所述一个参数值在一种属性对应的不同取值中的出现次数作为一种测试指标;分别确定每一种测试指标对应的预设权值;基于所述每一种测试指标以及相应的预设权值,计算获得所述一个参数值对应的评估值。
可选的,统计所述待解析日志文件中各个参数的取值即参数值的出现次数,包括:对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合,其中,一个第一属性集合中记录有相应的访问数据记录包含的各个指定字段表征的属性及相应取值;对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取到的每一个参数值对应的第二属性集合;一个第二属性集合中记录有相应的参数值所归属的访问数据记录包含的各个指定字段表征的属性及相应取值;基于提取到的各个参数值对应的第二属性集合,分别确定每一个参数值在每一种属性对应的不同取值中的出现次数。
可选的,分别提取出每一条访问数据记录对应的第一属性集合之后,在对各条访问数据记录对应的第一属性集合进行参数值提取之前,进一步包括:基于各条访问数据记录对应的第一属性集合,在待解析日志文件中删除符合第一预设条件的访问数据记录,所述第一预设条件表征相应的访问数据记录不具有攻击特征。
可选的,所述第一预设条件为:用于访问静态页面的访问数据记录,或/和,不包含参数的访问数据记录。
可选的,对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合,包括:对待解析日志文件进行解析,获得待解析日志文件记录的每一条访问数据记录;分别对每一条访问数据记录进行解析,确定每一条访问数据记录包含的字段,其中,一个字段表征至少一种属性;分别针对每一条访问数据记录提取出指定的字段,并记录指定的字段表征的属性及相应取值,生成相应的第一属性集合。
可选的,对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取的每一个参数值对应的第二属性集合,包括:分别对每一条访问数据记录对应的第一属性集合进行参数值提取;分别确定提取的每一个参数值所归属的访问数据记录对应的第一属性集合;分别基于每一个参数值对应的第一属性集合中指定的属性及相应取值,生成相应的第二属性集合。
可选的,基于所述目标参数值,识别出相应的扫描器,包括:基于所述目标参数值,直接识别出相应的扫描器;或者,基于所述目标参数值,在所述待解析日志文件中筛选出相关联的访问数据记录,再基于筛选出的访问数据记录,识别出相应的扫描器。
可选的,进一步包括:基于所述目标参数值在关联的每一种属性对应的不同取值中的出现次数,构建相应的拦截规则。
一种扫描器识别装置,包括:获取单元,用于获取待解析日志文件,其中,所述待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;统计单元,用于统计所述待解析日志文件中各个参数的取值即参数值的出现次数;识别单元,用于基于各个参数值的出现次数,识别扫描器。
可选的,获取所述待解析日志文件时,所述获取单元用于:获取流量日志文件,所述流量日志文件中记录有客户端侧和网络侧交互的全部访问数据记录;从所述流量日志文件中提取出与特定类型事件对应的日志文件,作为待解析日志文件。
可选的,基于各个参数值的出现次数,识别扫描器时,所述识别单元用于:基于各个参数值的出现次数,分别计算相应参数值的评估值;筛选出评估值达到设定阈值的参数值,作为目标参数值;基于所述目标参数值,识别扫描器。
可选的,基于一个参数值的出现次数计算所述一个参数值的评估值时,所述识别单元用于:确定包括所述一个参数值的每一种属性;分别确定所述一个参数值在所述每一种属性对应的不同取值中的出现次数,其中,将所述一个参数值在一种属性对应的不同取值中的出现次数作为一种测试指标;分别确定每一种测试指标对应的预设权值;基于所述每一种测试指标以及相应的预设权值,计算获得所述一个参数值对应的评估值。
可选的,统计所述待解析日志文件中各个参数的取值即参数值的出现次数时,所述统计单元用于:对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合,其中,一个第一属性集合中记录有相应的访问数据记录包含的各个指定字段表征的属性及相应取值;对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取到的每一个参数值对应的第二属性集合;一个第二属性集合中记录有相应的参数值所归属的访问数据记录包含的各个指定字段表征的属性及相应取值;基于提取到的各个参数值对应的第二属性集合,分别确定每一个参数值在每一种属性对应的不同取值中的出现次数。
可选的,分别提取出每一条访问数据记录对应的第一属性集合之后,在对各条访问数据记录对应的第一属性集合进行参数值提取之前,所述统计单元进一步用于:基于各条访问数据记录对应的第一属性集合,在待解析日志文件中删除符合第一预设条件的访问数据记录,所述第一预设条件表征相应的访问数据记录不具有攻击特征。
可选的,所述第一预设条件为:用于访问静态页面的访问数据记录,或/和,不包含参数的访问数据记录。
可选的,对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合时,所述统计单元用于:对待解析日志文件进行解析,获得待解析日志文件记录的每一条访问数据记录;分别对每一条访问数据记录进行解析,确定每一条访问数据记录包含的字段,其中,一个字段表征至少一种属性;分别针对每一条访问数据记录提取出指定的字段,并记录指定的字段表征的属性及相应取值,生成相应的第一属性集合。
可选的,对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取的每一个参数值对应的第二属性集合时,所述统计单元用于:分别对每一条访问数据记录对应的第一属性集合进行参数值提取;分别确定提取的每一个参数值所归属的访问数据记录对应的第一属性集合;分别基于每一个参数值对应的第一属性集合中指定的属性及相应取值,生成相应的第二属性集合。
可选的,基于所述目标参数值,识别出相应的扫描器时,所述识别单元用于:基于所述目标参数值,直接识别出相应的扫描器;或者,基于所述目标参数值,在所述待解析日志文件中筛选出相关联的访问数据记录,再基于筛选出的访问数据记录,识别出相应的扫描器。
可选的,所述识别单元进一步用于:基于所述目标参数值在关联的每一种属性对应的不同取值中的出现次数,构建相应的拦截规则。
一种扫描器识别系统,包括:核心交换机,用于对客户端与网络侧在交互过程中产生的流量日志文件进行镜像处理,并将获得的镜像的流量日志文件传送至识别装置;识别装置,用于从流量日志文件中获取待解析日志文件,其中,所述待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;以及统计所述待解析日志文件中各个参数的取值即参数值的出现次数,并基于各个参数值的出现次数,识别扫描器。
可选的,获取所述待解析日志文件时,所述识别装置用于:获取流量日志文件,所述流量日志文件中记录有客户端侧和网络侧交互的全部访问数据记录;从所述流量日志文件中提取出与特定类型事件对应的日志文件,作为待解析日志文件。
可选的,基于各个参数值的出现次数,识别扫描器时,所述识别装置用于:基于各个参数值的出现次数,分别计算相应参数值的评估值;筛选出评估值达到设定阈值的参数值,作为目标参数值;基于所述目标参数值,识别扫描器。
可选的,基于一个参数值的出现次数计算所述一个参数值的评估值时,所述识别装置用于:确定包括所述一个参数值的每一种属性;分别确定所述一个参数值在所述每一种属性对应的不同取值中的出现次数,其中,将所述一个参数值在一种属性对应的不同取值中的出现次数作为一种测试指标;分别确定每一种测试指标对应的预设权值;基于所述每一种测试指标以及相应的预设权值,计算获得所述一个参数值对应的评估值。
可选的,统计所述待解析日志文件中各个参数的取值即参数值的出现次数时,所述识别装置用于:对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合,其中,一个第一属性集合中记录有相应的访问数据记录包含的各个指定字段表征的属性及相应取值;对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取到的每一个参数值对应的第二属性集合;一个第二属性集合中记录有相应的参数值所归属的访问数据记录包含的各个指定字段表征的属性及相应取值;基于提取到的各个参数值对应的第二属性集合,分别确定每一个参数值在每一种属性对应的不同取值中的出现次数。
可选的,分别提取出每一条访问数据记录对应的第一属性集合之后,在对各条访问数据记录对应的第一属性集合进行参数值提取之前,所述识别装置进一步用于:基于各条访问数据记录对应的第一属性集合,在待解析日志文件中删除符合第一预设条件的访问数据记录,所述第一预设条件表征相应的访问数据记录不具有攻击特征。
可选的,所述第一预设条件为:用于访问静态页面的访问数据记录,或/和,不包含参数的访问数据记录。
可选的,对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合时,所述识别装置用于:对待解析日志文件进行解析,获得待解析日志文件记录的每一条访问数据记录;分别对每一条访问数据记录进行解析,确定每一条访问数据记录包含的字段,其中,一个字段表征至少一种属性;分别针对每一条访问数据记录提取出指定的字段,并记录指定的字段表征的属性及相应取值,生成相应的第一属性集合。
可选的,对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取的每一个参数值对应的第二属性集合时,所述识别装置用于:分别对每一条访问数据记录对应的第一属性集合进行参数值提取;分别确定提取的每一个参数值所归属的访问数据记录对应的第一属性集合;分别基于每一个参数值对应的第一属性集合中指定的属性及相应取值,生成相应的第二属性集合。
可选的,基于所述目标参数值,识别出相应的扫描器时,所述识别装置用于:基于所述目标参数值,直接识别出相应的扫描器;或者,基于所述目标参数值,在所述待解析日志文件中筛选出相关联的访问数据记录,再基于筛选出的访问数据记录,识别出相应的扫描器。
可选的,所述识别装置进一步用于:基于所述目标参数值在关联的每一种属性对应的不同取值中的出现次数,构建相应的拦截规则。
综上所述,本申请实施例中,识别装置从镜像的流量日志文件中获取待解析日志文件,所述待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;接着,识别装置统计所述待解析日志文件中各个参数的取值即参数值的出现次数,并基于各个参数值的出现次数,识别扫描器。这样,便可以从网络流量层入手,基于提取到的各个参数值在不同环境下的出现次数,识别出扫描器的访问请求的发送方式,从而提取出扫描器进行攻击时的核心特征,进而能够及时实现有效的Web应用安全防护,提高了系统可靠性。
附图说明
图1为本申请实施例中识别装置的布置环境示意图;
图2为本申请实施例中扫描器的识别流程示意图;
图3为本申请实施例中识别装置结构示意图。
具体实施方式
为了提高Web应用的安全防护的及时性和可靠性,根据本申请一个实施例,基于云环境的访问日志,提取出由于扫描器访问而产生的特征,结合数据挖掘方法,自动提取特征信息,结合安全人员的确认,快速补充WAF拦截规则,达到拦截扫描器访问的目的,阻断扫描探测行为,降低WAF性能消耗,提高Web应用的安全性。
下面结合附图对本申请各种实施方式进行详细说明。
参阅图1所示,根据本申请一个实施例,将用于识别扫描器特征的识别装置1,部署在流量入口,即在核心交换机2(如,机房入口设备)上部署流量镜像设备,将用户与网站系统之间的网络流量,复制一份到识别装置。
实际应用中,黑客可以通过扫描器3,批量向云环境的各个网站发送自身构造的访问请求,并解析各个网站返回的数据,进行特征匹配,来识别网站是否存在漏洞。这种攻击一般针对多个网站或者针对一个网站内的多个URL,并且所采用的访问请求往往具有相似性,因此可以基于这种相似性进行特征提取来识别扫描器。
参阅图2所示,本申请实施例中,识别装置对网络中的扫描器进行识别的详细流程如下:
步骤200:获取流量日志文件。
具体的,识别装置可以在镜像流量中提取出流量日志文件,在流量日志文件中记录了客户端侧和网络侧交互过程中的全部访问数据记录,一条访问数据记录中通常记录有一次用户侧发送的访问请求,因此,黑客对各个网站进行攻击时所发送的访问请求也记录在流量日志文件中。以下实施例中,为了便于描述,将一条访问数据记录称为一次访问请求。
步骤201:从流量日志文件中筛选出待解析日志文件,待解析日志文件为与特定类型事件对应的日志文件。
可选的,可以从流量日志文件中筛选出404日志作为待解析日志文件,所谓的404日志,是流量日志文件中记录了访问失败事件的日志,访问失败事件即一种特定类型事件。由于黑客在发送具有攻击性的访问请求时,并不知道网站上存在哪些漏洞,因而访问请求都是试探性地批量发送的,那么,这些批量发送的访问请求将会造成大量的访问失败事件(因为并未探测到相应的漏洞)。
例如,识别装置可以从流量日志文件中提取出响应状态码(如,Reponse_Code)为404的日志文件,这类日志文件也可简称为404日志文件。对应Reponse_Code保存的日志文件中记录了Web服务器对于访问请求的处理结果,访问成功时返回的Reponse_Code为200,访问失败时返回的Reponse_Code为404。
黑客通过扫描器发送的访问请求,是基于已知的漏洞特征(如:请求路径、文件名、参数)构造的,当扫描器扫描的Web服务器的运行环境与漏洞依赖的平台不一致时,Web服务器无法扫描到期望的漏洞,因此,返回的Reponse_Code为404,从而产生了404日志文件。
从流量日志文件中提取出404日志文件,是为了将特征提取范围进行适当缩小,以减少后续特征提取过程的执行复杂度,由于404日志文件中记录了大量的访问失败事件,因此,最有可能记录了大量黑客通过扫描器发送的访问请求的执行结果,是最能体现访问请求的特征的数据部分。
当然,如果流量日志文件的总数据量并不是很大,为了提高特征提取的精准度,也可以不提取待解析日志文件,而是将整个流量日志文件作为待解析日志文件进行解析。本实施例仅以提取待解析日志文件为可选方式进行介绍,但并不局限于此。
步骤202:对待解析日志文件进行解析,分别提取出每一条访问请求对应的第一属性集合。
本实施例中,一个第一属性集合中记录有相应的访问请求包含的各个字段表征的属性。在执行步骤202时,识别装置会对待解析日志文件进行解析,获得待解析日志文件记录的每一条访问请求,然后,分别对每一条访问请求进行解析,确定每一条访问请求包含的字段,其中,一个字段表征至少一种属性;最后,再分别针对每一条访问请求提取出指定的字段,并记录指定的字段表征的属性,生成相应的第一属性集合。
具体的,一条访问请求中可以记录有多个字段,每一个字段中记录有至少一种属性,安全人员可以根据经验从每条访问请求中提取所需要的属性。以一条访问请求为例,可以提取的属性包含但不限于:时间(Time)、域名(Host)、统一资源定位符(URL)、访问方式(Method)、传递数据(Post_Data)、响应状态码(Response_Code)等等,将提取的属性进行汇聚,则生成相应的第一属性集合。
例如,假设待解析日志文件(即404日志)中的记录了两条访问请求:
访问请求1:www.a.com/cms/index.htm?c=AAA&id=<script>alert('1')
访问请求2:www.b.net/admin/login.jsp/t=124&c=<script>alert(1)
经过解析访问请求中的字段后,参阅表1所示,提取的属性如下:
表1
其中,访问请求1的第一属性集合为{www.a.com,GET,/cms/index.htm?c=AAA&id=<script>alert('1'),NA,404}。访问请求2的第一属性集合为{www.b.net,POST,/admin/login.jsp,t=124&c=<script>alert(1),404}。
可以看出,访问请求1使用的访问方式是GET,而访问请求2使用的访问方式是POST。
对于待解析日志文件中的每一条访问请求都可以采用相同的方式进行属性提取,并生成如表1所示的列表,上述表1仅以两个访问请求为例,但并不限于此。
由表1可以看出,在待解析日志文件中记录了客户侧和网络侧交互的全部访问请求,每一条访问请求中记录了一种或多种属性的相应取值。
步骤203:基于各条访问请求对应的第一属性集合,在待解析日志文件中删除符合第一预设条件的访问请求。
可选的,经过提取属性后,识别装置可以确定各条访问请求的访问对象及访问方式,然后,识别装置会删除访问对象或/和访问方式符合第一预设条件的访问请求,这是因为,符合第一预设条件的访问请求往往不具备攻击特征;较佳的,上述第一预设条件为:用于访问静态页面的访问请求,或/和,不包含参数的访问请求。
例如,识别装置可以提取属性“URL”中记录的访问文件的扩展名。并删除扩展名为“js、css、jpg、ico等等”的访问请求。
这是因为,这些扩展名对应的访问对象都是静态资源,而静态资源通常是不会存在漏洞的,因此,为了节省后续的解析工作量,可以预先去除这些仅包含有静态资源的访问请求。
又例如,识别装置可以删除属性“URL”中不包含分隔符号“?”的访问请求,以及删除属性“Post_Data”部分为空的访问请求。
这是因为,采用“GET”方式发送访问请求时,通常会在“URL”中会采用“?”区分参数区域和非参数区域;如,访问请求1中的属性“URL”为“/cms/index.htm?c=AAA&id=<script>alert('1')”,其中,“/cms/index.htm”为非参数区域,“c=AAA&id=<script>alert('1')”为参数区域。
而采用“POST”方式发送访问请求时,通常会在属性“Post_Data”中携带参数;如,访问请求2中的属性“Post_Data”为“t=123&c=<script>alert(1)”。
因此,“URL”中不包含分隔符号“?”的访问请求,以及属性“Post_Data”部分为空的访问请求,均是不包含参数的访问请求。而不包含参数即说明不存在执行语句,那么,这类访问请求所针对的访问对象通常也不会存在漏洞,因此,为了节省后续的解析工作量,可以预先去除这些不包含参数的访问请求。
当然,步骤202仅是一种可选的实施方式,如果为了进一上提高特征提取的精准度,也可以不执行步骤202,而是针对流量日志文件中记录的所有访问请求进行整体分析。
步骤204:对各条访问请求对应的第一属性集合进行参数值提取,并获得提取的每一个参数值对应的第二属性集合。
本实施例中,表1所示的每一条访问请求中记录了一种或多种属性的相应取值,而至少一种取值中包括一个或多个参数,参数的取值称为参数值。一个参数值对应的第二属性集合中记录有相应的参数值所归属的访问请求包含的各个指定字段表征的属性。
具体的,在执行步骤204时,识别装置可以分别对每一条访问请求对应的第一属性集合进行参数值提取,然后,分别确定提取的每一个参数值所归属的访问请求对应的第一属性集合,最后,分别基于每一个参数值对应的第一属性集合中指定的属性,生成相应的第二属性集合。可以看出,一个参数值对应的第二属性集合,与该一个参数值所归属的访问请求对应的第一属性集合,可以相同,也可以不相同,第二属性集合可以是在相应的第一属性集合上进一步筛选指定的属性后获得的,在此不再赘述。
参阅表2所示,仍以上述访问请求1和访问请求2为例,可以分别对每一条访问日志中记录的访问请求进行参数值提取(也可以称为参数值切分),确定每一参数值对应的第二属性集合。
表2
如,针对访问请求1,在分隔符“?”后面即是参数区域“c=AAA&id=<script>alert('1')”,并且用于符号“&”分隔出多个参数名称及相应的参数值,那么,访问请求1中便存在两个参数,一个参数名称为c,参数值为AAA,另一个为参数名称为id,参数值为<script>alert('1')。
实际应用中,由于参数名称的定义因人而异,因而,不同取值的参数有可能被冠以相同的参数名称,为了从根本上区分不同的参数,本实施例中,可选的,从参数值的角度进行参数区分,而不是通过参数名称。
例如,如表2所示,识别装置从访问请求1中分离出参数名称“c”和参数值“AAA”,进而提取出参数值“AAA”,那么,参数值“AAA”对应的第二属性集合为:属性“param_name=c”,属性“host=www.a.com”,属性“url=/cms/index.htm”。
进一步地,识别装置从访问请求1中继续分离出参数名称“id”和参数值“<script>alert(1)”,进而提取出参数值“<script>alert(1)”,那么,参数值“<script>alert(1)”对应的第二属性集合为:属性“param_name=id”,属性“host=www.a.com”,属性“url=/cms/index.htm”。
又例如:如表2所示,对于POST请求,解析POST_Data,与GET部分处理相同,分离出参数名和参数值。
具体的,识别装置从访问请求2中分离出参数名称“t”和参数值“123”,进而提取出参数值“123”,那么,参数值“123”对应的第二属性集合为:属性“param_name=t”,属性“host=www.b.net”,属性“url=admin/login.jsp”。
进一步地,识别装置从访问请求2中分离出参数名称“c”和参数值“<script>alert(1)”,进而提取出参数值“<script>alert(1)”,那么,参数值“<script>alert(1)”对应的第二属性集合为:属性“param_name=c”,属性“host=www.b.com”,属性“url=admin/login.jsp”。
由表2可以看出,同一个参数值“<script>alert(1)”在不同的访问请求中对应了不同的参数名称、域名和URL,假设<script>alert(1)是实现攻击的语句,那么,<script>alert(1)便可以通过采用GET方式发送的访问请求1实现攻击,也可以通过采用POST方式发送的访问请求2实现攻击,由此可见,一个参数的其他属性是可以随环境不同而变化的,但是能够体现攻击行为的参数值却通常是不变的,因此,从参数值的角度判定相应的访问请求是否来自于扫描器,有着更为精准的辨识度。
步骤205:基于各个参数值对应的第二属性集合,删除符合第二预设条件的参数值。
可选的,第二预设条件可以设置为正则表达式^[0-9A-Za-z]*$,该正则表达式所表征的意思是,只包含数字和字母的参数值,因为此类参数值不具备攻击特征,因此,为了节省后续处理量,可以预先予以删除。
当然,如果预先已获知不具备攻击特征的其他类型参数值的白名单,也可以将该白名单设置在第二预设条件中。
步骤206:基于每一个参数值对应的第二属性集合,分别确定每一个参数值对应的测试指标集合,其中,一个参数值对应的一个测试指标,表征所述一个参数值在一种属性对应的不同取值下的出现次数。
经过步骤200-步骤205的处理后,剩余的大多是具有攻击特征的参数值,以及对应相关属性,本实施例中,可以基于剩余的属性设置测试指标,其中,一个参数值可以对应多个测试指标,而一个参数值对应的一个测试指标表征该一个参数值在一种属性对应的不同取值下的出现次数。
具体的,以一个参数值(以下称为参数值X)为例,在确定参数值x对应的测试指标集合时,首先需要确定包括参数值X的每一种属性,然后,分别确定参数值X在上述每一种属性对应的不同取值中的出现次数,其中,将参数值X在一种属性对应的不同取值中的出现次数作为一种测试指标,这样,基于上述每一种属性就可以获得参数值X对应的测试指标集合。
例如,假设基于属性“param_name”,“host”和“url”分别设置了相应的测试指标,具体如下:
host_cnt,一个参数值在所有访问请求中对应的不同域名总数目;
url_cnt,一个参数值在所有访问请求中对应的不同请求路径总数目;
param_cnt,一个参数值在所有访问请求中对应的不同参数名总数目。
表3
param_value host_cnt url_cnt name_cnt
<script>alert(1); 2 2 2
123 1 1 1
AAA 1 1 1
参阅表3所示,基于表2一共提取出不重复的三种参数值,其各自对应的测试指标集合如下:
<script>alert(1):在不同的域名下共出现2次,在不同的url下共出现2次,在不同的参数名称下共出现2次;
123:在不同的域名下共出现1次,在不同的url下共出现1次,在不同的参数名称下共出现1次;
AAA:在不同的域名下共出现1次,在不同的url下共出现1次,在不同的参数名称下共出现1次。
步骤207:基于每一个参数值对应的测试指标集合,分别计算每一个参数值的评估值。
具体的,仍以参数值X为例,在计算参数值X的评估值时,需要分别确定参数值X关联的每一种测试指标对应的预设权值,然后,基于所述每一种测试指标以及相应的预设权值,计算获得参数值X对应的评估值。
例如,可以采用的评估值的计算方式可以采用但不限于以下方式:
S=A*host_cnt+B*url_cnt+C*name_cnt
其中,S为评估值,A、B、C分别为相应测试指标的预设权值,可以根据实际的安全环境调整取值,如,一个取值方式为:1:1:1。
采用上述方式,针对每一个参数值,可以获得相应的评估值。
步骤208:筛选出评估值达到设定阈值的目标参数值。
采用步骤207计算出各个参数值的评估值后,可以发现,分值越高的参数值,在各个属性的不同取值下的不重复出现总次数越高,这可能是扫描器通过多种方式发送海量访问请求进行试探性攻击的结果,因此,分值越高的参数值,越有可能是扫描器发送的。因而,本实施例中,需要安全人员根据经验设置一个阈值,评估值超过这个阈值的便可视为可疑的目标参数值。
步骤209:基于获得的目标参数值,识别出相应的扫描器。
例如,假设获得的某一个目标参数值为:“@eval(base64_decode($_POST[z0]))”,由于这类目标参数值很常见,那么,识别装置可以直接识别出该目标参数值这是由“一句话木马漏洞扫描器”产生的。
又例如,假设获得的某一个目标参数值为:“${@print(md5(acunetix_wvs_security_test))}”,由于这类目标参数值并不常见,仅由目标参数值本身无法准确识别出相应的扫描器,那么,识别装置可以先查找到目标参数值关联的访问请求,再根据访问请求中记录的其他信息,确定出该目标参数值是由Acunetix安全公司的Acunetix网络漏洞扫描器(Acunetix Web Vulnerability Scanner)的产生的。
可见,识别装置可以直接基于目标参数值识别出相应的扫描器,也可以基于目标参数值先在待解析日志文件中筛选出相关联的访问请求,并基于筛选出的访问请求,识别出相应的扫描器。
本实施例中,之所以采用目标评估值进行扫描器识别,是考虑了均衡不同测试指标的影响因素,因此,基于多个测试指标及相应的预设权值计算并筛选出目标评估值后,再进行扫描器识别。
实际应用中,若采用一种测试指标即可以准确识别出扫描器,则也可以不计算并筛选目标评估值,而是直接基于参数值的出现次数识别相应的扫描器。仍以参数值X为例,假设识别装置从待解析日志文件中只统计到一个参数值X,且包含参数值X的属性只有一个,假设称为属性X,那么,可以基于参数值X在属性X的不同取值下的出现次数(相同于仅存在一种测试指标),直接识别相应的扫描器,而无需进一步计算并筛选目标评估值。当然,此种情况仅为举例,并不局限于这一种情况,在此不再赘述。
进一步地,基于测试指标集合,识别装置可以查找到目标参数值都在哪些属性的哪些取值下出现过,因此,识别装置可以将每一个目标参数值对应的目测试指标集合作为特征,构造相应的扫描器拦截规则。
例如,假设识别出的目标参数值为“#a_resp=#context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),#a_resp.getWriter().println(#a_str.concat(#b_str)),#a_resp.getWriter().flush(),#a_resp.getWriter().close()}"”;则识别装置可以基于目标参数值中出现率最高的字段,制定新的拦截规则“a_resp.getWriter()”。
又例如:假设识别出的目标参数值为“';${@print(md5(812812))}”;
则识别装置会针对执行命令“print”制定新的拦截规则“${@print”。
后续流程中,若识别装置发现访问请求内包含有拦截规则记录的字符,则实施拦截,这样可以完善扫描器防护产品(如,WAF)的安全等级。
基于上述实施例,参阅图3所示,本申请实施例中,识别装置包括至少包括:获取单元30、统计单元31和识别单元32,其中,
获取单元30,用于获取待解析日志文件,其中,所述待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;
统计单元31,用于统计所述待解析日志文件中各个参数的取值即参数值的出现次数;
识别单元32,用于基于各个参数值的出现次数,识别扫描器。
可选的,获取所述待解析日志文件时,获取单元30用于:获取流量日志文件,所述流量日志文件中记录有客户端侧和网络侧交互的全部访问数据记录;从所述流量日志文件中提取出与特定类型事件对应的日志文件,作为待解析日志文件。
可选的,基于各个参数值的出现次数,识别扫描器时,识别单元32用于:基于各个参数值的出现次数,分别计算相应参数值的评估值;筛选出评估值达到设定阈值的参数值,作为目标参数值;基于所述目标参数值,识别扫描器。
可选的,基于一个参数值的出现次数计算所述一个参数值的评估值时,识别单元32用于:确定包括所述一个参数值的每一种属性;分别确定所述一个参数值在所述每一种属性对应的不同取值中的出现次数,其中,将所述一个参数值在一种属性对应的不同取值中的出现次数作为一种测试指标;分别确定每一种测试指标对应的预设权值;基于所述每一种测试指标以及相应的预设权值,计算获得所述一个参数值对应的评估值。
可选的,统计所述待解析日志文件中各个参数的取值即参数值的出现次数时,统计单元31用于:对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合,其中,一个第一属性集合中记录有相应的访问数据记录包含的各个指定字段表征的属性及相应取值;对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取到的每一个参数值对应的第二属性集合;一个第二属性集合中记录有相应的参数值所归属的访问数据记录包含的各个指定字段表征的属性及相应取值;基于提取到的各个参数值对应的第二属性集合,分别确定每一个参数值在每一种属性对应的不同取值中的出现次数。
可选的,分别提取出每一条访问数据记录对应的第一属性集合之后,在对各条访问数据记录对应的第一属性集合进行参数值提取之前,统计单元31进一步用于:基于各条访问数据记录对应的第一属性集合,在待解析日志文件中删除符合第一预设条件的访问数据记录,所述第一预设条件表征相应的访问数据记录不具有攻击特征。
可选的,所述第一预设条件为:用于访问静态页面的访问数据记录,或/和,不包含参数的访问数据记录。
可选的,对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合时,统计单元31用于:对待解析日志文件进行解析,获得待解析日志文件记录的每一条访问数据记录;分别对每一条访问数据记录进行解析,确定每一条访问数据记录包含的字段,其中,一个字段表征至少一种属性;分别针对每一条访问数据记录提取出指定的字段,并记录指定的字段表征的属性及相应取值,生成相应的第一属性集合。
可选的,对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取的每一个参数值对应的第二属性集合时,统计单元31用于:分别对每一条访问数据记录对应的第一属性集合进行参数值提取;分别确定提取的每一个参数值所归属的访问数据记录对应的第一属性集合;分别基于每一个参数值对应的第一属性集合中指定的属性及相应取值,生成相应的第二属性集合。
可选的,基于所述目标参数值,识别出相应的扫描器时,识别单元32用于:基于所述目标参数值,直接识别出相应的扫描器;或者,基于所述目标参数值,在所述待解析日志文件中筛选出相关联的访问数据记录,再基于筛选出的访问数据记录,识别出相应的扫描器。
可选的,识别单元32进一步用于:基于所述目标参数值在关联的每一种属性对应的不同取值中的出现次数,构建相应的拦截规则。
参阅图1所示,本发明实施例中,扫描器识别系统至少包括:识别装置1和核心交换机2,其中,
核心交换机2,用于对客户端与网络侧在交互过程中产生的流量日志文件进行镜像处理,并将获得的镜像的流量日志文件传送至识别装置;
识别装置1,用于从流量日志文件中获取待解析日志文件,其中,所述待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;以及统计所述待解析日志文件中各个参数的取值即参数值的出现次数,并基于各个参数值的出现次数,识别扫描器。
可选的,获取所述待解析日志文件时,识别装置1用于:获取流量日志文件,所述流量日志文件中记录有客户端侧和网络侧交互的全部访问数据记录;从所述流量日志文件中提取出与特定类型事件对应的日志文件,作为待解析日志文件。
可选的,基于各个参数值的出现次数,识别扫描器时,识别装置1用于:基于各个参数值的出现次数,分别计算相应参数值的评估值;筛选出评估值达到设定阈值的参数值,作为目标参数值;基于所述目标参数值,识别扫描器。
可选的,基于一个参数值的出现次数计算所述一个参数值的评估值时,识别装置1用于:确定包括所述一个参数值的每一种属性;分别确定所述一个参数值在所述每一种属性对应的不同取值中的出现次数,其中,将所述一个参数值在一种属性对应的不同取值中的出现次数作为一种测试指标;分别确定每一种测试指标对应的预设权值;基于所述每一种测试指标以及相应的预设权值,计算获得所述一个参数值对应的评估值。
可选的,统计所述待解析日志文件中各个参数的取值即参数值的出现次数时,识别装置1用于:对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合,其中,一个第一属性集合中记录有相应的访问数据记录包含的各个指定字段表征的属性及相应取值;对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取到的每一个参数值对应的第二属性集合;一个第二属性集合中记录有相应的参数值所归属的访问数据记录包含的各个指定字段表征的属性及相应取值;基于提取到的各个参数值对应的第二属性集合,分别确定每一个参数值在每一种属性对应的不同取值中的出现次数。
可选的,分别提取出每一条访问数据记录对应的第一属性集合之后,在对各条访问数据记录对应的第一属性集合进行参数值提取之前,识别装置1进一步用于:基于各条访问数据记录对应的第一属性集合,在待解析日志文件中删除符合第一预设条件的访问数据记录,所述第一预设条件表征相应的访问数据记录不具有攻击特征。
可选的,所述第一预设条件为:用于访问静态页面的访问数据记录,或/和,不包含参数的访问数据记录。
可选的,对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合时,识别装置1用于:对待解析日志文件进行解析,获得待解析日志文件记录的每一条访问数据记录;分别对每一条访问数据记录进行解析,确定每一条访问数据记录包含的字段,其中,一个字段表征至少一种属性;分别针对每一条访问数据记录提取出指定的字段,并记录指定的字段表征的属性及相应取值,生成相应的第一属性集合。
可选的,对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取的每一个参数值对应的第二属性集合时,识别装置1用于:分别对每一条访问数据记录对应的第一属性集合进行参数值提取;分别确定提取的每一个参数值所归属的访问数据记录对应的第一属性集合;分别基于每一个参数值对应的第一属性集合中指定的属性及相应取值,生成相应的第二属性集合。
可选的,基于所述目标参数值,识别出相应的扫描器时,识别装置1用于:基于所述目标参数值,直接识别出相应的扫描器;或者,基于所述目标参数值,在所述待解析日志文件中筛选出相关联的访问数据记录,再基于筛选出的访问数据记录,识别出相应的扫描器。
可选的,识别装置1进一步用于:基于所述目标参数值在关联的每一种属性对应的不同取值中的出现次数,构建相应的拦截规则。
综上所述,本申请实施例中,识别装置从镜像的流量日志文件中获取待解析日志文件,所述待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;接着,识别装置统计所述待解析日志文件中各个参数的取值即参数值的出现次数,并基于各个参数值的出现次数,识别扫描器。这样,便可以从网络流量层入手,基于提取到的各个参数值在不同环境下的出现次数,识别出扫描器的访问请求的发送方式,从而提取出扫描器进行攻击时的核心特征,进而能够及时实现有效的Web应用安全防护,提高了系统可靠性。
同时,本申请实施例提供的技术方案并不针对特定的扫描器,而是能够识别出新的扫描器及黑客新构造的攻击特征,是一种通用检测方法。并且由于技术方案的实现部署在网络层,不需要切入业务系统,因此,不涉及业务系统的改造,实施成本较低。
进一步地,本申请实施例中,还可以根据目标参数值及其对应的测试指标集合,构建新的拦截规则,并发布到扫描器防护产品(如,WAF)中,这样,当扫描器防护产品基于新的拦截规则运行时,便可以成功识别新的扫描器并进行有效拦截,阻断扫描器对Web应用的试探性扫描,避免暴露存在的漏洞,减少黑客攻击面,从而进一步提高系统安全性。
同时,对于扫描器防护产品而言,实时构建新的拦截规则,具有一定的优化帮助作用,因为可以通过简装拦截规则的建立实现扫描器拦截,从而降低复杂拦截规则的执行次数,提高了防御性能及防御效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (13)

1.一种扫描器识别方法,其特征在于,包括:
获取待解析日志文件,其中,所述待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;
统计所述待解析日志文件中各个参数的取值即参数值的出现次数;
基于各个参数值的出现次数,识别扫描器。
2.如权利要求1所述的方法,其特征在于,获取待解析日志文件,包括:
获取流量日志文件,所述流量日志文件中记录有客户端侧和网络侧交互的全部访问数据记录;
从所述流量日志文件中提取出与特定类型事件对应的日志文件,作为待解析日志文件。
3.如权利要求1或2所述的方法,其特征在于,基于各个参数值的出现次数,识别扫描器,包括:
基于各个参数值的出现次数,分别计算相应参数值的评估值;
筛选出评估值达到设定阈值的参数值,作为目标参数值;
基于所述目标参数值,识别扫描器。
4.如权利要求3所述的方法,其特征在于,基于一个参数值的出现次数计算所述一个参数值的评估值,包括:
确定包括所述一个参数值的每一种属性;
分别确定所述一个参数值在所述每一种属性对应的不同取值中的出现次数,其中,将所述一个参数值在一种属性对应的不同取值中的出现次数作为一种测试指标;
分别确定每一种测试指标对应的预设权值;
基于所述每一种测试指标以及相应的预设权值,计算获得所述一个参数值对应的评估值。
5.如权利要求3所述的方法,其特征在于,统计所述待解析日志文件中各个参数的取值即参数值的出现次数,包括:
对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合,其中,一个第一属性集合中记录有相应的访问数据记录包含的各个指定字段表征的属性及相应取值;
对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取到的每一个参数值对应的第二属性集合;一个第二属性集合中记录有相应的参数值所归属的访问数据记录包含的各个指定字段表征的属性及相应取值;
基于提取到的各个参数值对应的第二属性集合,分别确定每一个参数值在每一种属性对应的不同取值中的出现次数。
6.如权利要求5所述的方法,其特征在于,分别提取出每一条访问数据记录对应的第一属性集合之后,在对各条访问数据记录对应的第一属性集合进行参数值提取之前,进一步包括:
基于各条访问数据记录对应的第一属性集合,在待解析日志文件中删除符合第一预设条件的访问数据记录,所述第一预设条件表征相应的访问数据记录不具有攻击特征。
7.如权利要求6所述的方法,其特征在于,所述第一预设条件为:用于访问静态页面的访问数据记录,或/和,不包含参数的访问数据记录。
8.如权利要求5所述的方法,其特征在于,对待解析日志文件进行解析,分别提取出每一条访问数据记录对应的第一属性集合,包括:
对待解析日志文件进行解析,获得待解析日志文件记录的每一条访问数据记录;
分别对每一条访问数据记录进行解析,确定每一条访问数据记录包含的字段,其中,一个字段表征至少一种属性;
分别针对每一条访问数据记录提取出指定的字段,并记录指定的字段表征的属性及相应取值,生成相应的第一属性集合。
9.如权利要求5所述的方法,其特征在于,对各条访问数据记录对应的第一属性集合进行参数值提取,并获得提取的每一个参数值对应的第二属性集合,包括:
分别对每一条访问数据记录对应的第一属性集合进行参数值提取;
分别确定提取的每一个参数值所归属的访问数据记录对应的第一属性集合;
分别基于每一个参数值对应的第一属性集合中指定的属性及相应取值,生成相应的第二属性集合。
10.如权利要求3所述的方法,其特征在于,基于所述目标参数值,识别出相应的扫描器,包括:
基于所述目标参数值,直接识别出相应的扫描器;或者,
基于所述目标参数值,在所述待解析日志文件中筛选出相关联的访问数据记录,再基于筛选出的访问数据记录,识别出相应的扫描器。
11.如权利要求3所述的方法,其特征在于,进一步包括:
基于所述目标参数值在关联的每一种属性对应的不同取值中的出现次数,构建相应的拦截规则。
12.一种扫描器识别装置,其特征在于,包括:
获取单元,用于获取待解析日志文件,其中,所述待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;
统计单元,用于统计所述待解析日志文件中各个参数的取值即参数值的出现次数;
识别单元,用于基于各个参数值的出现次数,识别扫描器。
13.一种扫描器识别系统,其特征在于,包括:
核心交换机,用于对客户端与网络侧在交互过程中产生的流量日志文件进行镜像处理,并将获得的镜像的流量日志文件传送至识别装置;
识别装置,用于从流量日志文件中获取待解析日志文件,其中,所述待解析日志文件中记录了客户侧和网络侧交互的访问数据记录,所述访问数据记录中记录了一种或多种属性的相应取值,至少一种取值中包括一个或多个参数,参数的取值称为参数值;以及统计所述待解析日志文件中各个参数的取值即参数值的出现次数,并基于各个参数值的出现次数,识别扫描器。
CN201610500794.7A 2016-06-29 2016-06-29 一种扫描器识别方法、装置及系统 Active CN107547490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610500794.7A CN107547490B (zh) 2016-06-29 2016-06-29 一种扫描器识别方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610500794.7A CN107547490B (zh) 2016-06-29 2016-06-29 一种扫描器识别方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107547490A true CN107547490A (zh) 2018-01-05
CN107547490B CN107547490B (zh) 2020-12-04

Family

ID=60965922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610500794.7A Active CN107547490B (zh) 2016-06-29 2016-06-29 一种扫描器识别方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107547490B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108900486A (zh) * 2018-06-19 2018-11-27 杭州默安科技有限公司 一种扫描器指纹识别方法及其系统
CN109309665A (zh) * 2018-08-22 2019-02-05 阿里巴巴集团控股有限公司 一种访问请求处理方法及装置、一种计算设备及存储介质
CN110138720A (zh) * 2019-03-21 2019-08-16 秒针信息技术有限公司 网络流量的异常分类检测方法、装置、存储介质和处理器
CN110336826A (zh) * 2019-07-12 2019-10-15 北京字节跳动网络技术有限公司 一种接口参数类型的获取方法、装置、设备及存储介质
CN111314326A (zh) * 2020-02-01 2020-06-19 深信服科技股份有限公司 Http漏洞扫描主机的确认方法、装置、设备及介质
CN115296941A (zh) * 2022-10-10 2022-11-04 北京知其安科技有限公司 检测流量安全监测设备的方法、攻击请求生成方法及设备
CN115333873A (zh) * 2022-10-17 2022-11-11 华中科技大学 一种基于行为模式的攻击url检测方法、装置及系统
CN116582371A (zh) * 2023-07-13 2023-08-11 上海观安信息技术股份有限公司 扫描器的检测方法及装置、存储介质、电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072089A (zh) * 2015-07-10 2015-11-18 中国科学院信息工程研究所 一种web恶意扫描行为异常检测方法与系统
CN105357195A (zh) * 2015-10-30 2016-02-24 深圳市深信服电子科技有限公司 web访问的越权漏洞检测方法及装置
CN105554007A (zh) * 2015-12-25 2016-05-04 北京奇虎科技有限公司 一种web异常检测方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072089A (zh) * 2015-07-10 2015-11-18 中国科学院信息工程研究所 一种web恶意扫描行为异常检测方法与系统
CN105357195A (zh) * 2015-10-30 2016-02-24 深圳市深信服电子科技有限公司 web访问的越权漏洞检测方法及装置
CN105554007A (zh) * 2015-12-25 2016-05-04 北京奇虎科技有限公司 一种web异常检测方法和装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108900486A (zh) * 2018-06-19 2018-11-27 杭州默安科技有限公司 一种扫描器指纹识别方法及其系统
CN108900486B (zh) * 2018-06-19 2020-11-27 杭州默安科技有限公司 一种扫描器指纹识别方法及其系统
CN109309665B (zh) * 2018-08-22 2021-03-05 创新先进技术有限公司 一种访问请求处理方法及装置、一种计算设备及存储介质
CN109309665A (zh) * 2018-08-22 2019-02-05 阿里巴巴集团控股有限公司 一种访问请求处理方法及装置、一种计算设备及存储介质
CN110138720A (zh) * 2019-03-21 2019-08-16 秒针信息技术有限公司 网络流量的异常分类检测方法、装置、存储介质和处理器
CN110138720B (zh) * 2019-03-21 2021-08-24 秒针信息技术有限公司 网络流量的异常分类检测方法、装置、存储介质和处理器
CN110336826A (zh) * 2019-07-12 2019-10-15 北京字节跳动网络技术有限公司 一种接口参数类型的获取方法、装置、设备及存储介质
CN110336826B (zh) * 2019-07-12 2021-06-08 北京字节跳动网络技术有限公司 一种接口参数类型的获取方法、装置、设备及存储介质
CN111314326A (zh) * 2020-02-01 2020-06-19 深信服科技股份有限公司 Http漏洞扫描主机的确认方法、装置、设备及介质
CN111314326B (zh) * 2020-02-01 2022-06-21 深信服科技股份有限公司 Http漏洞扫描主机的确认方法、装置、设备及介质
CN115296941A (zh) * 2022-10-10 2022-11-04 北京知其安科技有限公司 检测流量安全监测设备的方法、攻击请求生成方法及设备
CN115333873A (zh) * 2022-10-17 2022-11-11 华中科技大学 一种基于行为模式的攻击url检测方法、装置及系统
CN115333873B (zh) * 2022-10-17 2023-02-03 华中科技大学 一种基于行为模式的攻击url检测方法、装置及系统
CN116582371A (zh) * 2023-07-13 2023-08-11 上海观安信息技术股份有限公司 扫描器的检测方法及装置、存储介质、电子设备
CN116582371B (zh) * 2023-07-13 2023-09-22 上海观安信息技术股份有限公司 扫描器的检测方法及装置、存储介质、电子设备

Also Published As

Publication number Publication date
CN107547490B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN107547490B (zh) 一种扫描器识别方法、装置及系统
US10560471B2 (en) Detecting web exploit kits by tree-based structural similarity search
CN112383546B (zh) 一种处理网络攻击行为的方法、相关设备及存储介质
US9509714B2 (en) Web page and web browser protection against malicious injections
US20180309772A1 (en) Method and device for automatically verifying security event
CN107370719B (zh) 异常登录识别方法、装置及系统
CN103279710B (zh) Internet信息系统恶意代码的检测方法和系统
CN108573146A (zh) 一种恶意url检测方法及装置
JP6039826B2 (ja) 不正アクセスの検知方法および検知システム
KR101132197B1 (ko) 악성 코드 자동 판별 장치 및 방법
CN112887341B (zh) 一种外部威胁监控方法
CN106534146A (zh) 一种安全监测系统及方法
CN111104579A (zh) 一种公网资产的识别方法、装置及存储介质
US20190182283A1 (en) Log analysis device, log analysis method, and log analysis program
JP5813810B2 (ja) ブラックリスト拡充装置、ブラックリスト拡充方法およびブラックリスト拡充プログラム
CN107911232B (zh) 一种确定业务操作规则的方法及装置
CN114338064B (zh) 识别网络流量类型的方法、装置、系统、设备和存储介质
US20180004939A1 (en) Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored
CN110691080A (zh) 自动溯源方法、装置、设备及介质
CN114915479A (zh) 一种基于Web日志的Web攻击阶段分析方法及系统
CN111625837A (zh) 识别系统漏洞的方法、装置和服务器
CN113535823B (zh) 异常访问行为检测方法、装置及电子设备
CN108804501B (zh) 一种检测有效信息的方法及装置
CN114285639A (zh) 一种网站安全防护方法及装置
US11159548B2 (en) Analysis method, analysis device, and analysis program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant