CN111756728A - 一种漏洞攻击检测的方法及装置 - Google Patents

一种漏洞攻击检测的方法及装置 Download PDF

Info

Publication number
CN111756728A
CN111756728A CN202010580282.2A CN202010580282A CN111756728A CN 111756728 A CN111756728 A CN 111756728A CN 202010580282 A CN202010580282 A CN 202010580282A CN 111756728 A CN111756728 A CN 111756728A
Authority
CN
China
Prior art keywords
probability
request
determining
preset
association analysis
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
CN202010580282.2A
Other languages
English (en)
Other versions
CN111756728B (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.)
WeBank Co Ltd
Original Assignee
WeBank Co 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202010580282.2A priority Critical patent/CN111756728B/zh
Publication of CN111756728A publication Critical patent/CN111756728A/zh
Application granted granted Critical
Publication of CN111756728B publication Critical patent/CN111756728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种漏洞攻击检测的方法及装置,该方法包括获取业务访问请求,根据所述多个字段中的预设字段,从白名单中确定预设字段对应的概率,得到白名单概率,根据多个字段中的协议类型字段中协议类型,确定出特征匹配概率,根据多个字段中URL字段和预设多个关联分析规则,确定出关联分析概率,根据业务访问请求的白名单概率、特征匹配概率、关联分析概率和预设的权重,确定出攻击概率,若攻击概率大于预设阈值,则确定业务访问请求为漏洞攻击。结合多个维度的攻击概率分析,得到的业务访问请求的攻击概率,相比仅依靠单一关键词匹配的漏洞攻击检测方式,可以提高漏洞攻击检测的准确率,避免出现现有技术中误拦业务正常流量的问题。

Description

一种漏洞攻击检测的方法及装置
技术领域
本发明实施例涉及金融科技(Fintech)领域,尤其涉及一种漏洞攻击检测的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。在金融领域的业务访问过程中,如何进行SSRF(Server-Side Request Forgery,服务器端请求伪造)漏洞检测防御是一个重要的问题。
SSRF漏洞,是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。目前,Internet(互联网)上开放的Web应用大部分是运行在内部网络边界场景下的,通过代理技术将最终的网络结果返回给请求连接的外网客户端用户,而在大多数的Web网页应用中存在该类攻击的主要原因是程序对发起用户指定的网络请求资源边界缺乏有效的验证及过滤机制,因此该漏洞容易对业务所处的内网环境形成“代理式”攻击和探测。
目前SSRF漏洞检测防御技术是通过部署在正常用户与业务之间的前置安全检测***,完成对所有业务流量的校验和处理。其中针对SSRF漏洞攻击防御的审计规则,通常是对流量数据内容基于关键词进行匹配。
但是这种基于关键词匹配的SSRF漏洞检测防御技术对特征词的精准度和覆盖度要求较高。如果特征策略制定不太精准,容易误拦业务正常流量,造成业务正常访问失败,影响业务稳定性。
发明内容
本发明实施例提供了一种漏洞攻击检测的方法及装置,可以解决现有技术中容易误拦业务正常流量的问题。
第一方面,本发明实施例提供了一种漏洞攻击检测的方法,包括:
获取业务访问请求,所述业务访问请求包括多个字段的数据;
根据所述多个字段中的预设字段,从白名单中确定所述预设字段对应的概率,得到所述业务访问请求的白名单概率;
根据所述多个字段中的协议类型字段中协议类型,确定出所述业务访问请求的特征匹配概率;
根据所述多个字段中URL(Uniform Resource Locator,统一资源定位符)字段和预设多个关联分析规则,确定出所述预设多个关联分析规则对应概率;将所述预设多个关联分析规则对应概率的和,确定为所述业务访问请求的关联分析概率;
根据所述业务访问请求的白名单概率、特征匹配概率、关联分析概率和预设的权重,确定出所述业务访问请求的攻击概率;
若所述业务访问请求的攻击概率大于预设阈值,则确定所述业务访问请求为漏洞攻击。
上述技术方案中,结合多个维度的攻击概率分析,分别得到白名单概率、特征匹配概率和关联分析概率,进而得到的业务访问请求的攻击概率,相比仅依靠单一关键词匹配的漏洞攻击检测方式,可以提高漏洞攻击检测的准确率,避免出现现有技术中误拦业务正常流量的问题。
可选的,所述业务访问请求包括请求时间;
所述根据所述多个字段中的预设字段,从白名单中确定所述预设字段对应的概率,得到所述业务访问请求的白名单概率,包括:
将所述请求时间与所述白名单中所述预设字段对应的初始概率的记录时间输入至衰减函数中,得到所述预设字段在所述请求时间对应的衰减概率;
将所述预设字段在所述请求时间对应的衰减概率,确定为所述业务访问请求对应的白名单概率。
上述技术方案中,由于白名单中预设字段对应的概率具有衰减性,依据请求时间可以使得确定出的业务访问请求对应的白名单概率更加准确,进一步提高了漏洞攻击检测的准确率。
可选的,所述衰减函数由下述公式来确定;
所述公式为:
N0e-α(t+l)=N(t)
其中,N(t)为请求时间t对应的衰减概率,N0为初始概率,t为请求时间,l为初始概率的记录时间,α为衰减率。
可选的,所述根据所述多个字段中的协议类型字段中协议类型,确定出所述业务访问请求的特征匹配概率,包括:
依据所述协议类型,从预设的各协议类型与概率的对应关系中确定出所述协议类型对应的概率;
将所述协议类型对应的概率,确定为所述特征匹配概率。
可选的,所述根据所述多个字段中URL字段和预设多个关联分析规则,确定出所述预设多个关联分析规则对应概率,包括:
确定出所述URL字段中的URL对应的业务接口在预设间隔时间内的URL请求日志信息;
对URL请求日志信息进行分析,得到所述URL请求的请求参数、公共网关接口、公共网关接口的响应状态码、访问来源IP、服务IP和访问时间;
根据所述请求参数、公共网关接口、公共网关接口的响应状态码、访问来源IP、服务IP、访问时间以及所述预设多个关联分析规则确定出所述预设多个关联分析规则对应概率。
上述技术方案中,依据关联分析规则得到的概率,可以提高漏洞攻击检测的判别标准。
可选的,所述根据所述请求参数、公共网关接口、公共网关接口的响应状态码、访问来源IP、服务IP、访问时间以及所述预设多个关联分析规则确定出所述预设多个关联分析规则对应概率,包括:
若所述URL请求的请求参数包含请求目标的公共网关接口的值,则确定符合预设的第一关联分析规则,从各关联分析规则与概率的对应关系中,确定出所述第一关联分析规则的概率;
若所述URL请求中所述公共网关接口的响应状态码为第一阈值,则确定符合预设的第二关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第二关联分析规则的概率;
若所述URL请求中所述请求目标的访问来源IP为所述服务IP,则确定符合预设的第三关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第三关联分析规则的概率;
若所述URL请求中所述请求目标的访问时间大于所述业务接口的访问时间,则确定符合预设的第四关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第四关联分析规则的概率;
若所述URL请求中所述请求目标的访问时间与所述业务接口的访问时间的差值小于等所述预设间隔时间,则确定符合预设的第五关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第五关联分析规则的概率。
通过对URL请求中的各字段中包含的值来确定是否符合预设的关联分析规则,进而可以得到各关联分析规则对应的概率。
可选的,在获取所述多个字段的数据之前,还包括:
依据HTTP(Hyper Text Transfer Protocol,超文本传输协议)将所述业务访问请求进行标准化分析,得到所述多个字段的数据。
第二方面,本发明实施例提供一种漏洞攻击检测的装置,包括:
获取单元,用于获取业务访问请求,所述业务访问请求包括多个字段的数据;
处理单元,用于根据所述多个字段中的预设字段,从白名单中确定所述预设字段对应的概率,得到所述业务访问请求的白名单概率;根据所述多个字段中的协议类型字段中协议类型,确定出所述业务访问请求的特征匹配概率;根据所述多个字段中统一资源定位符URL字段和预设多个关联分析规则,确定出所述预设多个关联分析规则对应概率;将所述预设多个关联分析规则对应概率的和,确定为所述业务访问请求的关联分析概率;根据所述业务访问请求的白名单概率、特征匹配概率、关联分析概率和预设的权重,确定出所述业务访问请求的攻击概率;若所述业务访问请求的攻击概率大于预设阈值,则确定所述业务访问请求为漏洞攻击。
可选的,所述业务访问请求还包括请求时间;
所述处理单元具体用于:
将所述请求时间与所述白名单中所述预设字段对应的初始概率的记录时间输入至衰减函数中,得到所述预设字段在所述请求时间对应的衰减概率;
将所述预设字段在所述请求时间对应的衰减概率,确定为所述业务访问请求对应的白名单概率。
可选的,所述处理单元具体用于:
所述衰减函数由下述公式来确定;
所述公式为:
N0e-α(t+l)=N(t)
其中,N(t)为请求时间t对应的衰减概率,N0为初始概率,t为请求时间,l为初始概率的记录时间,α为衰减率。
可选的,所述处理单元具体用于:
依据所述协议类型,从预设的各协议类型与概率的对应关系中确定出所述协议类型对应的概率;
将所述协议类型对应的概率,确定为所述特征匹配概率。
可选的,所述处理单元具体用于:
确定出所述URL字段中的URL对应的业务接口在预设间隔时间内的URL请求日志信息;
对URL请求日志信息进行分析,得到所述URL请求的请求参数、请求公共网关接口、公共网关接口的响应状态码、访问来源IP、服务IP和访问时间;
根据所述请求参数、请求公共网关接口、公共网关接口的响应状态码、访问来源IP、服务IP、访问时间以及所述预设多个关联分析规则确定出所述预设多个关联分析规则对应概率。
可选的,所述处理单元具体用于:
若所述URL请求的请求参数包含请求目标的公共网关接口的值,则确定符合预设的第一关联分析规则,从各关联分析规则与概率的对应关系中,确定出所述第一关联分析规则的概率;
若所述URL请求中所述公共网关接口的响应状态码为第一阈值,则确定符合预设的第二关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第二关联分析规则的概率;
若所述URL请求中所述请求目标的访问来源IP为所述服务IP,则确定符合预设的第三关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第三关联分析规则的概率;
若所述URL请求中所述请求目标的访问时间大于所述业务接口的访问时间,则确定符合预设的第四关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第四关联分析规则的概率;
若所述URL请求中所述请求目标的访问时间与所述业务接口的访问时间的差值小于等所述预设间隔时间,则确定符合预设的第五关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第五关联分析规则的概率。
可选的,所述处理单元还用于:
在获取所述多个字段的数据之前,依据HTTP将所述业务访问请求进行标准化分析,得到所述多个字段的数据。
第三方面,本发明提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行上述第一方面所述的方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行上述第一方面所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种***架构的示意图;
图2为本发明实施例提供的一种漏洞攻击检测的方法的流程示意图;
图3为本发明实施例提供的一种概率衰减的示意图;
图4为本发明实施例提供的一种SSRF攻击的示意图;
图5为本发明实施例提供的一种漏洞攻击检测的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种***架构。如图1所示,该***架构可以包括攻击者100、前端安全检测***200、业务后端300和分析***400。
其中,攻击者100为SSRF漏洞攻击的构造者,其可以发起业务访问请求。业务后端300为攻击者100发起的业务访问请求访问的业务所在的后端。
前端安全检测***200将攻击者100发起的业务访问请求分发给分析***400进行攻击概率分析,并根据攻击概率分析的结果进行审计,确定是否阻断。若接收到的是正常URL请求,则可以审计验证放行,并传递给后端。若是由攻击者100发起的SSRF漏洞攻击,则通过审计规则发现后,进行阻断。
分析***400主要是对业务访问请求进行分析,确定出其对应的攻击概率,并将分析结果上报给前端安全检测***200进行审计。
该分析***400可以包括业务流量日志采集模块410、数据存储模块420、关联分析引擎模块430和结果上报模块440。
其中,业务流量日志采集模块410用于对业务访问请求进行标准化解析。用户的业务访问请求的流量经过前置安全检测***200时,前置安全检测***200会拦截所有的HTTP/HTTPS请求报文且分发给日志采集模块。
数据存储模块420用于按照字段,由数据发送队列进行异步实时数据上报,存入到分布式存储数据集群中。例如Elastic Search分布式文档进行数据存储,可提供大量数据的可靠存储、支持数据高速查询和计算。
关联分析引擎模块430用于从数据存储模块,按照存入时间顺序,实时提取、消费HTTP数据源字段。通过白名单置信、特征匹配、关联分析、阈值决策关键算法,完成对HTTP请求中是否存在SSRF漏洞攻击行为进行检测和决断。
结果上报模块440用于将关联分析引擎模块430分析的结果上报给前端安全检测***200进行审计决策。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种漏洞攻击检测的方法的流程,该流程可以由一种漏洞攻击检测的装置执行。
如图2所示,该流程具体步骤包括:
步骤201,获取业务访问请求。
在本发明实施例中,该业务访问请求可以是正常用户的访问请求,也可以是SSRF漏洞攻击者发起的业务访问请求。
当得到业务访问请求之后,需要依据HTTP将业务访问请求进行标准化分析,得到多个字段的数据。一般是会对业务访问请求进行预处理标准化解析,依据HTTP规定,将请求包拆分成可直接分析的字段,如:访问来源IP地址、Method请求方法(GET\POST)、URL、CGI路径、HOST(请求目标主机)、Header Referer等字段。
步骤202,根据所述多个字段中的预设字段,从白名单中确定所述预设字段对应的概率,得到所述业务访问请求的白名单概率。
当得到业务访问请求中多个字段的数据之后,可以先进行白名单分析,由于白名单中预设字段对应的概率具有一定的衰减性,在进行白名单分析时,可以参考业务访问请求中的请求时间。具体的,可以先将请求时间与白名单中预设字段对应的初始概率的记录时间输入至衰减函数中,得到预设字段在请求时间对应的衰减概率,然后将预设字段在请求时间对应的衰减概率,确定为业务访问请求对应的白名单概率。该预设字段可以依据经验设置。
例如,预设字段可以是HOST、CGI、请求参数等字段,根据当前HTTP请求中判断当前的HOST、CGI、请求参数等字段是否已经属于认为安全可信任的HOST发起。其中,白名单中各字段的记录时间和各字段对应的概率。需要说明的是,即使加入了白名单,但是业务在后期也可能随时在发生变更从而导致引入SSRF漏洞。为了避免因为白名单所带来的检测漏过可能性,因此越早记录的白名单的可信程度会随时间逐步降低。因此本发明实施例对白名单中各字段对应的概率引入了衰减函数,可以将请求时间和预设字段对应的初始概率的记录时间输入到衰减函数中,就可以得到衰减后的概率,即衰减概率。
其中,衰减函数可以下述公式来确定:
该公式可以为:
N0e-α(t+l)=N(t)
其中,N(t)为请求时间t对应的衰减概率,N0为初始概率,t为请求时间,l为初始概率的记录时间,α为衰减率。
如图3所示的一个字段经过衰减函数计算得到的各个时刻的衰减概率,其中白名单中各字段的记录的初始概率有效期可以为365天。图3中横坐标表示衰减天数,纵坐标表示的是每个衰减天数对应的衰减概率。
当得到衰减概率之后,就可以将该衰减概率确定为业务访问请求的白名单概率r1。
步骤203,根据所述多个字段中的协议类型字段中协议类型,确定出所述业务访问请求的特征匹配概率。
当对业务访问请求进行白名单分析之后,就可以进行特征匹配分析,主要是依据协议类型,从预设的各协议类型与概率的对应关系中确定出协议类型对应的概率,然后将协议类型对应的概率,确定为特征匹配概率。其中,预设的各协议类型与概率的对应关系可以如表1所示。
表1
协议类型 概率值
http 40%
https 40%
gopher 80%
file 70%
dict 80%
telnet 90%
ldap 80%
在本发明实施例中,特征匹配分析是通过制定粒度相对较粗的特征匹配检测规则,来实现协议类型的匹配,得到匹配到的协议类型对应的概率。该特征匹配检测规则会涵盖常见的SSRF攻击利用手法,抽象出程序可识别的计算规则,最终初步筛选出高概率疑似SSRF攻击的HTTP请求包,对未命中规则的大部分正常的业务请求,可以表明是低概率风险请求。
例如,如下混杂有正常流量和恶意攻击流量的业务访问请求示例:
http://www.aaa.com/auth/sign?url=http://bbb.com/login(正常流量);
http://www.aaa.com/auth/vistor?url=http://bbb.com/login(真实恶意攻击流量);
http://www.aaa.com/auth/vistor?url=dict://172.16.1.1/auth(真实恶意攻击流量);
http://www.aaa.com/member.jsp(正常流量);
http://www.aaa.com/auth/sign?user=1&password=1(正常流量)。
采用特征匹配分析时的规则为:
*?[a-zA-Z]+=(http|https|gopher|dict|file|ldap|telnet):\/\/.*;
该规则主要是为了命中协议类型,即业务访问请求中协议类型字段中包含该规则中列出的协议类型:http|https|gopher|dict|file|ldap|telnet,即会命中,被选出来。
则通过此规则对上述业务访问请求进行分析,可以筛选出以下三条最为疑似SSRF攻击流量:
第一条:http://www.aaa.com/auth/sign?url=http://bbb.com/login(正常流量);
第二条:http://www.aaa.com/auth/vistor?url=http://bbb.com/login(真实恶意攻击流量);
第三条:http://www.aaa.com/auth/vistor?url=dict://172.16.1.1/auth(真实恶意攻击流量);
其中,第一条的协议类型为http,通过查找表1可知,第一条的特征匹配概率为0.4。第二条的协议类型为http,对应的特征匹配概率也为0.4。第三条的协议类型为dict,通过查找表1可知,第三条的特征匹配概率为0.8。
通过上述可以确定出业务访问请求的特征匹配概率。
步骤204,根据所述多个字段中URL(Uniform Resource Locator,统一资源定位符)字段和预设多个关联分析规则,确定出所述预设多个关联分析规则对应概率;将所述预设多个关联分析规则对应概率的和,确定为所述业务访问请求的关联分析概率。
当进行完特征匹配分析得到特征匹配概率后,就可以进行关联分析,具体可以为首先确定出URL字段中的URL对应的业务接口在预设间隔时间内的URL请求日志信息。然后对URL请求日志信息进行分析,得到URL请求的请求参数、公共网关接口(Common GatewayInterface,CGI)、CGI的响应状态码、访问来源IP、服务IP和访问时间。最后根据请求参数、CGI、CGI的响应状态码、访问来源IP、服务IP、访问时间以及预设多个关联分析规则确定出预设多个关联分析规则对应概率。该预设时间间隔可以依据经验设置,例如可以为1分钟。
通过获取预设间隔时间内的URL请求日志信息,可以分析去该预设间隔时间内的所有URL请求日志信息中的请求参数、CGI、CGI的响应状态码、访问来源IP、服务IP和访问时间等信息的值,通过对比这些值来确定是否符合各个预设的关联分析规则,进而可以得到预设的关联分析规则对应的概率。
具体的,确定预设的多个关联分析规则对应概率可以包括如下几种规则的分析:
第一种:
当URL请求的请求参数包含请求目标的CGI的值时,可以确定符合预设的第一关联分析规则,即可以从各关联分析规则与概率的对应关系中,确定出第一关联分析规则的概率。
第二种:
当URL请求中CGI的响应状态码为第一阈值时,可以确定符合预设的第二关联分析规则,从各关联分析规则与概率的对应关系中,确定出第二关联分析规则的概率。该第一阈值可以依据经验设置。
第三种:
当URL请求中请求目标的访问来源IP为服务IP,则确定符合预设的第三关联分析规则,从各关联分析规则与概率的对应关系中,确定出第三关联分析规则的概率。
第四种:
当URL请求中请求目标的访问时间大于业务接口的访问时间时,可以确定符合预设的第四关联分析规则,从各关联分析规则与概率的对应关系中,确定出第四关联分析规则的概率。
第五种:
当URL请求中请求目标的访问时间与业务接口的访问时间的差值小于等预设间隔时间,则确定符合预设的第五关联分析规则,从各关联分析规则与概率的对应关系中,确定出第五关联分析规则的概率。
需要说明的是,上述五种关联分析规则的分析仅是示例作用,在具体实施过程中,可以根据具体需求增加对应的关系分析规则,本发明实施例对关联分析规则的数量不作具体限定。
举例来说,假定HOST:www.aaa.com,CGI:/auth/vistor?url=http://bbb.com/login接口处存在SSRF漏洞攻击,依据SSRF漏洞形成原理,攻击者只要对该业务接口完成一次访问,且该业务接口HTTP响应状态码为200(代表业务接口真实存在),则会在预设间隔时间内(流量记录时间顺序是先aaa.com,再到bbb.com),触发由部署的aaa.com的服务主机,主动代理起对HOST:bbb.com,CGI:/login业务访问请求(见图4)。因此需要获取bbb.com/login所有URL请求日志信息。
对在上述预设间隔时间内(实际部署设定一般不会超过1min)的所有URL请求日志信息进行分析,可以得到各URL请求中的请求参数、CGI、CGI的响应状态码、访问来源IP、服务IP和访问时间等信息的值。通过这些信息的值来确定是否满足预设的条件,则有很大概率能确定该原始请求是否成功利用了SSRF漏洞进行攻击。通过判断上述信息的值是否满足预设的关联分析规则,来确定其对应的概率,如表1所示的多个关联分析规则及其对应的概率值。
当确定aaa.com.请求参数包含bbb.com.HTTP.请求CGI的值时,可以确定该关联分析规则对应的概率为0.1,若不满足,则该关联分析规则对应的概率为0。
当aaa.com/auth/vistor CGI响应状态码=200时,可以确定其满足该条关联分析规则,其对应的概率的0.3。若不满足,则可以确定该条关联分析规则对应的概率为0。
当bbb.com.HTTP.来源IP=aaa.com.服务IP时,可以确定其满足该条关联分析规则,其对应的概率的0.3。若不满足,则可以确定该条关联分析规则对应的概率为0。
当bbb.com.HTTP.访问时间>aaa.com.HTTP.访问时间时,可以确定其满足该条关联分析规则,其对应的概率的0.15。若不满足,则可以确定该条关联分析规则对应的概率为0。
当bbb.com.HTTP.访问时间减去aaa.com.HTTP.访问时间<=预设间隔时间时,可以确定其满足该条关联分析规则,其对应的概率的0.15。若不满足,则可以确定该条关联分析规则对应的概率为0。
表2
Figure BDA0002552106450000141
若上述预设的关联分析规则都满足,则可以将所有的概率加起来得到该业务访问请求的关联分析概率,如表2所示,该关联分析概率为1。
步骤205,根据所述业务访问请求的白名单概率、特征匹配概率、关联分析概率和预设的权重,确定出所述业务访问请求的攻击概率。
当依次得到白名单概率、特征匹配概率和关联分析概率之后,可以对这几个概率进行加权求和,从而得到业务访问请求的攻击概率。通过设置各概率对应的权重来平衡上述该概率的占比值,具体确定方式如下:
β=Wi×Ri+Wj×Rj+Wz×Rz
其中,β为整体计算概率,Ri、Rj、Rz分别代表白名单分析、特征匹配分析、关联分析得到的白名单概率、特征匹配概率和关联分析概率,对应的Wi、Wj、Wz分别为Ri、Rj、Rz的权重。这里的权重可以依据经验设置,人为调整优化。通常关联分析概率的权重的占比较高,因此关联分析概率较高时,则意味着更有可能达到SSRF攻击流量判定标准,反之即使关联分析概率较低,只要特征匹配和白名单概率总值能超过阈值,依然也有可能会被判定成真实攻击流量。通过加权阈值比较的方式,避免了单一规则误报,影响整体决策失真。
步骤206,若业务访问请求的攻击概率大于预设阈值,则确定业务访问请求为漏洞攻击。
σ定义为符合SSRF攻击流量的预设阈值。当上述β数值大于σ时,则最终判定为SSRF恶意攻击流量。该预设阈值可以依据经验设置。
本发明实施例表明,通过根据多个字段中的预设字段,从白名单中确定预设字段对应的概率,得到业务访问请求的白名单概率,根据多个字段中的协议类型字段中协议类型,确定出业务访问请求的特征匹配概率,根据多个字段中URL字段和预设多个关联分析规则,确定出预设多个关联分析规则对应概率;将预设多个关联分析规则对应概率的和,确定为业务访问请求的关联分析概率,根据业务访问请求的白名单概率、特征匹配概率、关联分析概率和预设的权重,确定出业务访问请求的攻击概率,若业务访问请求的攻击概率大于预设阈值,则确定业务访问请求为漏洞攻击。结合多个维度的攻击概率分析,得到的业务访问请求的攻击概率,相比仅依靠单一关键词匹配的漏洞攻击检测方式,可以提高漏洞攻击检测的准确率,避免出现现有技术中误拦业务正常流量的问题。
基于相同的技术构思,图5示例性的示出了本发明实施例提供的一种漏洞攻击检测的装置的结构示意图,该装置可以执行漏洞攻击检测的流程。
如图5所示,该装置具体包括:
获取单元501,用于获取业务访问请求,所述业务访问请求包括多个字段的数据;
处理单元502,用于根据所述多个字段中的预设字段,从白名单中确定所述预设字段对应的概率,得到所述业务访问请求的白名单概率;根据所述多个字段中的协议类型字段中协议类型,确定出所述业务访问请求的特征匹配概率;根据所述多个字段中统一资源定位符URL字段和预设多个关联分析规则,确定出所述预设多个关联分析规则对应概率;将所述预设多个关联分析规则对应概率的和,确定为所述业务访问请求的关联分析概率;根据所述业务访问请求的白名单概率、特征匹配概率、关联分析概率和预设的权重,确定出所述业务访问请求的攻击概率;若所述业务访问请求的攻击概率大于预设阈值,则确定所述业务访问请求为漏洞攻击。
可选的,所述业务访问请求还包括请求时间;
所述处理单元502具体用于:
将所述请求时间与所述白名单中所述预设字段对应的初始概率的记录时间输入至衰减函数中,得到所述预设字段在所述请求时间对应的衰减概率;
将所述预设字段在所述请求时间对应的衰减概率,确定为所述业务访问请求对应的白名单概率。
可选的,所述处理单元502具体用于:
所述衰减函数由下述公式来确定;
所述公式为:
N0e-α(t+l)=N(t)
其中,N(t)为请求时间t对应的衰减概率,N0为初始概率,t为请求时间,l为初始概率的记录时间,α为衰减率。
可选的,所述处理单元502具体用于:
依据所述协议类型,从预设的各协议类型与概率的对应关系中确定出所述协议类型对应的概率;
将所述协议类型对应的概率,确定为所述特征匹配概率。
可选的,所述处理单元502具体用于:
确定出所述URL字段中的URL对应的业务接口在预设间隔时间内的URL请求日志信息;
对URL请求日志信息进行分析,得到所述URL请求的请求参数、请求公共网关接口、公共网关接口的响应状态码、访问来源IP、服务IP和访问时间;
根据所述请求参数、请求公共网关接口、公共网关接口的响应状态码、访问来源IP、服务IP、访问时间以及所述预设多个关联分析规则确定出所述预设多个关联分析规则对应概率。
可选的,所述处理单元502具体用于:
若所述URL请求的请求参数包含请求目标的公共网关接口的值,则确定符合预设的第一关联分析规则,从各关联分析规则与概率的对应关系中,确定出所述第一关联分析规则的概率;
若所述URL请求中所述公共网关接口的响应状态码为第一阈值,则确定符合预设的第二关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第二关联分析规则的概率;
若所述URL请求中所述请求目标的访问来源IP为所述服务IP,则确定符合预设的第三关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第三关联分析规则的概率;
若所述URL请求中所述请求目标的访问时间大于所述业务接口的访问时间,则确定符合预设的第四关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第四关联分析规则的概率;
若所述URL请求中所述请求目标的访问时间与所述业务接口的访问时间的差值小于等所述预设间隔时间,则确定符合预设的第五关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第五关联分析规则的概率。
可选的,所述处理单元502还用于:
在获取所述多个字段的数据之前,依据HTTP将所述业务访问请求进行标准化分析,得到所述多个字段的数据。
基于相同的技术构思,本发明提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行上述漏洞攻击检测的方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行上述漏洞攻击检测的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种漏洞攻击检测的方法,其特征在于,包括:
获取业务访问请求,所述业务访问请求包括多个字段的数据;
根据所述多个字段中的预设字段,从白名单中确定所述预设字段对应的概率,得到所述业务访问请求的白名单概率;
根据所述多个字段中的协议类型字段中协议类型,确定出所述业务访问请求的特征匹配概率;
根据所述多个字段中统一资源定位符URL字段和预设多个关联分析规则,确定出所述预设多个关联分析规则对应概率;将所述预设多个关联分析规则对应概率的和,确定为所述业务访问请求的关联分析概率;
根据所述业务访问请求的白名单概率、特征匹配概率、关联分析概率和预设的权重,确定出所述业务访问请求的攻击概率;
若所述业务访问请求的攻击概率大于预设阈值,则确定所述业务访问请求为漏洞攻击。
2.如权利要求1所述的方法,其特征在于,所述业务访问请求包括请求时间;
所述根据所述多个字段中的预设字段,从白名单中确定所述预设字段对应的概率,得到所述业务访问请求的白名单概率,包括:
将所述请求时间与所述白名单中所述预设字段对应的初始概率的记录时间输入至衰减函数中,得到所述预设字段在所述请求时间对应的衰减概率;
将所述预设字段在所述请求时间对应的衰减概率,确定为所述业务访问请求对应的白名单概率。
3.如权利要求2所述的方法,其特征在于,所述衰减函数由下述公式来确定;
所述公式为:
N0e-α(t+l)=N(t)
其中,N(t)为请求时间t对应的衰减概率,N0为初始概率,t为请求时间,l为初始概率的记录时间,α为衰减率。
4.如权利要求1所述的方法,其特征在于,所述根据所述多个字段中的协议类型字段中协议类型,确定出所述业务访问请求的特征匹配概率,包括:
依据所述协议类型,从预设的各协议类型与概率的对应关系中确定出所述协议类型对应的概率;
将所述协议类型对应的概率,确定为所述特征匹配概率。
5.如权利要求1所述的方法,其特征在于,所述根据所述多个字段中URL字段和预设多个关联分析规则,确定出所述预设多个关联分析规则对应概率,包括:
确定出所述URL字段中的URL对应的业务接口在预设间隔时间内的URL请求日志信息;
对URL请求日志信息进行分析,得到所述URL请求的请求参数、请求公共网关接口、公共网关接口的响应状态码、访问来源IP、服务IP和访问时间;
根据所述请求参数、请求公共网关接口、公共网关接口的响应状态码、访问来源IP、服务IP、访问时间以及所述预设多个关联分析规则确定出所述预设多个关联分析规则对应概率。
6.如权利要求5所述的方法,其特征在于,所述根据所述请求参数、请求公共网关接口、公共网关接口的响应状态码、访问来源IP、服务IP、访问时间以及所述预设多个关联分析规则确定出所述预设多个关联分析规则对应概率,包括:
若所述URL请求的请求参数包含请求目标的公共网关接口的值,则确定符合预设的第一关联分析规则,从各关联分析规则与概率的对应关系中,确定出所述第一关联分析规则的概率;
若所述URL请求中所述公共网关接口的响应状态码为第一阈值,则确定符合预设的第二关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第二关联分析规则的概率;
若所述URL请求中所述请求目标的访问来源IP为所述服务IP,则确定符合预设的第三关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第三关联分析规则的概率;
若所述URL请求中所述请求目标的访问时间大于所述业务接口的访问时间,则确定符合预设的第四关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第四关联分析规则的概率;
若所述URL请求中所述请求目标的访问时间与所述业务接口的访问时间的差值小于等所述预设间隔时间,则确定符合预设的第五关联分析规则,从所述各关联分析规则与概率的对应关系中,确定出所述第五关联分析规则的概率。
7.如权利要求1至6任一项所述的方法,其特征在于,在获取所述多个字段的数据之前,还包括:
依据超文本传输协议HTTP将所述业务访问请求进行标准化分析,得到所述多个字段的数据。
8.一种漏洞攻击检测的装置,其特征在于,包括:
获取单元,用于获取业务访问请求,所述业务访问请求包括多个字段的数据;
处理单元,用于根据所述多个字段中的预设字段,从白名单中确定所述预设字段对应的概率,得到所述业务访问请求的白名单概率;根据所述多个字段中的协议类型字段中协议类型,确定出所述业务访问请求的特征匹配概率;根据所述多个字段中统一资源定位符URL字段和预设多个关联分析规则,确定出所述预设多个关联分析规则对应概率;将所述预设多个关联分析规则对应概率的和,确定为所述业务访问请求的关联分析概率;根据所述业务访问请求的白名单概率、特征匹配概率、关联分析概率和预设的权重,确定出所述业务访问请求的攻击概率;若所述业务访问请求的攻击概率大于预设阈值,则确定所述业务访问请求为漏洞攻击。
9.一种计算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行权利要求1至7任一项所述的方法。
CN202010580282.2A 2020-06-23 2020-06-23 一种漏洞攻击检测的方法、装置、计算设备及存储介质 Active CN111756728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010580282.2A CN111756728B (zh) 2020-06-23 2020-06-23 一种漏洞攻击检测的方法、装置、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010580282.2A CN111756728B (zh) 2020-06-23 2020-06-23 一种漏洞攻击检测的方法、装置、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN111756728A true CN111756728A (zh) 2020-10-09
CN111756728B CN111756728B (zh) 2021-08-17

Family

ID=72676997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010580282.2A Active CN111756728B (zh) 2020-06-23 2020-06-23 一种漏洞攻击检测的方法、装置、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN111756728B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491784A (zh) * 2020-10-14 2021-03-12 新浪网技术(中国)有限公司 Web网站的请求处理方法及装置、计算机可读存储介质
CN113179256A (zh) * 2021-04-12 2021-07-27 中国电子科技集团公司第三十研究所 一种时间同步***时间信息安全融合方法及***
CN114301697A (zh) * 2021-12-29 2022-04-08 山石网科通信技术股份有限公司 数据攻击检测方法及装置
CN115001759A (zh) * 2022-05-19 2022-09-02 国网数字科技控股有限公司 一种访问信息处理方法、装置、电子设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107347076A (zh) * 2017-08-23 2017-11-14 杭州安恒信息技术有限公司 Ssrf漏洞的检测方法及装置
CN107644162A (zh) * 2017-09-04 2018-01-30 北京知道未来信息技术有限公司 一种Web攻击识别方法和装置
WO2018143097A1 (ja) * 2017-01-31 2018-08-09 日本電信電話株式会社 判定装置、判定方法、および、判定プログラム
CN109274632A (zh) * 2017-07-12 2019-01-25 ***通信集团广东有限公司 一种网站的识别方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018143097A1 (ja) * 2017-01-31 2018-08-09 日本電信電話株式会社 判定装置、判定方法、および、判定プログラム
CN109274632A (zh) * 2017-07-12 2019-01-25 ***通信集团广东有限公司 一种网站的识别方法及装置
CN107347076A (zh) * 2017-08-23 2017-11-14 杭州安恒信息技术有限公司 Ssrf漏洞的检测方法及装置
CN107644162A (zh) * 2017-09-04 2018-01-30 北京知道未来信息技术有限公司 一种Web攻击识别方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491784A (zh) * 2020-10-14 2021-03-12 新浪网技术(中国)有限公司 Web网站的请求处理方法及装置、计算机可读存储介质
CN113179256A (zh) * 2021-04-12 2021-07-27 中国电子科技集团公司第三十研究所 一种时间同步***时间信息安全融合方法及***
CN113179256B (zh) * 2021-04-12 2022-02-08 中国电子科技集团公司第三十研究所 一种时间同步***时间信息安全融合方法及***
CN114301697A (zh) * 2021-12-29 2022-04-08 山石网科通信技术股份有限公司 数据攻击检测方法及装置
CN115001759A (zh) * 2022-05-19 2022-09-02 国网数字科技控股有限公司 一种访问信息处理方法、装置、电子设备和可读存储介质
CN115001759B (zh) * 2022-05-19 2024-01-12 国网数字科技控股有限公司 一种访问信息处理方法、装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
CN111756728B (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
CN111756728B (zh) 一种漏洞攻击检测的方法、装置、计算设备及存储介质
CN109951500B (zh) 网络攻击检测方法及装置
US10116677B2 (en) Method and system for uniquely identifying a user computer in real time using a plurality of processing parameters and servers
Marchal et al. PhishStorm: Detecting phishing with streaming analytics
CN110602029B (zh) 一种用于识别网络攻击的方法和***
US7325002B2 (en) Detection of network security breaches based on analysis of network record logs
CN111641658A (zh) 一种请求拦截方法、装置、设备及可读存储介质
CN112468520B (zh) 一种数据检测方法、装置、设备及可读存储介质
US20020184362A1 (en) System and method for extending server security through monitored load management
US20140047543A1 (en) Apparatus and method for detecting http botnet based on densities of web transactions
CN111818103B (zh) 一种网络靶场中基于流量的溯源攻击路径方法
EP3852327A1 (en) Exception access behavior identification method and server
EP3101580B1 (en) Website information extraction device, system, website information extraction method, and website information extraction program
US10122722B2 (en) Resource classification using resource requests
WO2018077035A1 (zh) 恶意资源地址检测方法和装置、存储介质
CN113518064B (zh) 挑战黑洞攻击的防御方法、装置、计算机设备和存储介质
CN106209907B (zh) 一种检测恶意攻击的方法及装置
CN114928452B (zh) 访问请求验证方法、装置、存储介质及服务器
CN114003903A (zh) 一种网络攻击追踪溯源方法及装置
CN114244564A (zh) 攻击防御方法、装置、设备及可读存储介质
CN112910839B (zh) 一种dns攻击的防御方法和装置
CN111770097B (zh) 一种基于白名单的内容锁防火墙方法及***
CN112583827A (zh) 一种数据泄露检测方法及装置
CN113329035B (zh) 一种攻击域名的检测方法、装置、电子设备及存储介质
CN111400721B (zh) Api接口检测方法及装置

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