CN111800409B - 接口攻击检测方法及装置 - Google Patents
接口攻击检测方法及装置 Download PDFInfo
- Publication number
- CN111800409B CN111800409B CN202010620320.2A CN202010620320A CN111800409B CN 111800409 B CN111800409 B CN 111800409B CN 202010620320 A CN202010620320 A CN 202010620320A CN 111800409 B CN111800409 B CN 111800409B
- Authority
- CN
- China
- Prior art keywords
- access
- characteristic
- data
- determining
- interface
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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
本发明公开了接口攻击检测方法及装置。方法包括:响应于被测接口的访问请求,确定所述被测接口的访问请求规则,所述访问请求规则由所述被测接口的历史访问数据生成;基于所述访问请求规则对所述访问请求的请求参数进行规则匹配;根据匹配结果确定所述被测接口是否遭到攻击。使得对被测接口的攻击检测更加全面、准确,且具有普适性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及接口攻击检测方法及装置。
背景技术
随着WEB(全球广域网)、APP(应用程序)等信息服务的快速发展,API(应用程序接口)逐渐成为企业为客户提供服务和数字资产的优选方式,对一些企业而言,API已经发展为核心业务重点。随着API服务化接口被大量频繁调用,请求参数篡改等API攻击及接口异常调用导致的数据泄露等安全问题日益凸显。
现有技术中,一般通过人为配置接口规则,检测API是否遭到攻击,该方式不能做到全面的检测,接口规则也很容易失效。
发明内容
本发明提供接口攻击检测方法及装置,以提高接口攻击检测的准确性和全面性。
具体地,本发明是通过如下技术方案实现的:
第一方面,提供一种接口攻击检测方法,包括:
响应于被测接口的访问请求,确定所述被测接口的访问请求规则,所述访问请求规则由所述被测接口的历史访问数据生成;
基于所述访问请求规则对所述访问请求的请求参数进行规则匹配;
根据匹配结果确定所述被测接口是否遭到攻击。
可选地,根据所述历史访问数据生成所述访问请求规则,包括:
根据所述历史访问数据从多个备选特征项中确定出与所述被测接口相匹配的至少一个访问特征项;
根据所述至少一个访问特征项构建所述访问请求规则。
可选地,根据所述历史访问数据从多个备选特征项中确定出与所述被测接口相匹配的至少一个访问特征项,包括:
获取第一时长内的第一历史访问数据,根据所述第一历史访问数据确定每个第一备选特征项的特征值,所述多个备选特征项包含若干第一备选特征项;
将特征值在各自预设范围内的第一备选特征项确定为所述访问特征项。
可选地,若特征值在各自预设范围内的第一备选特征项的数量小于数量阈值,所述方法还包括:
获取第二时长内的第二历史访问数据,其中,所述第二时长大于所述第一时长;
根据所述第二历史访问数据确定每个第二备选特征项的特征值,并将特征值在各自预设范围内的第一备选特征项以及第二备选特征项确定为所述访问特征项,所述多个备选特征项还包含若干第二备选特征项。
可选地,根据所述历史访问数据确定所述访问特征项,包括以下至少之一:
对所述历史访问数据进行数据清洗,以针对经过数据清洗的历史访问数据确定所述访问特征项;
从所述历史访问数据中滤除包含目标文件的数据,以针对经过目标文件滤除的历史访问数据确定所述访问特征项;
从所述历史访问数据中滤除访问请求的请求方式与目标方式不匹配的数据,以针对经过请求方式滤除的历史访问数据确定所述访问特征项;
从所述历史访问数据中滤除针对访问请求返回响应码的数据,以针对经过响应码滤除的历史访问数据确定所述访问特征项。
可选地,所述访问请求规则包含所述访问特征项的取值范围,所述取值范围根据所述历史访问数据确定。
可选地,确定所述被测接口的访问请求规则,包括:
识别所述访问请求的请求方式;
确定与所述请求方式相匹配的访问请求规则。
可选地,所述方法还包括:
在确定所述被测接口遭到攻击的情况下,执行安全策略;
所述安全策略包含以下至少之一:
拦截所述访问请求;
生成告警信息;
记录所述访问请求的请求参数。
第二方面,提供一种接口攻击检测装置,包括:
第一确定模块,用于响应于被测接口的访问请求,确定所述被测接口的访问请求规则,所述访问请求规则由所述被测接口的历史访问数据生成;
匹配模块,用于基于所述访问请求规则对所述访问请求的请求参数进行规则匹配;
第二确定模块,用于根据匹配结果确定所述被测接口是否遭到攻击。
可选地,所述第一确定模块,包括:
确定单元,用于根据所述历史访问数据从多个备选特征项中确定出与所述被测接口相匹配的至少一个访问特征项;
构建单元,用于根据所述至少一个访问特征项构建所述访问请求规则。
可选地,所述确定单元具体用于:
获取第一时长内的第一历史访问数据,根据所述第一历史访问数据确定每个第一备选特征项的特征值,所述多个备选特征项包含若干第一备选特征项;
将特征值在各自预设范围内的第一备选特征项确定为所述访问特征项。
可选地,所述装置还包括:
获取模块,用于在特征值在各自预设范围内的第一备选特征项的数量小于数量阈值的情况下,获取第二时长内的第二历史访问数据,其中,所述第二时长大于所述第一时长;
第三确定模块,用于根据所述第二历史访问数据确定每个第二备选特征项的特征值,并将特征值在各自预设范围内的第一备选特征项以及第二备选特征项确定为所述访问特征项,所述多个备选特征项还包含若干第二备选特征项。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的接口攻击检测方法。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的接口攻击检测的步骤。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明实施例中,使用基于被测接口的历史访问数据生成的访问请求规则,可实时检测该被测接口是否遭受攻击,无需人工为被测接口配置规则、维护规则,一方面节约了人工成本,另一方面基于历史访问数据确定与用户对被测接口的访问行为规律或调用行为规律相匹配的访问请求规则,使得对被测接口的攻击检测更加全面、准确,且具有普适性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本发明一示例性实施例示出的一种接口攻击检测方法的流程图;
图2是本发明一示例性实施例示出的一种根据历史访问数据生成访问请求规则方法的流程图;
图3是本发明一示例性实施例示出的另一种根据历史访问数据生成访问请求规则方法的流程图;
图4是本发明一示例性实施例示出的一种接口攻击检测装置的模块示意图;
图5是本发明一示例实施例示出的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是本发明一示例性实施例示出的一种接口攻击检测方法的流程图,该方法可以包括以下步骤:
步骤101、响应于被测接口的访问请求,确定被测接口的访问请求规则。
其中,访问请求规则由被测接口的历史访问数据生成。
访问请求有多种方式,例如Get、Post、Put、Head等,以Get请求方式为例,访问请求“https://i.cnblogs.com/EditPosts.aspx?postid=10602150&result=1”中,“?”之前的部分“https://i.cnblogs.com/EditPosts.aspx”表示接口地址,“?”之后的部分“postid=10602150&result=1”表示请求参数。请求参数中“postid=10602150”、“result=1”,以键值对(key-value)形式存在。“&”为保留字段,是键值对与键值对之间的分隔符。
历史访问数据可以是被测接口的网络流量数据和被访问操作日志数据,可以但不限于包含以下参数中的全部或至少部分:访问接口的IP地址、接口所属的应用地址、接口地址、请求参数、请求方式、请求时间、接口代理、请求内容、请求内容类型、针对访问请求返回的响应码等。
本实施例中,将被测接口的历史访问数据作为确定接口访问请求规则的基础数据,通过对历史访问数据进行分析,确定能够体现接口调用行为或用户对接口访问行为规律的访问特征项,进而根据该访问特征项构建访问请求规则。
构建访问请求规则也即使用访问特征项规则化表示请求参数,访问请求规则可以但不限于包含请求参数中键值对的value类型、键值对的value长度、键值对的value取值范围、键值对是否是请求参数的必选项等信息。访问请求规则的具体构建过程参见下文叙述。
步骤102、基于访问请求规则对访问请求的请求参数进行规则匹配。
步骤102中,规则匹配也即判断访问请求的请求参数中是否包含必选键值对,请求参数中各键值对的value类型、value的长度、value的取值范围等是否与访问请求规则相匹配。若访问请求的请求参数中各键值对均符合访问请求规则,则说明两者相匹配。若其中至少有一项不符合访问请求规则,则说明两者不匹配。
举例来说,以访问请求https://i.cnblogs.com/EditPosts.aspx?postid=10602150&result=1为例,若接口的访问请求规则存在的一条规则为postid的类型为整型(int)、长度范围为[3,6],由于上述访问请求中键值对“postid=10602150”,其长度为8,在长度范围[3,6]之外,可确定结果为匹配不成功。
步骤103、根据匹配结果确定被测接口是否遭到攻击。
若匹配结果为访问请求的请求参数与访问请求规则相匹配,说明该访问请求是正常的访问,则确定被测接口未遭受到攻击;若匹配结果为访问请求的请求参数与访问请求规则不匹配,说明该访问请求是非正常的访问,确定该访问请求存在攻击行为。
本实施例中,使用基于被测接口的历史访问数据生成的访问请求规则,可实时检测该被测接口是否遭受攻击,无需人工为被测接口配置规则、维护规则,一方面节约了人工成本,另一方面基于历史访问数据确定与用户对被测接口的访问行为规律或调用行为规律相匹配的访问请求规则,能够使得对被测接口的攻击检测更加全面、准确,且具有普适性。
在另一个实施例中,在确定被测接口遭到攻击的情况下,还可执行安全策略。其中,安全策略包含以下至少之一:拦截访问请求、生成告警信息、记录访问请求的请求参数。
由于接口请求有多种方式,例如Get、Post、Put、Head等,对于不同请求方式的访问请求,具有不同类型的请求参数,因此可以针对不同的请求方式建立与其相匹配的访问请求规则,步骤101中在确定被测接口的访问请求规则时,则可先识别访问请求的请求方式,再获取与请求方式相匹配的访问请求规则。
下面对根据历史访问数据生成访问请求规则的过程进行说明,通过对历史访问数据进行分析,从多个备选访问特征项中确定出能够表征用户对被测接口的访问行为规律或调用行为规律的访问特征项,进而根据该访问特征项构建访问请求规则。
图2是本发明一示例性实施例示出的一种根据历史访问数据生成访问请求规则方法的流程图,可以包括以下步骤:
步骤201、获取第一时长内的第一历史访问数据,根据第一历史访问数据确定每个第一备选特征项的特征值。
其中,第一时长可根据实际需求自行设置,可以理解的,第一时长越长,能够获取越多的第一历史访问数据,能够更加准确地确定接口的访问特征项。
第一时长的结束点可以是当前时刻,也可以是当前时刻之前的任意时刻。举例来说,假设当前时间为6月12日15:00,第一时长为3天,若将当前时刻作为第一时长的结束点,可抽取被测接口的6月9日15:00~6月12日15:00的历史访问数据作为第一历史访问数据;也可以不将当前时刻作为第一时长的结束点,例如,抽取6月7日00:00~6月10日00:00的历史访问数据作为第一历史访问数据。
第一备选访问特征项一般是根据经验确定的与接口访问/调用相关的特征项,其数量越多、越全面,越能确定出与被测接口的访问规律相匹配的访问特征项。第一备选访问特征项可以但不限于包括以下至少之一:
接口访问次数,即第一时长内被测接口被访问的次数;
键值对的value类型,value类型可以是精确数据类型,例如,value类型为语言编码、IP、域名、邮箱、手机号码、身份证号码等;value类型也可以是标准数据类型,例如,value类型为整型、浮点、布尔、数组等。精确数据类型优先级高于标准数据类型,也即在能够确定value的精确数据类型的情况下采用精确数据类型表征value类型,在不能确定value的精确数据类型的情况下,采用标准数据类型表征value类型;
键值对的出现次数,也即第一时长内value类型相同的键值对的出现次数;
键值对的支持度,支持度=键值对的出现次数/接口访问次数,支持度用于表征该键值对是否是请求参数中的必选项;
IP的访问数量,即第一时长内被测接口被多少不同的IP访问;
键值对的IP访问数量,即第一时长内value类型相同的键值对被多少不同的IP访问;
IP访问数量占比=键值对的IP访问数量/IP的访问数量;
键值对的value长度。
确定第一备选特征项的特征值也即根据第一历史访问数据统计、计算第一备选特征项的值。下面举个确定第一备选特征项的特征值的例子,假设对于某个接口,其3天的部分历史访问数据参见表1:
表1
序号 | 访问被测接口的IP | 请求参数 |
1 | 1.1.1.1 | name=zhangsan&mail=123@163.com |
2 | 2.2.2.2 | name=zhaosi&id=12345 |
3 | 3.3.3.3 | name=wangwu&id=67890 |
4 | 4.4.4.4 | name=liliu&mail=123@163.com |
5 | 5.5.5.5 | name=sunqi&id=1564&mail=1564@163.com |
6 | 6.6.6.6 | name=huahua&id=15645456 |
7 | 7.7.7.7 | name=liqi&id=156454 |
8 | 8.8.8.8 | name=niuniu&mail=123@163.com |
9 | 9.9.9.9 | name=daliang&mail=1241653@163.com |
10 | 9.1.1.1 | name=123 |
11 | 9.1.1.1 | name= |
12 | 9.1.1.1 | name=12416 |
根据表1的历史访问数据,可以统计得到3天内该被测接口的接口访问次数为12(特征值),IP的访问数量为10(特征值),键值对的value类型、IP访问数量、出现次数、支持度、IP访问占比等其他备选访问特征项的特征值如表2所示:
表2
步骤202、将特征值在各自预设范围内的第一备选特征项确定为访问特征项。
其中,各个第一备选特征项的预设范围可根据实际情况自行设置。
步骤202中,若某个或某几个备选特征项的特征值不在对应的预设范围内,说明其不能表征被测接口的访问行为或调用行为的一般访问规律,则不将其作为访问特征项;而特征值在预设范围的备选特征项,能够表征被测接口的一般访问规律,可将其作为被测接口的访问特征项,用于构建访问请求规则。由于访问特征项根据被测接口自己的历史访问数据确定,不同的被测接口确定的访问特征项可能不同。
在另一个实施例中,确定访问特征项还包括确定访问特征项的取值范围,该取值范围根据历史访问数据确定。在确定取值范围的过程中,可以先根据备选特征项的预设范围去除不满足访问特征项的取值范围的结果。
举例来说,表3是一示例性实施例示出的各个备选特征项的预设范围。结合表3可知,表2中name的value类型为整型(int)的键值对以及name的value类型为空(null)的键值对的出现次数不在的出现次数该备选访问特征项的预设范围之内,说明该结果比较特殊,不能表征特征项的一般规律,需要将其删除,不适合将其用作确定特征项的取值范围。
表3
第一备选特征项 | 预设范围 |
接口访问次数 | [5,∞) |
出现次数 | [5,∞) |
键值对的支持度 | [0.05,1) |
IP的访问数量 | [5,∞) |
键值对的IP访问数量 | [5,∞) |
IP访问数量占比 | [0.05,1) |
步骤203、根据访问特征项构建访问请求规则。
步骤203也即根据访问特征项及其特征值规则化表示访问请求规则,包括根据访问特征项及其特征值确定访问特征项的取值范围。
访问请求规则可以但不限于表示如下:
KEY1=[value精确类型]||支持度=可选/必选&KEY2=[标准数据类型:{最小长度,最大长度}]||支持度=可选/必选;
其中,“||”表示相同键值对中不同访问特征项的连接符,“&”表示不同键值对的连接符。最大长度和最小长度分别为访问特征项的取值范围的两个端点。
需要说明的是,上述只是访问请求规则的一种表示形式,不限于采用“||”、“&”连接符连接上述键值对和特征项。
下面是一示例性实施例示出的根据表2的历史访问数据确定的访问请求规则:
name=[STR:{4,8}]=0.75=1&id=[INT:{2,8}]=0.42=0&mail=[STR:{8,15}]=0.42=0;
上述访问请求规则表示被测接口的访问请求参数中键(key)name是必选项(根据支持度0.75=1确定,“1”表示必选项,“0”表示可选项),name的value类型是字符串,长度是[4,8];键id是可选项(根据支持度0.42=0确定),id的value类型是整型,长度是[2,8];键mail是可选项(根据支持度0.42=0确定),mail的value类型是字符串,长度是[8,15]。
完成访问请求规则的构建后,可以保存该访问请求规则,以用于后续在接收到访问请求的情况下对该访问请求进行攻击检测。访问请求规则也可以在接收到访问请求的情况下临时构建。还可以周期性地获取历史访问数据并进行访问请求规则的构建,对访问请求进行攻击检测时获取最近构建的访问请求规则进行攻击检测。
在另一个实施例中,为了避免了历史访问数据中的干扰因素对构建访问请求规则的影响,提高访问请求规则的准确度,在确定特征值之前,可以对历史访问数据进行预处理,以排除不适合用于确定访问特征项的历史访问数据。预处理包括以下至少之一:
对历史访问数据进行数据清洗,以针对经过数据清洗的历史访问数据确定访问特征项,具体可以是:将含有缺失值的数据剔除掉,例如,请求参数为空、键值对无value值;将包含异常值的数据剔除掉,例如,对于a/b/b?name=zhangsan&,&之后理应还有键值对,但数据采集时丢失了一部分,这种不参与分析;将含有重复值的数据剔除掉,所谓重复值是指srcip(源IP地址)、srcport(源端口)、dstip(目的IP地址)、dstport(目的端口)、method(请求方式)、postdata(Post请求参数)等的数值都相同,意味着数据重复采集或者有用户连续发送相同的请求给服务器,这种数据只保留一次即可,数据需要做去重。
静态文件过滤,也即从历史访问数据中滤除包含目标文件的数据,以针对经过目标文件(图片、PDF、word)过滤的历史访问数据确定访问特征项,例如,https://www.baidu.com/s.jpg,该请求参数包含图片,不包含与用户访问请求规律相关的信息,不适合用于确定访问特征项。
特殊请求过滤,也即从历史访问数据中滤除访问请求的请求方式与目标方式不匹配的数据,以针对经过格式过滤的历史访问数据确定访问特征项;例如,要建立Post请求方式的访问请求规则,但是一条历史访问数据是Get数据,需将该数据滤除。
响应码过滤,也即从历史访问数据中滤除针对访问请求返回响应码的数据,返回响应码说明访问请求的页面不存在或者无权限,该数据视为异常数据,需要滤除,以针对经过响应码滤除的历史访问数据确定访问特征项。
在另一个实施例中,可以针对不同的请求方式,建立对应的访问请求规则,具体的:根据请求方式对历史访问数据进行分组,对于每组历史访问数据执行步骤201~步骤203,建立对应的访问请求规则。
图3是本发明一示例性实施例示出的另一种根据历史访问数据确定访问请求规则方法的流程图,可以包括以下步骤:
步骤301、获取第一时长内的第一历史访问数据,根据第一历史访问数据确定每个第一备选特征项的特征值。
步骤301的具体实现过程与步骤201类似,此处不再赘述。
步骤302、判断特征值在各自预设范围内的第一备选特征项的数量是否小于数量阈值。
步骤302中,若判断为否,说明访问特征项的数量足够多,根据该访问特征项可以规则化表示被测接口的请求参数,则执行步骤303’。然后执行步骤305。
步骤303’、将特征值满足各自预设范围的第一备选特征项确定为访问特征项。
步骤302中,若判断为是,说明访问特征项的数量不够多,根据该访问特征项不能规则化表示被测接口的请求参数,需要重新获取历史访问数据,例如,获取时长更长的历史访问数据,以重新确定访问特征项,则执行步骤303。
步骤303、获取第二时长内的第二历史访问数据,并根据第二历史访问数据确定每个第二备选特征项的特征值。
其中,第二时长大于第一时长。
第二备选特征可以与第一备选特征项相同,也可不同。若某些接口用于内部之间的相互作用,访问请求参数较少,即便获取时长更长的历史访问数据,也无法获得数量较多的访问特征项,此种情况下,第二备选特征项需要包含与第一备选特征项不同的其他备选特征项,例如,第二备选特征项可以但不限于包括接口请求次数、不同value类型的键值对的访问次数、不同value类型的键值对的访问天数等。
步骤304、将特征值在各自预设范围内的第一备选访问特征项以及第二备选访问特征项确定为访问特征项。然后执行步骤305。
步骤305、根据至少一个访问特征项构建访问请求规则。
步骤305的具体实现过程与步骤203类似,此处步骤赘述。
与前述接口攻击检测方法实施例相对应,本发明还提供了接口攻击检测装置的实施例。
图4是本发明一示例性实施例示出的一种接口攻击检测装置的模块示意图,装置可以包括:
第一确定模块41,用于响应于被测接口的访问请求,确定所述被测接口的访问请求规则,所述访问请求规则由所述被测接口的历史访问数据生成;
匹配模块42,用于基于所述访问请求规则对所述访问请求的请求参数进行规则匹配;
第二确定模块43,用于根据匹配结果确定所述被测接口是否遭到攻击。
可选地,所述第一确定模块,包括:
确定单元,用于根据所述历史访问数据从多个备选特征项中确定出与所述被测接口相匹配的至少一个访问特征项;
构建单元,用于根据所述至少一个访问特征项构建所述访问请求规则。
可选地,所述确定单元具体用于:
获取第一时长内的第一历史访问数据,根据所述第一历史访问数据确定每个第一备选特征项的特征值,所述多个备选特征项包含若干第一备选特征项;
将特征值在各自预设范围内的第一备选特征项确定为所述访问特征项。
可选地,所述装置还包括:
获取模块,用于在特征值在各自预设范围内的第一备选特征项的数量小于数量阈值的情况下,获取第二时长内的第二历史访问数据,其中,所述第二时长大于所述第一时长;
第三确定模块,用于根据所述第二历史访问数据确定每个第二备选特征项的特征值,并将特征值在各自预设范围内的第一备选特征项以及第二备选特征项确定为所述访问特征项,所述多个备选特征项还包含若干第二备选特征项。
可选地,所述确定单元用于:
对所述历史访问数据进行数据清洗,以针对经过数据清洗的历史访问数据确定所述访问特征项;
从所述历史访问数据中滤除包含目标文件的数据,以针对经过目标文件滤除的历史访问数据确定所述访问特征项;
从所述历史访问数据中滤除访问请求的请求方式与目标方式不匹配的数据,以针对经过请求方式滤除的历史访问数据确定所述访问特征项;
从所述历史访问数据中滤除针对访问请求返回响应码的数据,以针对经过响应码滤除的历史访问数据确定所述访问特征项。
可选地,所述访问请求规则包含所述访问特征项的取值范围,所述取值范围根据所述历史访问数据确定。
可选地,所述第一确定模块用于:
识别所述访问请求的请求方式;
确定与所述请求方式相匹配的访问请求规则。
可选地,所述装置还包括:
执行模块,用于在确定所述被测接口遭到攻击的情况下,执行安全策略;
所述安全策略包含以下至少之一:
拦截所述访问请求;
生成告警信息;
记录所述访问请求的请求参数。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
图5是本发明一示例实施例示出的一种电子设备的结构示意图,示出了适于用来实现本发明实施方式的示例性电子设备50的框图。图5显示的电子设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备50可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备50的组件可以包括但不限于:上述至少一个处理器51、上述至少一个存储器52、连接不同系统组件(包括存储器52和处理器51)的总线53。
总线53包括数据总线、地址总线和控制总线。
存储器52可以包括易失性存储器,例如随机存取存储器(RAM)521和/或高速缓存存储器522,还可以进一步包括只读存储器(ROM)523。
存储器52还可以包括具有一组(至少一个)程序模块524的程序工具525(或实用工具),这样的程序模块524包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器51通过运行存储在存储器52中的计算机程序,从而执行各种功能应用以及数据处理,例如上述任一实施例所提供的方法。
电子设备50也可以与一个或多个外部设备54(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口55进行。并且,模型生成的电子设备50还可以通过网络适配器56与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器56通过总线53与模型生成的电子设备50的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所提供的方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种接口攻击检测方法,其特征在于,包括:
响应于被测接口的访问请求,确定所述被测接口的访问请求规则,所述访问请求规则由所述被测接口的历史访问数据生成,所述访问请求符合HTTP协议;
基于所述访问请求规则对所述访问请求的请求参数进行规则匹配,所述请求参数包含键值对,若访问请求的请求参数中各键值对均符合访问请求规则,则说明两者相匹配;
根据匹配结果确定所述被测接口是否遭到攻击;
其中,根据所述历史访问数据生成所述访问请求规则,包括:
根据所述历史访问数据从多个备选特征项中确定出与所述被测接口相匹配的至少一个访问特征项;
根据所述至少一个访问特征项构建所述访问请求规则;
其中,所述至少一个访问特征项包括:
根据所述历史访问数据确定出的所述被测接口被访问的次数;
根据所述历史访问数据确定出的value类型相同的键值对的出现次数;
根据所述被测接口被访问的次数和所述键值对的出现次数计算确定出的键值对的支持度。
2.如权利要求1所述的接口攻击检测方法,其特征在于,根据所述历史访问数据从多个备选特征项中确定出与所述被测接口相匹配的至少一个访问特征项,包括:
获取第一时长内的第一历史访问数据,根据所述第一历史访问数据确定每个第一备选特征项的特征值,所述多个备选特征项包含若干第一备选特征项;
将特征值在各自预设范围内的第一备选特征项确定为所述访问特征项。
3.如权利要求2所述的接口攻击检测方法,其特征在于,若特征值在各自预设范围内的第一备选特征项的数量小于数量阈值,所述方法还包括:
获取第二时长内的第二历史访问数据,其中,所述第二时长大于所述第一时长;
根据所述第二历史访问数据确定每个第二备选特征项的特征值,并将特征值在各自预设范围内的第一备选特征项以及第二备选特征项确定为所述访问特征项,所述多个备选特征项还包含若干第二备选特征项。
4.如权利要求1所述的接口攻击检测方法,其特征在于,根据所述历史访问数据确定所述访问特征项,包括以下至少之一:
对所述历史访问数据进行数据清洗,以针对经过数据清洗的历史访问数据确定所述访问特征项;
从所述历史访问数据中滤除包含目标文件的数据,以针对经过目标文件滤除的历史访问数据确定所述访问特征项;
从所述历史访问数据中滤除访问请求的请求方式与目标方式不匹配的数据,以针对经过请求方式滤除的历史访问数据确定所述访问特征项;
从所述历史访问数据中滤除针对访问请求返回响应码的数据,以针对经过响应码滤除的历史访问数据确定所述访问特征项。
5.如权利要求1所述的接口攻击检测方法,其特征在于,所述访问请求规则包含所述访问特征项的取值范围,所述取值范围根据所述历史访问数据确定。
6.如权利要求1所述的接口攻击检测方法,其特征在于,确定所述被测接口的访问请求规则,包括:
识别所述访问请求的请求方式;
确定与所述请求方式相匹配的访问请求规则。
7.如权利要求1所述的接口攻击检测方法,其特征在于,所述方法还包括:
在确定所述被测接口遭到攻击的情况下,执行安全策略;
所述安全策略包含以下至少之一:
拦截所述访问请求;
生成告警信息;
记录所述访问请求的请求参数。
8.一种接口攻击检测装置,其特征在于,包括:
第一确定模块,用于响应于被测接口的访问请求,确定所述被测接口的访问请求规则,所述访问请求规则由所述被测接口的历史访问数据生成,所述访问请求符合HTTP协议;
匹配模块,用于基于所述访问请求规则对所述访问请求的请求参数进行规则匹配,所述请求参数包含键值对,若访问请求的请求参数中各键值对均符合访问请求规则,则说明两者相匹配;
第二确定模块,用于根据匹配结果确定所述被测接口是否遭到攻击;
其中,所述第一确定模块,包括:
确定单元,用于根据所述历史访问数据从多个备选特征项中确定出与所述被测接口相匹配的至少一个访问特征项;
构建单元,用于根据所述至少一个访问特征项构建所述访问请求规则;
其中,所述至少一个访问特征项包括:
根据所述历史访问数据确定出的所述被测接口被访问的次数;
根据所述历史访问数据确定出的value类型相同的键值对的出现次数;
根据所述被测接口被访问的次数和所述键值对的出现次数计算确定出的键值对的支持度。
9.如权利要求8所述的接口攻击检测装置,其特征在于,所述确定单元具体用于:
获取第一时长内的第一历史访问数据,根据所述第一历史访问数据确定每个第一备选特征项的特征值,所述多个备选特征项包含若干第一备选特征项;
将特征值在各自预设范围内的第一备选特征项确定为所述访问特征项。
10.如权利要求9所述的接口攻击检测装置,其特征在于,所述装置还包括:
获取模块,用于在特征值在各自预设范围内的第一备选特征项的数量小于数量阈值的情况下,获取第二时长内的第二历史访问数据,其中,所述第二时长大于所述第一时长;
第三确定模块,用于根据所述第二历史访问数据确定每个第二备选特征项的特征值,并将特征值在各自预设范围内的第一备选特征项以及第二备选特征项确定为所述访问特征项,所述多个备选特征项还包含若干第二备选特征项。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的接口攻击检测方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的接口攻击检测的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010620320.2A CN111800409B (zh) | 2020-06-30 | 2020-06-30 | 接口攻击检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010620320.2A CN111800409B (zh) | 2020-06-30 | 2020-06-30 | 接口攻击检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111800409A CN111800409A (zh) | 2020-10-20 |
CN111800409B true CN111800409B (zh) | 2023-04-25 |
Family
ID=72809805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010620320.2A Active CN111800409B (zh) | 2020-06-30 | 2020-06-30 | 接口攻击检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111800409B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992356A (zh) * | 2021-09-28 | 2022-01-28 | 青岛海尔科技有限公司 | Ip攻击的检测方法、装置和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348811A (zh) * | 2013-08-05 | 2015-02-11 | 深圳市腾讯计算机系统有限公司 | 分布式拒绝服务攻击检测方法及装置 |
CN107786545A (zh) * | 2017-09-29 | 2018-03-09 | 中国平安人寿保险股份有限公司 | 一种网络攻击行为检测方法及终端设备 |
CN109951500A (zh) * | 2019-04-29 | 2019-06-28 | 宜人恒业科技发展(北京)有限公司 | 网络攻击检测方法及装置 |
CN110008701A (zh) * | 2019-03-20 | 2019-07-12 | 北京大学 | 基于elf文件特征的静态检测规则提取方法及检测方法 |
CN110489652A (zh) * | 2019-08-23 | 2019-11-22 | 重庆邮电大学 | 基于用户行为检测的新闻推荐方法、系统及计算机设备 |
CN110944016A (zh) * | 2019-12-25 | 2020-03-31 | 中移(杭州)信息技术有限公司 | DDoS攻击检测方法、装置、网络设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101414959B1 (ko) * | 2012-02-29 | 2014-07-09 | 주식회사 팬택 | 네트워크 공격을 감지하는 이동 통신 단말기 및 그 감지 방법 |
CN104301302B (zh) * | 2014-09-12 | 2017-09-19 | 深信服网络科技(深圳)有限公司 | 越权攻击检测方法及装置 |
CN107135073B (zh) * | 2016-02-26 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 接口调用方法和装置 |
WO2018095192A1 (zh) * | 2016-11-23 | 2018-05-31 | 腾讯科技(深圳)有限公司 | 网站攻击的检测和防护方法及系统 |
CN108111466A (zh) * | 2016-11-24 | 2018-06-01 | 北京金山云网络技术有限公司 | 一种攻击检测方法及装置 |
CN106790292A (zh) * | 2017-03-13 | 2017-05-31 | 摩贝(上海)生物科技有限公司 | 基于行为特征匹配和分析的web应用层攻击检测与防御方法 |
CN107346388B (zh) * | 2017-07-03 | 2020-06-02 | 四川无声信息技术有限公司 | Web攻击检测方法及装置 |
CN109714324B (zh) * | 2018-12-18 | 2021-06-22 | 中电福富信息科技有限公司 | 基于机器学习算法的用户网络异常行为发现方法及系统 |
CN110798488B (zh) * | 2020-01-03 | 2020-04-14 | 北京东方通科技股份有限公司 | Web应用攻击检测方法 |
-
2020
- 2020-06-30 CN CN202010620320.2A patent/CN111800409B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348811A (zh) * | 2013-08-05 | 2015-02-11 | 深圳市腾讯计算机系统有限公司 | 分布式拒绝服务攻击检测方法及装置 |
CN107786545A (zh) * | 2017-09-29 | 2018-03-09 | 中国平安人寿保险股份有限公司 | 一种网络攻击行为检测方法及终端设备 |
CN110008701A (zh) * | 2019-03-20 | 2019-07-12 | 北京大学 | 基于elf文件特征的静态检测规则提取方法及检测方法 |
CN109951500A (zh) * | 2019-04-29 | 2019-06-28 | 宜人恒业科技发展(北京)有限公司 | 网络攻击检测方法及装置 |
CN110489652A (zh) * | 2019-08-23 | 2019-11-22 | 重庆邮电大学 | 基于用户行为检测的新闻推荐方法、系统及计算机设备 |
CN110944016A (zh) * | 2019-12-25 | 2020-03-31 | 中移(杭州)信息技术有限公司 | DDoS攻击检测方法、装置、网络设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111800409A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110099059B (zh) | 一种域名识别方法、装置及存储介质 | |
CN110602029B (zh) | 一种用于识别网络攻击的方法和系统 | |
CN110928718A (zh) | 一种基于关联分析的异常处理方法、系统、终端及介质 | |
CN111866016A (zh) | 日志的分析方法及系统 | |
CN104579773A (zh) | 域名系统分析方法及装置 | |
CN110933115B (zh) | 基于动态session的分析对象行为异常检测方法及装置 | |
CN112118249B (zh) | 基于日志和防火墙的安全防护方法及装置 | |
CN105959290A (zh) | 攻击报文的检测方法及装置 | |
CN117176482B (zh) | 一种大数据网络安全防护方法及系统 | |
CN110046086B (zh) | 用于测试的期望数据生成方法及装置和电子设备 | |
CN112839014A (zh) | 建立识别异常访问者模型的方法、系统、设备及介质 | |
CN111611519A (zh) | 一种个人异常行为检测方法及装置 | |
CN111371757B (zh) | 恶意通信检测方法、装置、计算机设备和存储介质 | |
CN110598959A (zh) | 一种资产风险评估方法、装置、电子设备及存储介质 | |
CN111800409B (zh) | 接口攻击检测方法及装置 | |
CN114785616A (zh) | 数据风险检测方法、装置、计算机设备及存储介质 | |
CN112347457A (zh) | 异常账户检测方法、装置、计算机设备和存储介质 | |
CN108804501B (zh) | 一种检测有效信息的方法及装置 | |
CN117097571A (zh) | 一种网络传输敏感数据的检测方法、系统、装置及介质 | |
CN110955890A (zh) | 恶意批量访问行为的检测方法、装置和计算机存储介质 | |
CN112565228A (zh) | 一种客户端网络分析方法及装置 | |
CN114969450B (zh) | 一种用户行为分析方法、装置、设备及存储介质 | |
CN116668080A (zh) | 一种流量异常评估方法及装置、电子设备和存储介质 | |
CN114050941B (zh) | 一种基于核密度估计的失陷账号检测方法及系统 | |
CN113110980B (zh) | 暴力破解行为的识别与拦截方法及装置 |
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 |