CN114070656B - 一种商业银行开放api接口异常监测方法和装置 - Google Patents
一种商业银行开放api接口异常监测方法和装置 Download PDFInfo
- Publication number
- CN114070656B CN114070656B CN202210054375.0A CN202210054375A CN114070656B CN 114070656 B CN114070656 B CN 114070656B CN 202210054375 A CN202210054375 A CN 202210054375A CN 114070656 B CN114070656 B CN 114070656B
- Authority
- CN
- China
- Prior art keywords
- parameter
- request
- statistical table
- statistical
- response
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012544 monitoring process Methods 0.000 title claims abstract description 20
- 230000004044 response Effects 0.000 claims abstract description 114
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 18
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 18
- 230000002159 abnormal effect Effects 0.000 claims description 68
- 230000006399 behavior Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 19
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 230000000737 periodic effect Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 claims description 2
- 238000012806 monitoring device Methods 0.000 claims description 2
- 206010000117 Abnormal behaviour Diseases 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013070 change management Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/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
-
- 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/1441—Countermeasures against malicious traffic
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出了一种商业银行开放API接口异常监测方法和装置,该方法包括如下步骤:构建API接口资产表;对网络层报文进行解析,形成网络访问统计表;根据网络访问统计表和3σ原则,构建访问行为分布模型;根据API接口资产表对应用层报文进行解析,形成请求参数统计表;根据请求参数统计表,周期性统计各拆分字段的有效性,构建请求参数合规模型;根据API接口资产表对应用层报文进行解析,形成响应参数统计表;根据响应参数统计表,周期性统计各拆分字段的有效性,构建响应参数合规模型。本发明通过构建请求参数合规模型、访问行为分布模型、响应参数合规模型,高效率、高准确性检测识别异常行为,避免恶意攻击造成的业务损失。
Description
技术领域
本发明涉及计算机信息安全技术领域,具体而言,涉及一种商业银行开放API接口异常监测方法和装置。
背景技术
伴随着商业银行数字化转型的进程,银行业务呈现出更加开放的特性,通过API接口开放,银行可以通过互联网向开发者开放数据、产品目录、业务渠道或其它业务资产,面向第三方企业机构提供对银行业务功能的访问权限,商业银行也将自身的金融服务变成社会公共服务平台。开放API的落地,将推动银行完成业务和IT的进一步融合,并促进银行走出去,构建自身业务场景洞见和生态资源整合的核心能力。
安全是开放的基本前提,在银行开放API接口落地运营的过程中,API接口安全性问题主要存在以下安全性考量:1.开放API接口请求来源是否合规,是否存在第三方恶意调用API接口的情况;2.开放API接口在业务数据交互过程中,是否存在请求头/查询字符串/返回内容在传输过程被恶意篡改的情况,带来资金交易风险;3.开放API接口在业务数据交互过程中,是否存在请求数据被截获,延迟重放或多次数据包重放带来的业务风险;4.开放API接口是否存在被恶意调用,恶意修改返回包数据进行流程绕过,开放接口是否存在截获用户登录请求,截获到账号、密码、用户身份标识等个人敏感信息,从而带来据信息泄漏的风险。
目前,开放API接口主要存在如下问题:(1)传统规则库安全检测完整性不高;(2)由于响应体数据为加密加签名方式,无法读取到完整有效的数据报文;(3)无法利用传统安全报文规则库进行恶意报文字段匹配;(4)API接口访问行为无行为基线,无法准确判断恶意行为。
发明内容
鉴于上述问题,本发明提供了一种商业银行开放API接口异常监测方法和装置,利用模型统计分析建立多维度访问基线和API威胁建模,识别异常访问行为,避免恶意攻击造成的业务损失。
为解决上述技术问题,本发明采用的技术方案是:一种商业银行开放API接口异常监测方法,包括如下步骤:接收互联网出口访问流量,从中识别并拆分出API接口流量,构建API接口资产表;根据所述API接口资产表对网络层报文进行解析,周期性统计解析后的网络访问信息,形成网络访问统计表;根据所述网络访问统计表和非正态分布下的3σ原则,构建访问行为分布模型,输出异常网络访问行为;根据所述API接口资产表对应用层报文进行解析,对解析后的HTTP请求报文进行字段拆分,读取并记录拆分字段,形成请求参数统计表;根据所述请求参数统计表,周期性统计各拆分字段的有效性,构建请求参数合规模型,输出异常请求参数;根据所述API接口资产表对应用层报文进行解析,对解析后的HTTP响应报文进行字段拆分,读取并记录拆分字段,形成响应参数统计表;根据所述响应参数统计表,周期性统计各拆分字段的有效性,构建响应参数合规模型,输出异常响应参数。
作为优选方案,所述API接口流量包括网络层流量和应用层流量,则所述构建API接口资产表,包括:拆分并读取所述网络层流量中网络访问链接的源地址和目的地址;基于所述目的地址构建原始资产表,及与所述原始资产表动态复制的原始资产中间表,所述原始资产中间表包括具有唯一性约束的目的IP;拆分所述应用层流量中的HTTP请求报文和HTTP响应报文,获得所述HTTP响应报文中的响应头标;对所述响应头标的字段进行判断,若不包含Content-type字段或者Content-type字段值不为application/json,则在所述原始资产中间表中剔除与目的IP相对应的行信息,形成API接口资产表。
作为优选方案,所述构建访问行为分布模型,包括:依据时间节点周期性计数生成统计量,所述网络访问统计表中的统计量呈单峰分布;在单峰分布下,若统计量数值分布在(μ-3σ,μ+3σ)区间内,则为正常值,若超出(μ-3σ,μ+3σ)区间,则为异常值,其中,μ为平均值,σ为标准差。
作为优选方案,所述构建访问行为分布模型,还包括:在同一时间节点统计与所述异常值对应的各源IP和目的IP的访问行为数据,若统计数值分布在(μ-σ,μ+σ)区间内,则判定为异常网络访问行为。
作为优选方案,所述请求参数统计表中的字段根据是否可以进行量值偏移分为固定量和可变量,所述固定量包括非统计指标和统计指标,所述统计指标包括请求URI字段,其约束值为统计区间,则所述构建请求参数合规模型,包括:将HTTP响应状态码作为参照值进行周期统计并记录,形成请求URI统计表;将正常行为下记录的所述请求URI统计表作为基线使用,对所述请求参数统计表产生调校基准;以请求URI字段作为外键进行表间关联查询,对所述请求参数统计表中的请求URI字段无法关联请求URI统计表的行信息,判定为异常请求参数,进行删除处理。
作为优选方案,所述非统计指标包括请求方法、http协议及版本、Accept字段,则所述构建请求参数合规模型,包括:在设定周期完成后,依照非统计指标约束值对请求参数统计表进行调校基准,对所述请求参数统计表中与非统计指标约束值不匹配的行信息,判定为异常请求参数,进行删除处理。
作为优选方案,所述可变量为User-Agent字段,则所述构建请求参数合规模型,包括:将User-Agent字段的参数值转换为长度值,建立可变量特征集;采用正态分布或近正态分布下的3σ原则,对可变量特征集进行处理,若长度值分布在(μ-3σ,μ+3σ)区间内,则判定为正常参数值,反之,判定为异常参数值,其中,μ为平均值,σ为标准差;将判定为正常的参数值记录在User-Agent统计表中,并将所述User-Agent统计表作为参数值基线使用,对所述请求参数统计表产生调校基准;以User-Agent字段作为外键进行表间关联查询,对所述请求参数统计表中的User-Agent字段无法关联User-Agent统计表的行信息,判定为异常请求参数,进行删除处理。
作为优选方案,所述响应参数统计表中的字段根据是否可以进行量值偏移分为固定量和可变量,所述固定量包括HTTP版本、响应代码、响应描述、Content-Type,则所述构建响应参数合规模型,包括:在设定周期完成后,依照固定量约束值对响应参数统计表进行调校基准,对所述响应参数统计表中与固定量约束值不匹配的行信息,判定为异常请求参数,进行删除处理。
作为优选方案,所述可变量为Content-Length字段,则所述构建响应参数合规模型,包括:根据Content-Length字段的参数值,建立可变量特征集;采用非正态分布下的3σ原则,对可变量特征集进行处理,若长度值分布在(μ-3σ,μ+3σ)区间内,则判定为正常参数值,反之,判定为异常参数值,其中,μ为平均值,σ为标准差;将判定为正常的参数值记录在Content-Length统计表中,并将所述Content-Length统计表作为参数值基线使用,对所述响应参数统计表产生调校基准;以Content-Length字段作为外键进行表间关联查询,对所述响应参数统计表中的Content-Length字段无法关联Content-Length统计表的行信息,判定为异常响应参数,进行删除处理。
本发明还公开了一种商业银行开放API接口异常监测装置,包括:资产表模块,用于接收互联网出口访问流量,从中识别并拆分出API接口流量,构建API接口资产表;网络访问统计表模块,用于根据所述API接口资产表对网络层报文进行解析,周期性统计解析后的网络访问信息,形成网络访问统计表;访问行为模块,用于根据所述网络访问统计表和非正态分布下的3σ原则,构建访问行为分布模型,输出异常网络访问行为;请求参数统计表模块,用于根据所述API接口资产表对应用层报文进行解析,对解析后的HTTP请求报文进行字段拆分,读取并记录拆分字段,形成请求参数统计表;请求参数模块,用于根据所述请求参数统计表,周期性统计各拆分字段的有效性,构建请求参数合规模型,输出异常请求参数;响应参数统计表模块,用于根据所述API接口资产表对应用层报文进行解析,对解析后的HTTP响应报文进行字段拆分,读取并记录拆分字段,形成响应参数统计表;响应参数模块,用于根据所述响应参数统计表,周期性统计各拆分字段的有效性,构建响应参数合规模型,输出异常响应参数。
与现有技术相比,本发明的有益效果包括:通过识别RESTAPI数据流量,在构建开放API接口资产池的基础上,对RESTAPI数据流量进行分层解析,以网络层流量分析、应用层流量分析为2大类操作,规划需要进行异常监测的参数值,拆分出“固定量”和“可变量”进行正常行为识别,以机器学习的方式加载概率区间分布算法进行异常行为判定,最终多维度的识别异常行为。
本发明实现了开放API接口访问行为合规性判断,能够识别异常的访问源、异常时间段访问、异常访问频率等;实现了开放API接口在业务交互过程中的HTTP请求头/查询字符串/返回内容合规性判断,能够识别数据报文篡改、恶意代码添加、web攻击行为等安全风险;能够有效监测开放API接口在业务交互过程中的恶意调用,恶意修改返回包数据进行流程绕过,能够有效识别开放接口是否存在截获用户登录请求,截获到账号、密码、用户身份标识等个人敏感信息,从而带来据信息泄漏的风险问题。
本发明以开放API接口为资产树,构建请求参数合规模型、访问行为分布模型、响应参数合规模型,从访问来源、访问连接、网络流量、请求参数、数据安全等方面,利用模型统计分析建立多维度访问基线和API威胁建模,规律性参数可调整的异常状态检测机制,以高效率、高准确性的方法,检测、识别异常行为,避免恶意攻击造成的业务损失。
附图说明
参照附图来说明本发明的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本发明的保护范围构成限制。在附图中,相同的附图标记用于指代相同的部件。其中:
图1为本发明实施例的开放API接口异常监测方法的流程示意图;
图2为本发明实施例的开放API接口异常监测装置的结构示意图。
具体实施方式
容易理解,根据本发明的技术方案,在不变更本发明实质精神下,本领域的一般技术人员可以提出可相互替换的多种结构方式以及实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
根据本发明的一实施方式结合图1示出。一种商业银行开放API接口异常监测方法,包括如下步骤:
S101,接收互联网出口访问流量,从中识别并拆分出API接口流量,构建API接口资产表。
从技术原理来看,RESTAPI接口流量数据返回报文的Content-type字段值为XML或者Json类型。本发明实施例中,基于实际系统开发规则,规定数据返回报文的Content-type字段值为application/json的数据包,即依此来识别开放API接口的业务交互流量。但是由于Content-type字段为数据包响应头标,即HTTP响应头的标识,其位于API接口异常监测模型的最后一层,为了提高模型的运行效率,引用瀑布模型的构建思想,按照网络层流量、应用层流量进行拆分。
上述API接口流量包括网络层流量和应用层流量,则构建API接口资产表,包括如下步骤:
(1)拆分并读取网络层流量中网络访问链接的源地址和目的地址。
(2)基于目的地址构建原始资产表,及与原始资产表动态复制的原始资产中间表。原始资产中间表如下表所示:
因为行内资源与应用系统的唯一性,一个目的IP地址的访问请求对应唯一的资产,故原始资产中间表中目的IP字段为唯一性约束条件,表中不允许重复存在。
(3)拆分应用层流量中的HTTP请求报文和HTTP响应报文,获得HTTP响应报文中的响应头标。
(4)对响应头标的字段进行判断,若不包含Content-type字段或者Content-type字段值不为application/json,则在原始资产中间表中剔除与目的IP相对应的行信息,形成API接口资产表。API接口资产表如下所示:
原始资产表处于动态变化的过程中,状态为动态增加,原始资产中间表处于动态变化的过程中,状态为动态减少,API接口资产表处于动态变化的过程中,状态为动态增加。
至此,我们完成了识别RESTAPI数据流量与构建资产池工作,这是开放API接口异常监测的第一步,资产池的构建将有助于识别行内存在多少开放API接口的应用资产,优化对于开放API接口应用资产的上线、下线、变更管理,完成API接口资产的有序互联网开放。
S102,根据API接口资产表对网络层报文进行解析,周期性统计解析后的网络访问信息,形成网络访问统计表。网络访问统计表如下所示:
网络访问参数入库的记录信息源为API接口资产表中的API资产IP,即在网络层报文解析时,仅对匹配中API接口资产表中的API资产IP进行网络层报文解析,并统计相关信息。
其中,周期(T)统计学习的时间节点,为网络访问统计表中的时间字段,该时间为每1h周期性计数。
S103,根据网络访问统计表和非正态分布下的3σ原则,构建访问行为分布模型,输出异常网络访问行为。
具体的,上述构建访问行为分布模型,包括:
(1)依据时间节点周期性计数生成统计量,网络访问统计表中的统计量呈单峰分布。即以时间伴随的总连接数统计或以时间伴随的总访问流量统计,呈现出单峰分布(unimodaldistributions)趋势。
(2)在单峰分布下,若统计量数值分布在(μ-3σ,μ+3σ)区间内,则为正常值,若超出(μ-3σ,μ+3σ)区间,则为异常值。
详细的,在单峰分布的情形下,正负三个标准差内的机率至少有95%,即数值分布在(μ-3σ,μ+3σ)中的概率为0.95,其中,μ为平均值,σ为标准差。所以一般可以认为数据的取值大部分全部集中在(μ-3σ,μ+3σ)区间内,超出该范围的数据可以认为是异常值。
进一步的,在同一时间节点统计与异常值对应的各源IP和目的IP的访问行为数据,若统计数值分布在(μ-σ,μ+σ)区间内,则判定为异常网络访问行为。统计结果如下表所示:
S104,根据API接口资产表对应用层报文进行解析,对解析后的HTTP请求报文进行字段拆分,读取并记录拆分字段,形成请求参数统计表。
HTTP请求参数入库的记录信息源为API接口资产表中的API资产IP,即在应用层报文解析时,仅对匹配中API接口资产表中的API资产IP进行应用层报文解析,拆分HTTP请求报文。对HTTP请求报文的请求行+请求头进行字段拆分,包括请求方法、请求URI、HTTP协议及版本、Accept类型、User-Agent字段。请求参数统计表如下表所示:
请求参数统计表中的字段根据是否可以进行量值偏移分为固定量和可变量。其中,固定量包括非统计指标和统计指标,可变量为User-Agent字段。统计指标包括请求URI字段,其约束值为统计区间,非统计指标包括请求方法、http协议及版本、Accept字段。
非统计指标约束值如下:
请求方法:GET、POST、HEAD;
http协议及版本:HTTP/1.0、HTTP/1.1;
Accept:application/json。
S105,根据请求参数统计表,周期性统计各拆分字段的有效性,构建请求参数合规模型,输出异常请求参数。
(1)基于统计指标,则构建请求参数合规模型,包括如下步骤:
A.将HTTP响应状态码作为参照值进行周期统计并记录,形成请求URI统计表。例如:在HTTP响应状态码为200OK对应的请求URI,判定为银行预先定义完成对外提供开放的URI请求路径,进行入库记录,形成“请求URI统计表”。请求URI统计表如下所示:
B.将正常行为下记录的请求URI统计表作为基线使用,对请求参数统计表产生调校基准。调校基准即不断优化基准,以准确形成基准范围。
C.以请求URI字段作为外键进行表间关联查询,对请求参数统计表中的请求URI字段无法关联请求URI统计表的行信息,判定为异常请求参数,进行删除处理。
表间关联查询即对2个表之间的某一值进行对比,具体为:以某一条用户请求URI字段记录在请求参数统计表中,对请求参数统计表中的该条记录对应在请求URI统计表中进行查询,即比对关联,查看是否有相关记录。
(2)基于非统计指标,则构建请求参数合规模型,包括:
在设定周期完成后,依照非统计指标约束值对请求参数统计表进行调校基准,对请求参数统计表中与非统计指标约束值不匹配的行信息,判定为异常请求参数,进行删除处理。
(3)基于可变量,该可变量为User-Agent字段,则构建请求参数合规模型,包括如下步骤:
A.将User-Agent字段的参数值转换为长度值,建立可变量特征集。
B.采用正态分布或近正态分布下的3σ原则,对可变量特征集进行处理,若长度值分布在(μ-3σ,μ+3σ)区间内,则判定为正常参数值,反之,判定为异常参数值,其中,μ为平均值,σ为标准差。
3σ原则(拉依达原则)是最常使用的一种处理数据异常值的方法,数值分布在(μ-σ,μ+σ)中的概率为0.6827,数值分布在(μ-2σ,μ+2σ)中的概率为0.9545,数值分布在(μ-3σ,μ+3σ)中的概率为0.9973,其中,μ为平均值,σ为标准差,所以一般可以认为数据Y的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%,这些超出该范围的数据可以认为是异常值。
C.将判定为正常的参数值记录在User-Agent统计表中,并将User-Agent统计表作为参数值基线使用,对请求参数统计表产生调校基准。User-Agent统计表如下所示:
D.以User-Agent字段作为外键进行表间关联查询,对请求参数统计表中的User-Agent字段无法关联User-Agent统计表的行信息,判定为异常请求参数,进行删除处理。
S106,根据API接口资产表对应用层报文进行解析,对解析后的HTTP响应报文进行字段拆分,读取并记录拆分字段,形成响应参数统计表。
HTTP响应参数入库的记录信息源为API接口资产表中的API资产IP,即在应用层报文解析时,仅对匹配中API接口资产表中的API资产IP进行应用层报文解析,拆分HTTP响应报文。
对于商业银行开放API接口的HTTP响应数据而言,可分为响应行+响应头+响应体三部分,其中响应体可展示服务器真实反馈的报文数据,但是基于银行的实际业务环境,HTTP响应体数据为加密加签名方式,无法读取到完整有效的数据报文,无法完成可用率较高的异常检测机制,故此处进行API接口的应用层报文解析,对HTTP响应报文的响应行+响应头进行字段拆分,从侧面来反应HTTP响应体数据的有效性,拆分后包括HTTP版本、响应代码、响应描述、Content-Length、Content-Type字段,对各类型的拆分字段进行读取并入库记录,形成响应参数统计表。
响应参数统计表如下所示:
响应参数统计表中的字段根据是否可以进行量值偏移分为固定量和可变量,固定量为已知的参数值范围,不可进行量值偏移;可变量为随机性的参数值,可在一定区间内进行量值偏移,基于偏移量进行异常判定。可变量为Content-Length字段。
固定量包括HTTP版本、响应代码、响应描述、Content-Type。
固定量约束值如下:
HTTP版本:HTTP/1.0、HTTP/1.1;
响应代码:200;
响应描述:OK;
Content-Type:application/json。
S107,根据响应参数统计表,周期性统计各拆分字段的有效性,构建响应参数合规模型,输出异常响应参数。
(1)基于固定量,则构建响应参数合规模型,包括:
在设定周期完成后,依照固定量约束值对响应参数统计表进行调校基准,对响应参数统计表中与固定量约束值不匹配的行信息,判定为异常请求参数,进行删除处理。
(2)基于可变量,该可变量为Content-Length字段,则构建响应参数合规模型,包括如下步骤:
A.根据Content-Length字段的参数值,建立可变量特征集。
B.采用非正态分布下的3σ原则,对可变量特征集进行处理,若长度值分布在(μ-3σ,μ+3σ)区间内,则判定为正常参数值,反之,判定为异常参数值,其中,μ为平均值,σ为标准差。
由于Content-Length参数值规律性不符合标准或近似正态分布,所以对于异常值的处理,可以使用在非正态分布的情形下的3σ原则。依照切比雪夫不等式,即使是在非正态分布的情形下,至少会有88.8%的机率会在正负三个标准差的范围内,即数值分布在(μ-3σ,μ+3σ)中的概率为0.888,其中,μ为平均值,σ为标准差,所以一般可以认为数据Y的取值大部分全部集中在(μ-3σ,μ+3σ)区间内,这些超出该范围的数据可以认为是异常值。
C.将判定为正常的参数值记录在Content-Length统计表中,并将Content-Length统计表作为参数值基线使用,对响应参数统计表产生调校基准。Content-Length统计表如下所示:
D.以Content-Length字段作为外键进行表间关联查询,对响应参数统计表中的Content-Length字段无法关联Content-Length统计表的行信息,判定为异常响应参数,进行删除处理。
本发明实施例中,使用Python来实现基于三西格马定律(three-sigmaruleofthumb)的动态检测算法引擎,只需要调整异常值的检测识别区间,即可完成开放API接口的不同场景下的异常值识别。具体代码如下所示:
importnumpy
importpandas
fromscipyimportstats
#数据输入
data=[x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x]
df=pandas.DataFrame(data,columns=['value'])
#均值计算
μ=df['value'].mean()
#标准差计算
std=df['value'].std()
print(stats.kstest(df,'norm',(u,std)))
print('均值为:%.3f,标准差为:%.3f'%(u,std))
print('--------')
#识别区间异常值可调整
error=df[numpy.abs(df['value']-u)>3*std]
#识别区间正常值可调整
data_t=df[numpy.abs(df['value']-u)<=3*std]
#输出正常值
print(data_t)
#输出异常值
print(error)
参见图2,本发明还公开了一种商业银行开放API接口异常监测装置,包括:
资产表模块101,用于接收互联网出口访问流量,从中识别并拆分出API接口流量,构建API接口资产表。
网络访问统计表模块102,用于根据API接口资产表对网络层报文进行解析,周期性统计解析后的网络访问信息,形成网络访问统计表。
访问行为模块103,用于根据网络访问统计表和非正态分布下的3σ原则,构建访问行为分布模型,输出异常网络访问行为。
请求参数统计表模块104,用于根据API接口资产表对应用层报文进行解析,对解析后的HTTP请求报文进行字段拆分,读取并记录拆分字段,形成请求参数统计表。
请求参数模块105,用于根据请求参数统计表,周期性统计各拆分字段的有效性,构建请求参数合规模型,输出异常请求参数。
响应参数统计表模块106,用于根据API接口资产表对应用层报文进行解析,对解析后的HTTP响应报文进行字段拆分,读取并记录拆分字段,形成响应参数统计表。
响应参数模块107,用于根据响应参数统计表,周期性统计各拆分字段的有效性,构建响应参数合规模型,输出异常响应参数。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本发明的有益效果包括:通过识别RESTAPI数据流量,在构建开放API接口资产池的基础上,对RESTAPI数据流量进行分层解析,以网络层流量分析、应用层流量分析为2大类操作,规划需要进行异常监测的参数值,拆分出“固定量”和“可变量”进行正常行为识别,以机器学习的方式加载概率区间分布算法进行异常行为判定,最终多维度的识别异常行为。
本发明实现了开放API接口访问行为合规性判断,能够识别异常的访问源、异常时间段访问、异常访问频率等;实现了开放API接口在业务交互过程中的HTTP请求头/查询字符串/返回内容合规性判断,能够识别数据报文篡改、恶意代码添加、web攻击行为等安全风险;能够有效监测开放API接口在业务交互过程中的恶意调用,恶意修改返回包数据进行流程绕过,能够有效识别开放接口是否存在截获用户登录请求,截获到账号、密码、用户身份标识等个人敏感信息,从而带来据信息泄漏的风险问题。
本发明以开放API接口为资产树,构建请求参数合规模型、访问行为分布模型、响应参数合规模型,从访问来源、访问连接、网络流量、请求参数、数据安全等方面,利用模型统计分析建立多维度访问基线和API威胁建模,规律性参数可调整的异常状态检测机制,以高效率、高准确性的方法,检测、识别异常行为,避免恶意攻击造成的业务损失。
应理解,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的技术范围不仅仅局限于上述说明中的内容,本领域技术人员可以在不脱离本发明技术思想的前提下,对上述实施例进行多种变形和修改,而这些变形和修改均应当属于本发明的保护范围内。
Claims (9)
1.一种商业银行开放API接口异常监测方法,其特征在于,包括如下步骤:
接收互联网出口访问流量,从中识别并拆分出API接口流量,构建API接口资产表;
根据所述API接口资产表对网络层报文进行解析,周期性统计解析后的网络访问信息,形成网络访问统计表;
根据所述网络访问统计表和非正态分布下的3σ原则,构建访问行为分布模型,输出异常网络访问行为;
根据所述API接口资产表对应用层报文进行解析,对解析后的HTTP请求报文进行字段拆分,读取并记录拆分字段,形成请求参数统计表;
根据所述请求参数统计表,周期性统计各拆分字段的有效性,构建请求参数合规模型,输出异常请求参数;
根据所述API接口资产表对应用层报文进行解析,对解析后的HTTP响应报文进行字段拆分,读取并记录拆分字段,形成响应参数统计表;
根据所述响应参数统计表,周期性统计各拆分字段的有效性,构建响应参数合规模型,输出异常响应参数;
其中,所述API接口流量包括网络层流量和应用层流量,则所述构建API接口资产表,包括:
拆分并读取所述网络层流量中网络访问链接的源地址和目的地址;
基于所述目的地址构建原始资产表,及与所述原始资产表动态复制的原始资产中间表,所述原始资产中间表包括序号、源IP、目的IP、端口、时间戳和唯一性索引,且所述目的IP具有唯一性约束;
拆分所述应用层流量中的HTTP请求报文和HTTP响应报文,获得所述HTTP响应报文中的响应头标;
对所述响应头标的字段进行判断,若不包含Content-type字段或者Content-type字段值不为application/json,则在所述原始资产中间表中剔除与目的IP相对应的行信息,形成API接口资产表,所述API接口资产表包括序号、API资产IP、端口和唯一性索引。
2.根据权利要求1所述的商业银行开放API接口异常监测方法,其特征在于,所述构建访问行为分布模型,包括:
依据时间节点周期性计数生成统计量,所述网络访问统计表中的统计量呈单峰分布;
在单峰分布下,若统计量数值分布在(μ-3σ,μ+3σ)区间内,则为正常值,若超出(μ-3σ,μ+3σ)区间,则为异常值,其中,μ为平均值,σ为标准差。
3.根据权利要求2所述的商业银行开放API接口异常监测方法,其特征在于,所述构建访问行为分布模型,还包括:在同一时间节点统计与所述异常值对应的各源IP和目的IP的访问行为数据,若统计数值分布在(μ-σ,μ+σ)区间内,则判定为异常网络访问行为。
4.根据权利要求1所述的商业银行开放API接口异常监测方法,其特征在于,所述请求参数统计表中的字段根据是否可以进行量值偏移分为固定量和可变量,所述固定量包括非统计指标和统计指标,所述统计指标包括请求URI字段,其约束值为统计区间,则所述构建请求参数合规模型,包括:
将HTTP响应状态码作为参照值进行周期统计并记录,形成请求URI统计表;
将正常行为下记录的所述请求URI统计表作为基线使用,对所述请求参数统计表产生调校基准;
以请求URI字段作为外键进行表间关联查询,对所述请求参数统计表中的请求URI字段无法关联请求URI统计表的行信息,判定为异常请求参数,进行删除处理。
5.根据权利要求4所述的商业银行开放API接口异常监测方法,其特征在于,所述非统计指标包括请求方法、http协议及版本、Accept字段,则所述构建请求参数合规模型,包括:
在设定周期完成后,依照非统计指标约束值对请求参数统计表进行调校基准,对所述请求参数统计表中与非统计指标约束值不匹配的行信息,判定为异常请求参数,进行删除处理。
6.根据权利要求4所述的商业银行开放API接口异常监测方法,其特征在于,所述可变量为User-Agent字段,则所述构建请求参数合规模型,包括:
将User-Agent字段的参数值转换为长度值,建立可变量特征集;
采用正态分布或近正态分布下的3σ原则,对可变量特征集进行处理,若长度值分布在(μ-3σ,μ+3σ)区间内,则判定为正常参数值,反之,判定为异常参数值,其中,μ为平均值,σ为标准差;
将判定为正常的参数值记录在User-Agent统计表中,并将所述User-Agent统计表作为参数值基线使用,对所述请求参数统计表产生调校基准;
以User-Agent字段作为外键进行表间关联查询,对所述请求参数统计表中的User-Agent字段无法关联User-Agent统计表的行信息,判定为异常请求参数,进行删除处理。
7.根据权利要求1所述的商业银行开放API接口异常监测方法,其特征在于,所述响应参数统计表中的字段根据是否可以进行量值偏移分为固定量和可变量,所述固定量包括HTTP版本、响应代码、响应描述、Content-Type,则所述构建响应参数合规模型,包括:
在设定周期完成后,依照固定量约束值对响应参数统计表进行调校基准,对所述响应参数统计表中与固定量约束值不匹配的行信息,判定为异常请求参数,进行删除处理。
8.根据权利要求7所述的商业银行开放API接口异常监测方法,其特征在于,所述可变量为Content-Length字段,则所述构建响应参数合规模型,包括:
根据Content-Length字段的参数值,建立可变量特征集;
采用非正态分布下的3σ原则,对可变量特征集进行处理,若长度值分布在(μ-3σ,μ+3σ)区间内,则判定为正常参数值,反之,判定为异常参数值,其中,μ为平均值,σ为标准差;
将判定为正常的参数值记录在Content-Length统计表中,并将所述Content-Length统计表作为参数值基线使用,对所述响应参数统计表产生调校基准;
以Content-Length字段作为外键进行表间关联查询,对所述响应参数统计表中的Content-Length字段无法关联Content-Length统计表的行信息,判定为异常响应参数,进行删除处理。
9.一种商业银行开放API接口异常监测装置,其特征在于,包括:
资产表模块,用于接收互联网出口访问流量,从中识别并拆分出API接口流量,构建API接口资产表;
网络访问统计表模块,用于根据所述API接口资产表对网络层报文进行解析,周期性统计解析后的网络访问信息,形成网络访问统计表;
访问行为模块,用于根据所述网络访问统计表和非正态分布下的3σ原则,构建访问行为分布模型,输出异常网络访问行为;
请求参数统计表模块,用于根据所述API接口资产表对应用层报文进行解析,对解析后的HTTP请求报文进行字段拆分,读取并记录拆分字段,形成请求参数统计表;
请求参数模块,用于根据所述请求参数统计表,周期性统计各拆分字段的有效性,构建请求参数合规模型,输出异常请求参数;
响应参数统计表模块,用于根据所述API接口资产表对应用层报文进行解析,对解析后的HTTP响应报文进行字段拆分,读取并记录拆分字段,形成响应参数统计表;
响应参数模块,用于根据所述响应参数统计表,周期性统计各拆分字段的有效性,构建响应参数合规模型,输出异常响应参数;
其中,所述API接口流量包括网络层流量和应用层流量,则所述构建API接口资产表,包括:
拆分并读取所述网络层流量中网络访问链接的源地址和目的地址;
基于所述目的地址构建原始资产表,及与所述原始资产表动态复制的原始资产中间表,所述原始资产中间表包括序号、源IP、目的IP、端口、时间戳和唯一性索引,且所述目的IP具有唯一性约束;
拆分所述应用层流量中的HTTP请求报文和HTTP响应报文,获得所述HTTP响应报文中的响应头标;
对所述响应头标的字段进行判断,若不包含Content-type字段或者Content-type字段值不为application/json,则在所述原始资产中间表中剔除与目的IP相对应的行信息,形成API接口资产表,所述API接口资产表包括序号、API资产IP、端口和唯一性索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210054375.0A CN114070656B (zh) | 2022-01-18 | 2022-01-18 | 一种商业银行开放api接口异常监测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210054375.0A CN114070656B (zh) | 2022-01-18 | 2022-01-18 | 一种商业银行开放api接口异常监测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114070656A CN114070656A (zh) | 2022-02-18 |
CN114070656B true CN114070656B (zh) | 2022-03-25 |
Family
ID=80231304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210054375.0A Active CN114070656B (zh) | 2022-01-18 | 2022-01-18 | 一种商业银行开放api接口异常监测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114070656B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531307B (zh) * | 2022-04-25 | 2022-08-09 | 南京赛宁信息技术有限公司 | 主动防御网关的api模型构建与防御方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434747A (zh) * | 2021-06-09 | 2021-09-24 | 佳源科技股份有限公司 | 一种基于序列模式的异常行为跟踪装置及方法 |
CN113919664A (zh) * | 2021-09-23 | 2022-01-11 | 上海浦东发展银行股份有限公司 | Api资产风险控制方法、装置、计算机设备和存储介质 |
CN113918660A (zh) * | 2021-09-23 | 2022-01-11 | 上海浦东发展银行股份有限公司 | Api资产管理方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10917419B2 (en) * | 2017-05-05 | 2021-02-09 | Servicenow, Inc. | Systems and methods for anomaly detection |
-
2022
- 2022-01-18 CN CN202210054375.0A patent/CN114070656B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434747A (zh) * | 2021-06-09 | 2021-09-24 | 佳源科技股份有限公司 | 一种基于序列模式的异常行为跟踪装置及方法 |
CN113919664A (zh) * | 2021-09-23 | 2022-01-11 | 上海浦东发展银行股份有限公司 | Api资产风险控制方法、装置、计算机设备和存储介质 |
CN113918660A (zh) * | 2021-09-23 | 2022-01-11 | 上海浦东发展银行股份有限公司 | Api资产管理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114070656A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200389495A1 (en) | Secure policy-controlled processing and auditing on regulated data sets | |
US20190207751A1 (en) | Blockchain enterprise data management | |
EP2244418B1 (en) | Database security monitoring method, device and system | |
US11296863B2 (en) | Blockchain enterprise data management | |
de Azevedo Sousa et al. | An analysis of the fees and pending time correlation in Ethereum | |
US20120198569A1 (en) | Associated with abnormal application-specific activity monitoring in a computing network | |
US20140095866A1 (en) | System and method for verification of digital certificates | |
US20210092160A1 (en) | Data set creation with crowd-based reinforcement | |
CN107302547A (zh) | 一种web业务异常检测方法及装置 | |
CN106656536A (zh) | 一种用于处理服务调用信息的方法与设备 | |
US8955143B1 (en) | Use of decoy data in a data store | |
US20240086414A1 (en) | Efficient access of chainable records | |
US20210281609A1 (en) | Rating organization cybersecurity using probe-based network reconnaissance techniques | |
JP2002108824A (ja) | 電子商取引監査システム、電子商取引監査方法及び電子商取引監査プログラムを記録した記録媒体 | |
CN114070656B (zh) | 一种商业银行开放api接口异常监测方法和装置 | |
CN115766258A (zh) | 一种基于因果关系图的多阶段攻击趋势预测方法、设备及存储介质 | |
CN110192212B (zh) | 数字资产平台 | |
CN114531304A (zh) | 一种基于数据包的会话处理方法和系统 | |
Ekici et al. | Data cleaning for process mining with smart contract | |
Wang et al. | A conceptual model for blockchain-based auditing information system | |
CN113034275B (zh) | 一种基于区块链网络的管理系统、方法及终端设备 | |
CN116910023A (zh) | 一种数据治理系统 | |
CN116582346A (zh) | 一种被动网络资产识别方法、装置、服务器以及存储介质 | |
CN114297712A (zh) | 基于数据流转全流程审计的数据防攻击方法及装置 | |
CN113360568A (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 | ||
CP03 | Change of name, title or address |
Address after: No.4 building, Hexi Financial City, Jianye District, Nanjing City, Jiangsu Province, 210000 Patentee after: Jiangsu Sushang Bank Co.,Ltd. Country or region after: China Address before: No.4 building, Hexi Financial City, Jianye District, Nanjing City, Jiangsu Province, 210000 Patentee before: JIANGSU SUNING BANK Co.,Ltd. Country or region before: China |