主动防御网关的API模型构建与防御方法及系统技术方案

技术编号:33565591 阅读:20 留言:0更新日期:2022-05-26 23:04
本发明专利技术公开了一种主动防御网关的API模型构建与防御方法及系统,先统计API访问日志中的每个URI出现的次数,设置有效性分值;然后对HTTP请求消息中的参数名称进行统计,生成各参数名称对应的单参数模型,并设置有效性分值,再基于类型树对参数值进行类型匹配,获取匹配的最深的类型节点;对同一参数名称所有的参数值匹配到的类型进行统计,为匹配到的类型设置分值;将同一参数名称匹配到的类型及其分值加入到对应的单参数模型中的取值特征表中;最后将一个URI对应的所有单参数模型组织起来即得到一个API模型。本发明专利技术能够对API自动学习,识别参数及类型,提高API自动发现精细程度,能够利用学习到的模型对API进行保护。利用学习到的模型对API进行保护。利用学习到的模型对API进行保护。

【技术实现步骤摘要】
主动防御网关的API模型构建与防御方法及系统


[0001]本专利技术涉及一种主动防御网关的API模型构建与防御方法及系统,属于网络安全


技术介绍

[0002]如图1所示,主动防御网关是用于保护Web站点的一种安全网关。它部署在用户与Web站点之间、靠近站点的位置,支持HTTP和HTTPS协议。
[0003]相比与传统的安全网关,主动防御网关具备对用户侧的运行环境进行主动探测和监控的能力,能够提高对威胁事件的判断准确度,进一步提高安全防护能力。
[0004]在部署主动防御网关(下文简称网关)后,管理员需要在网关配置模块中添加一个站点的信息,包括站点的协议、域名或者IP地址、端口号、证书、后端服务器的地址。配置完成后,终端用户才能够使用浏览器,输入站点域名或者IP地址访问到站点。实际的网络流量,在经过若干网络设备后,到达网关,由网关进行检测后转发给后端的Web站点服务器。
[0005]为了提高检测能力,网关需要对Web站点的资源进行精细化管理,包括API(Application Programming Interface,应用程序编程接口)、静态文件、用户信息等。其中API的管理,目前能够做到自动发现API的URI(Uniform Resource Identifier,统一资源标识符),但不能自动识别对API参数及其类型,需要人工录入这些信息,工作量较大。

技术实现思路

[0006]专利技术目的:针对上述现有技术存在的问题,本专利技术目的在于提供一种主动防御网关的API模型构建与防御方法及系统,能够对API自动学习,识别API参数及类型,提高API自动发现的精细程度。同时能够利用学习到的参数模型对API进行保护。
[0007]技术方案:为实现上述专利技术目的,本专利技术采用如下技术方案:一种主动防御网关的API模型构建方法,包括如下步骤:统计Web站点API访问日志中的每个URI出现的次数,为每个URI设置对应的分值,该分值与出现次数正相关,用于标识URI出现的有效性,分值越高表示有效性越高;对每个URI对应的HTTP请求消息中的参数名称进行统计,生成各参数名称对应的单参数模型,并设置模型中分值,该分值与参数名称出现次数正相关,用于标识参数名称出现的有效性,分值越高表示有效性越高;基于预设的类型树,对每个参数名称对应的参数值进行类型匹配,获取匹配的最深的类型节点;所述类型树中子类型节点属于父类型节点;对同一参数名称所有的参数值匹配到的类型进行统计,为匹配到的类型设置分值,该分值与匹配到的次数正相关,用于标识类型出现的有效性,分值越高表示有效性越高;将同一参数名称匹配到的类型及其分值加入到对应的单参数模型中的取值特征表中;将一个URI对应的所有单参数模型组织起来得到Web站点的一个API模型。
[0008]进一步地,还包括对每个URI对应的HTTP响应消息中的参数名称进行统计,生成各
参数名称对应的单参数模型;以及对参数值进行类型匹配,构造单参数模型中的取值特征表;一个API模型中按照参数所在位置组织为多个参数组模型,包括请求头模型、路径参数模型、请求体参数模型、响应头模型和响应体参数模型。
[0009]进一步地,对于一个Web站点,各URI的分值设置方法为:找出出现次数最多的URI,其分值设为1,其他URI的分值等于各自出现次数除以出现次数最多的URI的出现次数。
[0010]进一步地,对于同一单参数模型的参数值匹配的各类型的分值设置方法为:对于一个具体的参数值,从类型树的根开始往下匹配,匹配到最深的类型节点,将对应类型的计数加一;对于匹配到的每个类型,将从根节点到该类型节点的计数之和作为权重,将所有节点的计数之和作为总权重;各类型的分值等于各自的权重除以总权重。
[0011]进一步地,单参数模型的取值特征表中还为各类型设置长度范围、编码范围或枚举值列表,其中长度范围用于描述参数值字符串的长度范围,编码范围用于描述参数值所有字节或字符编码的范围,枚举值列表用于描述固定数量的参数值取值。
[0012]进一步地,根据参数值长度出现的频率,拆分出多个长度范围,并为各长度范围设置分值,该分值由原类型的分值拆分而来,正比于参数值长度落在对应长度范围内的频率。
[0013]进一步地,在对Web站点API访问日志进行统计之前,先过滤掉用户信用值不超过设定阈值的用户的访问日志,以及过滤掉响应码异常的访问日志。
[0014]一种基于API模型的主动防御方法,包括如下步骤:根据所述的API模型构建方法得到Web站点的所有API的URI及其分值,以及API模型;接收到HTTP访问请求后,获取URI分值,若URI不存在或分值低于设定阈值,则拦截请求;解析HTTP请求消息中的参数名称和参数值,若API模型中不存在对应的单参数模型或模型中分值低于设定阈值,或参数值匹配到的类型不存在或类型分值低于设定阈值,则拦截请求;若匹配到的类型设定有长度范围、编码范围或枚举值列表,不满足设定的条件时也拦截请求;在HTTP请求消息中的所有参数都通过检查后,将请求转发给Web站点。
[0015]进一步地,在Web站点回复响应消息之后还包括:对解析HTTP响应消息中的参数名称和参数值进行检查,若API模型中不存在对应的单参数模型或模型中分值低于设定阈值,或参数值匹配到的类型不存在或类型分值低于设定阈值,则拦截请求;若匹配到的类型设定有长度范围、编码范围或枚举值列表,不满足设定的条件时也拦截请求。
[0016]一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的主动防御网关的API模型构建方法,或者基于API模型的主动防御方法。
[0017]有益效果:与现有技术相比,本专利技术通过对API访问日志自动学习,基于统计信息对URI及参数名称、参数值设置用于标识有效性的分值,构建了URI及相关的参数模型,有效提高了API自动发现的精细程度,由原来的仅能识别URI提高到能够识别参数类型;与人工录入API的方式相比,效率得到了极大的提升。基于本专利技术构建的API模型,能够对后续请求进行检测并拦截恶意请求。
附图说明
[0018]图1为主动防御网关使用场景示意图。
[0019]图2为本专利技术实施例中主动防御网关工作流程示意图。
[0020]图3为本专利技术实施例中的参数模型结构示意图。
[0021]图4为本专利技术实施例中的API模型结构示意图。
[0022]图5为本专利技术实施例中的参数取值类型分值的计算示意图。
具体实施方式
[0023]下面结合附图和具体实施例对本专利技术的技术方案做进一步说明。
[0024]如图2所示,本专利技术实施例提供一种主动防御网关的API模型构建和防御方法,在主动防御网关框架内基于记录的Web站点API访问日志对API进行自动学习以构建API模型,并且利用自动学习生成的API模型进行主动防御。
[0025]在介绍本专利技术实施例的具体步骤之本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种主动防御网关的API模型构建方法,其特征在于,包括如下步骤:统计Web站点API访问日志中的每个URI出现的次数,为每个URI设置对应的分值,该分值与出现次数正相关,用于标识URI出现的有效性,分值越高表示有效性越高;对每个URI对应的HTTP请求消息中的参数名称进行统计,生成各参数名称对应的单参数模型,并设置模型中分值,该分值与参数名称出现次数正相关,用于标识参数名称出现的有效性,分值越高表示有效性越高;基于预设的类型树,对每个参数名称对应的参数值进行类型匹配,获取匹配的最深的类型节点;所述类型树中子类型节点属于父类型节点;对同一参数名称所有的参数值匹配到的类型进行统计,为匹配到的类型设置分值,该分值与匹配到的次数正相关,用于标识类型出现的有效性,分值越高表示有效性越高;将同一参数名称匹配到的类型及其分值加入到对应的单参数模型中的取值特征表中;将一个URI对应的所有单参数模型组织起来得到Web站点的一个API模型。2.根据权利要求1所述的主动防御网关的API模型构建方法,其特征在于,还包括对每个URI对应的HTTP响应消息中的参数名称进行统计,生成各参数名称对应的单参数模型;以及对参数值进行类型匹配,构造单参数模型中的取值特征表;一个API模型中按照参数所在位置组织为多个参数组模型,包括请求头模型、路径参数模型、请求体参数模型、响应头模型和响应体参数模型。3.根据权利要求1所述的主动防御网关的API模型构建方法,其特征在于,对于一个Web站点,各URI的分值设置方法为:找出出现次数最多的URI,其分值设为1,其他URI的分值等于各自出现次数除以出现次数最多的URI的出现次数。4.根据权利要求1所述的主动防御网关的API模型构建方法,其特征在于,对于同一单参数模型的参数值匹配的各类型的分值设置方法为:对于一个具体的参数值,从类型树的根开始往下匹配,匹配到最深的类型节点,将对应类型的计数加一;对于匹配到的每个类型,将从根节点到该类型节点的计数之和作为权重,将所有节点的计数之和作为总权重;各类型的分值等于各自的权重除以总权重。5.根据权利要求1所述的主动防御网关的API模型构建方法,其特征在于,单...

【专利技术属性】
技术研发人员:谢峥高庆官卢成远高瑞阳李亚鹏汪中杰
申请(专利权)人:南京赛宁信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1