一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于流量分析的企业API安全管控方法及系统与流程

2022-11-28 10:32:48 来源:中国专利 TAG:

基于流量分析的企业api安全管控方法及系统
技术领域
1.本发明属于网络安全技术领域,具体涉及一种基于流量分析的企业api安全管控方法及系统。


背景技术:

2.随着经济技术的发展和人们生活水平的提高,网络技术已经广泛应用于人们的生产和生活当中,给人们的生产和生活带来了无尽的便利。因此,网络技术的安全性,就成为了人们越来越关注的问题之一。
3.随着互联网、物联网的快速发展,越来越多的企业通过api接口提供微服务并进行快速迭代开发。api接口既能够起到连接服务的功能,又能够用来传输数据;在业务系统扩展与数字化过程的推进中,必将伴随着更加复杂的api接口数据流动场景。但是,api接口在提供便捷服务的同时,也面临着诸多网络安全风险,除了传统的web攻击外,还面临着api资产管理不当、过度数据暴露、权限控制等方面的威胁。
4.当前企业的api安全管控方法,主要是通过部署传统api网关、waf(web application firewall,应用层防火墙)等安全产品来实现;该方法能够起到一定的作用,但在防护能力上也存在明显不足。在api资产管理方面,当前部署的api安全产品无法解决企业api资产梳理不清的问题,企业并不清楚api的具体数量以及状态。在api安全防护方面,早期的api防护以部署传统api网关为主;传统api网关以鉴权为核心,主要包括身份验证、访问控制、速率限制等功能,缺少api调用过程中的恶意攻击检测与防护能力。此后出现的基于waf的解决方案主要是通过特征匹配、策略规则等方式对api请求中的sql注入、xss注入、命令执行等传统web攻击进行检测。但是随着针对api特性的新型攻击越来越多,waf也难以有效识别api滥用、信息泄露等新的api安全风险。


技术实现要素:

5.本发明的目的之一在于提供一种可靠性高、适用性好且稳定安全的基于流量分析的企业api安全管控方法。
6.本发明的目的之二在于提供一种实现所述基于流量分析的企业api安全管控方法的系统。
7.本发明提供的这种基于流量分析的企业api安全管控方法,包括如下步骤:
8.s1.对企业的api调用场景进行业务流量的采集;
9.s2.根据步骤s1获取的业务流量,识别api接口,形成资产清单,从而实现api资产的自动化统一管理;
10.s3.设置敏感信息字典,并对步骤s1获取的业务流量进行敏感信息匹配,实现对泄露企业敏感信息的数据访问进行实时阻断;
11.s4.提取步骤s1获取的业务流量的特征,并采用孤立森林算法进行api异常调用行为检测;
12.s5.对步骤s2~步骤s4的结果进行实时展示,实现企业api安全风险的实时监控与展示。
13.步骤s1所述的对企业的api调用场景进行业务流量的采集,具体包括如下步骤:
14.选定企业的api调用场景;
15.配置负载均衡反向代理,每隔设定的周期对业务流量进行采集。
16.所述的api调用场景,具体包括web应用、app、微信公众号和微信小程序。
17.步骤s2所述的根据步骤s1获取的业务流量,识别api接口,形成资产清单,从而实现api资产的自动化统一管理,具体包括如下步骤:
18.基于soap(simple object access protocol,简单对象访问协议)和rest(representational state transfer,表述性状态传递)api协议规范,设计api识别规则;所述的api识别规则包括域名字段、端口字段、url字段、请求方法字段和返回数据类型字段;
19.将步骤s1获取的业务流量数据包,采用api识别规则进行识别,从而自动发现api资产;
20.将自动发现的api资产,与企业已知的api资产、历史线下api数据库进行对比,从而得到已知api资产清单、未知api资产清单和历史api资产清单;
21.对已知api资产清单进行更新,将未知api资产清单上的api资产加入企业已知的api资产数据库,将历史api资产清单上的api资产进行关闭下线处理,从而实现api资产的自动化统一管理。
22.步骤s3所述的设置敏感信息字典,并对步骤s1获取的业务流量进行敏感信息匹配,实现对泄露企业敏感信息的数据访问进行实时阻断,具体包括如下步骤:
23.设置敏感信息字典:包括手机号、身份证号、银行卡号、邮箱地址、固定电话号码、ip地址和车牌号,共7种敏感信息类型;
24.设计敏感信息正则匹配规则:
25.手机号的正则表达式为(13\d|14[579]|15[^4\d]|17[^49\d]|18\d)\d{8};
[0026]
身份证号的正则表达式为\d{17}[0-9xx]|\d{15};
[0027]
银行卡号的正则表达式为^\d{14,19}$;
[0028]
邮箱地址的正则表达式为\w[-\w. ]*@([a-za-z0-9][-a-za-z0-9] \.) [a-za-z]{2,14};
[0029]
固定电话号码的正则表达式为(\(\d{3,4}-)|\d{3.4}-)?\d{7,8};
[0030]
ip地址的正则表达式为\d{0,3}\.\d{0,3}\.\d{0,3}\.\d{0,3};
[0031]
车牌号的正则表达式为^[\u4e00-\u9fa5]{1}[a-z]{1}[a-z_0-9]{5}$;
[0032]
对步骤s1获取的业务流量进行正则表达式匹配,实现对敏感信息的检测:计算一次api调用过程中检测得到的敏感数据的数量,若敏感数据的数量大于或等于设定的阈值,则判定为敏感信息泄露事件,触发敏感信息泄露告警,返回rst报文对api调用过程进行实时阻断;若敏感数据的数量小于设定的阈值,则认定为正常。
[0033]
步骤s4所述的提取步骤s1获取的业务流量的特征,并采用孤立森林算法进行api异常调用行为检测,具体包括如下步骤:
[0034]
a.获取已知的业务流量,并从报文特征和时序特征两个维度,提取业务流量的关
键特征;
[0035]
b.对步骤a获取的关键特征进行归一化处理,并将数据分为训练数据集和测试数据集;
[0036]
c.训练单棵二叉树:从训练数据集中选定设定数量的样本作为一棵孤立树的根节点,然后从关键特征中随机指定一个特征,并在该特征的数据范围内随机产生一个切割点,并通过该切割点生成一个超平面,从而划分训练数据集;
[0037]
d.整合若干个二叉树的结果:采用集成学习思想,若干次随机抽取样本和数据,训练若干棵二叉树,并综合每棵二叉树的结果,并计算异常分数值;
[0038]
e.不断调整二叉树的数量和参数,从而构建得到api异常调用行为检测初始模型;
[0039]
f.针对步骤e得到的api异常调用行为检测初始模型,采用测试数据集进行测试:
[0040]
若测试成功,则得到api异常调用行为检测模型;
[0041]
若测试不成功,则回到步骤c并重新进行训练,直至测试成功,得到api异常调用行为检测模型;
[0042]
g.采用步骤f得到的api异常调用行为检测模型,对步骤s1获取的业务流量的特征进行检测;若检测到api异常调用行为,则返回rst报文,并对api调用过程进行实时阻断。
[0043]
步骤a所述的关键特征,具体包括url长度、参数部分长度、参数名长度、参数值长度、参数个数、参数长度占比、特殊字符个数、参数路径深度、referer字段与host字段是否一致、返回响应码、调用接口时间、调用接口时长和调用接口频率。
[0044]
本发明还提供了一种实现所述基于流量分析的企业api安全管控方法的系统,包括业务流量采集模块、api资产管理模块、敏感信息检测模块、异常调用行为检测模块和数据展示模块;业务流量采集模块的输出端同时连接api资产管理模块、敏感信息检测模块和异常调用行为检测模块的输入端;api资产管理模块、敏感信息检测模块和异常调用行为检测模块的输出端同时连接数据展示模块;业务流量采集模块用于对企业的api调用场景进行业务流量的采集,并将采集的数据上传api资产管理模块、敏感信息检测模块和异常调用行为检测模块;api资产管理模块用于识别api接口,形成资产清单,从而实现api资产的自动化统一管理,并将数据上传数据展示模块;敏感信息检测模块用于设置敏感信息字典,对接收的业务流量进行敏感信息匹配,实现对泄露企业敏感信息的数据访问进行实时阻断,并将数据上传数据展示模块;异常调用行为检测模块用于采用孤立森林算法进行api异常调用行为检测,并将数据上传数据展示模块;数据展示模块用于根据接收到的数据结果,进行实时展示,实现企业api安全风险的实时监控与展示。
[0045]
本发明提供的这种基于流量分析的企业api安全管控方法及系统,能够自动识别api资产、信息泄露风险和api异常调用告警,并进行对应的处理和统一展示,实现了api安全风险的实时监控与展示,而且可靠性高、适用性好且稳定安全。
附图说明
[0046]
图1为本发明方法的方法流程示意图。
[0047]
图2为本发明系统的系统功能模块图。
具体实施方式
[0048]
如图1所示为本发明方法的方法流程示意图:本发明提供的这种基于流量分析的企业api安全管控方法,包括如下步骤:
[0049]
s1.对企业的api调用场景进行业务流量的采集;具体包括如下步骤:
[0050]
选定企业的api调用场景;所述的api调用场景包括web应用、app、微信公众号和微信小程序等;
[0051]
配置负载均衡反向代理,每隔设定的周期对业务流量进行采集;
[0052]
s2.根据步骤s1获取的业务流量,识别api接口,形成资产清单,从而实现api资产的自动化统一管理;具体包括如下步骤:
[0053]
基于soap(simple object access protocol,简单对象访问协议)和rest(representational state transfer,表述性状态传递)api协议规范,设计api识别规则;所述的api识别规则包括域名字段、端口字段、url字段、请求方法字段和返回数据类型字段;
[0054]
将步骤s1获取的业务流量数据包,采用api识别规则进行识别,从而自动发现api资产;
[0055]
将自动发现的api资产,与企业已知的api资产、历史线下api数据库进行对比,从而得到已知api资产清单、未知api资产清单和历史api资产清单;
[0056]
对已知api资产清单进行更新,将未知api资产清单上的api资产加入企业已知的api资产数据库,将历史api资产清单上的api资产进行关闭下线处理,从而实现api资产的自动化统一管理;
[0057]
s3.设置敏感信息字典,并对步骤s1获取的业务流量进行敏感信息匹配,实现对泄露企业敏感信息的数据访问进行实时阻断;具体包括如下步骤:
[0058]
设置敏感信息字典:包括手机号、身份证号、银行卡号、邮箱地址、固定电话号码、ip地址和车牌号,共7种敏感信息类型;
[0059]
设计敏感信息正则匹配规则:
[0060]
手机号的正则表达式为(13\d|14[579]|15[^4\d]|17[^49\d]|18\d)\d{8};
[0061]
身份证号的正则表达式为\d{17}[0-9xx]|\d{15};
[0062]
银行卡号的正则表达式为^\d{14,19}$;
[0063]
邮箱地址的正则表达式为\w[-\w. ]*@([a-za-z0-9][-a-za-z0-9] \.) [a-za-z]{2,14};
[0064]
固定电话号码的正则表达式为(\(\d{3,4}-)|\d{3.4}-)?\d{7,8};
[0065]
ip地址的正则表达式为\d{0,3}\.\d{0,3}\.\d{0,3}\.\d{0,3};
[0066]
车牌号的正则表达式为^[\u4e00-\u9fa5]{1}[a-z]{1}[a-z_0-9]{5}$;
[0067]
对步骤s1获取的业务流量进行正则表达式匹配,实现对敏感信息的检测:计算一次api调用过程中检测得到的敏感数据的数量,若敏感数据的数量大于或等于设定的阈值,则判定为敏感信息泄露事件,触发敏感信息泄露告警,返回rst报文对api调用过程进行实时阻断;若敏感数据的数量小于设定的阈值,则认定为正常;
[0068]
s4.提取步骤s1获取的业务流量的特征,并采用孤立森林算法进行api异常调用行为检测;具体包括如下步骤:
[0069]
a.获取已知的业务流量,并从报文特征和时序特征两个维度,提取业务流量的关键特征;关键特征具体包括url长度、参数部分长度、参数名长度、参数值长度、参数个数、参数长度占比、特殊字符个数、参数路径深度、referer字段与host字段是否一致、返回响应码、调用接口时间、调用接口时长和调用接口频率等;
[0070]
b.对步骤a获取的关键特征进行归一化处理,降低各种干扰因素对原始数据造成的影响;并将数据分为训练数据集和测试数据集;
[0071]
c.训练单棵二叉树:从训练数据集中选定设定数量的样本作为一棵孤立树的根节点,然后从关键特征中随机指定一个特征,并在该特征的数据范围内随机产生一个切割点,并通过该切割点生成一个超平面,从而划分训练数据集;
[0072]
d.整合若干个二叉树的结果:采用集成学习思想,若干次随机抽取样本和数据,训练若干棵二叉树,并综合每棵二叉树的结果,并计算异常分数值;
[0073]
e.不断调整二叉树的数量和参数,从而构建得到api异常调用行为检测初始模型;
[0074]
f.针对步骤e得到的api异常调用行为检测初始模型,采用测试数据集进行测试:
[0075]
具体实施时,计算初始模型的auc值;
[0076]
若测试成功(初始模型的auc值大于0.85),则将当前的api异常调用行为检测初始模型作为最终的api异常调用行为检测模型;
[0077]
若测试不成功(初始模型的auc值小于或等于0.85),则回到步骤c并重新进行训练,直至测试成功,得到api异常调用行为检测模型;
[0078]
g.采用步骤f得到的api异常调用行为检测模型,对步骤s1获取的业务流量的特征进行检测;若检测到api异常调用行为,则返回rst报文,并对api调用过程进行实时阻断;
[0079]
s5.对步骤s2~步骤s4的结果进行实时展示,实现企业api安全风险的实时监控与展示。
[0080]
如图2所示为本发明系统的系统功能模块图:本发明提供的这种实现所述基于流量分析的企业api安全管控方法的系统,包括业务流量采集模块、api资产管理模块、敏感信息检测模块、异常调用行为检测模块和数据展示模块;业务流量采集模块的输出端同时连接api资产管理模块、敏感信息检测模块和异常调用行为检测模块的输入端;api资产管理模块、敏感信息检测模块和异常调用行为检测模块的输出端同时连接数据展示模块;业务流量采集模块用于对企业的api调用场景进行业务流量的采集,并将采集的数据上传api资产管理模块、敏感信息检测模块和异常调用行为检测模块;api资产管理模块用于识别api接口,形成资产清单,从而实现api资产的自动化统一管理,并将数据上传数据展示模块;敏感信息检测模块用于设置敏感信息字典,对接收的业务流量进行敏感信息匹配,实现对泄露企业敏感信息的数据访问进行实时阻断,并将数据上传数据展示模块;异常调用行为检测模块用于采用孤立森林算法进行api异常调用行为检测,并将数据上传数据展示模块;数据展示模块用于根据接收到的数据结果,进行实时展示,实现企业api安全风险的实时监控与展示。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献