一种基于参数特征向量的内外网数据过滤方法及装置与流程

文档序号:26949873发布日期:2021-10-16 00:49阅读:150来源:国知局
一种基于参数特征向量的内外网数据过滤方法及装置与流程

1.本技术涉及通信安全技术领域,尤其涉及一种基于参数特征向量的内外网数据过滤方法及装置。


背景技术:

2.rest(representational state transfer,简称rest)是一种通过http设计松散耦合应用程序的架构风格,通常用于web服务的开发。在目前主流的三种web服务交互方案中,rest相比于soap(simple object access protocol,简单对象访问协议)以及xml

rpc更加简单明了,无论是对url的处理还是对payload的编码,rest都倾向于用更加简单轻量的方法设计和实现。restful是满足rest这些约束条件和原则的应用程序或设计。在restful服务中,每个资源都有一个地址。资源本身都是方法调用的目标,方法列表对所有资源都是一样的。这些方法都是标准方法,包括http get、post、put、delete。
3.出于安全考虑,在电力企业建设的内部网络(内网)严禁直接与外部网络(如互联网等外网)互联,造成网络安全隐患。随着移动化办公、5g及物联网等业务的快速发展,越来越多的业务需要从外网与内网应用进行数据交互,而现有的基于数据库访问过滤的数据过滤方式已经无法满足业务的快速扩展需求。


技术实现要素:

4.针对现有技术存在的不足,本发明的目的是提供一种基于参数特征向量检查的内外网数据过滤方法及装置,保证当内外网应用使用restful服务接口进行跨网交互时,通过对restful服务的请求传参内容进行识别,形成参数特征向量进行检查,确保传递参数的安全性,避免攻击者通过restful服务请求参数的篡改或恶意构造向服务端的攻击风险。
5.为实现上述技术目的,本发明通过以下技术方案实现:
6.本发明提供一种基于参数特征向量的内外网数据过滤方法,包括:
7.获取外网业务的访问请求,形成访问请求的参数特征向量集合;
8.根据访问请求与服务接口的对应关系,以及所述访问请求的参数特征向量集合,计算生成每个服务接口的参数特征向量基线;
9.基于访问请求的参数特征向量集合以及所述参数特征向量基线对外网业务的访问请求进行合法性检查,过滤出合法的访问请求转发至内网。
10.进一步的,所述形成访问请求的参数特征向量集合,包括:
11.解析外网业务restful访问请求的http报文,获取此次访问请求使用的方法;
12.根据访问请求使用的方法,提取传参键值对;
13.遍历传参键值对,提取此次访问请求的参数特征形成特征向量集合;
14.其中,每个参数的特征向量表示为:
15.param=(paramname,paramtype,paramlength,paramvalue);
16.paramname为参数名称;paramtype为参数类型;paramlength为参数长度;
paramvalue为参数取值。
17.进一步的,所述根据访问请求使用的方法,提取传参键值对,包括:
18.若为get或delete方法,则通过解析访问请求的url,获取“?”后的传参字符串,分解后获取此次传参键值对信息;
19.若为post或put方法,则解析访问请求的body内容,获取json或xml格式的传参,提取此次传参键值对信息。
20.进一步的,所述计算生成每个服务接口的参数特征向量基线,包括:
21.根据访问请求与服务接口的对应关系,获得对应服务接口的参数特征向量集合;
22.对每个服务接口的参数特征向量集合中每个参数的特征向量进行统计,形成该参数的统计数据集;
23.对每个参数的统计数据集按照如下规则进行计算,生成所属服务接口的参数特征向量基线,表示为:params_b=(paramname_b,paramtype_b,paramrange_b);
24.规则如下:
25.以参数统计数据集中的参数名称,作为该参数特征向量基线的参数名称paramname_b;
26.统计该参数统计数据集中的参数类型,取计算后占比最大的参数类型作为该参数特征向量基线的参数类型paramtype_b;
27.统计该参数统计数据集中的参数长度,
28.若参数类型为字符型,则取该参数统计数据集中,参数长度最大值作为该参数特征向量基线中的参数长度最大值,取参数长度最小值作为该参数特征向量基线中的参数长度最小值,参数长度最大值和参数长度最小值构成参数取值范围paramrange_b;
29.若参数类型为数值型,则取该参数统计数据集中,参数最大取值作为该参数特征向量基线中的参数长度最大值,取参数最小取值作为该参数特征向量基线中的参数长度最小值,参数长度最大值和参数长度最小值构成参数取值范围paramrange_b。
30.进一步的,所述对外网业务的访问请求进行合法性检查,包括:
31.根据访问请求与服务接口的对应关系,获得对应服务接口的参数特征向量集合;
32.对访问请求的参数特征向量集合中的每一个参数特征向量,根据参数名称,检查参数类型是否符合所对应参数特征向量基线中该参数的参数类型,若不一致,则为非法访问;
33.检查参数特征向量的参数取值是否符合所对应参数特征向量基线中该参数的参数取值范围paramrange_b,若为数值型参数,则判断参数取值是否在paramrange_b内,若不符合,则为非法访问;若为字符型参数,则判断参数长度是否在paramrange_b内,若不符合,则为非法访问;
34.参数特征向量集合中的所有参数特征向量都检查为合法,则该外网业务的访问请求合法。
35.本发明另一方面还提供一种基于参数特征向量的内外网数据过滤装置,部署于企业内部网络和外部网络之间,包括:连接管理模块,安全认证模块,访问控制模块及参数检查模块;
36.所述连接管理模块用于接收外网业务的访问请求,并对访问请求网络连接状态进
行管理,以及,用于将接收到的访问请求发送至安全认证模块;
37.所述安全认证模块用于对访问请求方身份的合法性进行认证,以及,用于将通过合法性认证的访问请求发送至参数检查模块;
38.所述访问控制模块用于对通过安全认证和参数检查的访问请求按照可访问的权限进行内网转发;
39.所述参数检查模块用于对外网业务的访问请求进行合法性检查,以及,用于将通过合法性检查的访问请求发送至访问控制模块。
40.进一步的,所述连接管理模块用于通过外网网口接收外网业务的restful访问请求。
41.进一步的,所述安全认证模块具体用于对访问请求方的ip地址及访问时携带的身份token信息进行合法性认证。
42.进一步的,所述参数检查模块包括学习模式模块和过滤模式模块;
43.所述学习模式模块用于基于外网业务的访问请求参数信息计算得到针对每个服务接口的参数特征向量基线;
44.所述过滤模式模块用于基于参数特征向量基线对实时的外网业务访问请求进行合法性检查。
45.进一步的,还包括:接口注册模块,
46.所述接口注册模块用于对需要发布信息到外网的服务接口进行注册,以及,用于将注册信息发送至安全认证模块。
47.进一步的,所述接口注册模块对服务接口进行注册,注册内容包括:访问请求的方法名称和请求使用的方法,所述请求使用的方法包括get、post、delete、put和header中的任意一种。
48.与现有技术相比,本发明所达到的有益效果是:
49.本发明提供的基于参数特征向量检测的内外网数据过滤装置实现了基于restful方式的服务调用请求在内外网的双向穿透,针对restful请求的数据交互特点,对访问请求时传递的参数内容进行了基于特征的合法性校验,能够保证外网向内网访问时参数交互的安全性。
50.本发明提供的基于参数特征向量检测的内外网数据过滤方法,基于真实业务服务访问请求数据的训练,结合统计算法自动计算形成服务接口对应的安全参数特征向量基线,保证对参数的长度或取值范围的约束更符合业务实际访问特征,能够保证业务可用的同时实现传递参数内容安全保证。
附图说明
51.图1为本发明的基于参数特征向量的内外网数据过滤装置结构图;
52.图2为本发明的基于参数特征向量的内外网数据过滤方法流程图。
具体实施方式
53.下面对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
54.本发明提供一种基于参数特征向量的内外网数据过滤装置,用于外网与内网的restful服务进行数据交互,实现数据共享。本发明的装置部署在内外网边界处,通过代理的方式将内网业务的restful服务映射到外网,向外网业务提供服务。
55.如图1所示,作为本发明的一个实施例,提供一种基于参数特征向量的内外网数据过滤装置,包括连接管理模块,接口注册模块,安全认证模块,访问控制模块及参数检查模块。
56.连接管理模块用于通过外网网口统一接收外网业务的restful访问请求,并对访问请求网络连接状态进行管理。
57.安全认证模块用于对外网业务的访问请求进行合法性认证,认证通过后允许后续访问。合法性认证是指,针对访问请求方的身份合法性进行认证,包括对访问方的ip地址、及访问时携带的身份token信息进行合法性认证。
58.接口注册模块用于对内网的服务进行注册,提供包括真实服务访问url、关联的业务系统信息、授权访问方的身份认证令牌信息和并发访问数。
59.访问控制模块用于对通过参数安全认证、参数检查后的访问请求按照可访问的权限进行内网转发。
60.参数检查模块用于对外网的访问请求报文进行分析,拆解出参数信息后对参数进行合法性检查。包括学习模式和过滤模式,在学习模式下基于参数信息的统计分析计算获取针对每个服务接口的参数特征向量基线;在过滤模式下基于参数特征向量基线对实时的访问请求进行合法性检查。
61.如图2所示,作为本发明的另一个实施例,提供一种基于参数特征向量的内外网交换方法,包括以下步骤。
62.步骤一:获取外网restful访问请求的http报文,形成当前访问请求的参数特征向量集合。具体为:
63.11)解析http报文,获取此次访问请求使用的方法。
64.12)根据访问请求使用的方法,提取传参键值对,即参数名称

参数值。
65.若为get、delete方法,则通过解析访问请求的url,获取“?”后的传参字符串,分解后获取此次传参的键值对信息;
66.若为post、put方法,则解析http访问请求报文的body内容,获取json或xml格式的传参,提取此次传参的键值对信息。
67.13)遍历传参键值对,提取此次访问请求的参数特征形成特征向量集合,每个参数的特征向量表示为:
68.param=(paramname,paramtype,paramlength,paramvalue)。其中,paramname为参数名称;paramtype为参数类型,分为字符型和数值型;paramlength为参数长度,字符型参数为字符串长度,数值型参数为参数值;paramvalue为参数取值。
69.本实施例中,由内网业务对需要通过装置发布到外网的服务接口进行注册,注册内容包括请求的方法名称、请求调用方式,即使用get、post、delete、put或header方法。
70.需要说明的是,每次访问请求对应一个服务接口的,每次访问请求包含多个传参,本发明实施例中针对每个参数形成一个特征向量,每一次访问请求形成一个特征向量结合。
71.步骤二:将参数检查设置为学习模式,将当前服务接口名称、以及解析获取的参数特征向量集合输入统计学习引擎,计算生成每个服务接口的参数特征向量基线。具体为:
72.21)对输入的参数特征向量集合数据根据服务接口进行分类,获得每个服务接口的参数特征向量集合;以及对每个服务接口的每个参数的特征向量进行统计,形成该参数的统计数据集;
73.22)对每个服务接口的每个参数的统计数据集按照如下规则进行计算,生成该服务接口的每个参数的特征向量基线,表示为:params_b=(paramname_b,paramtype_b,paramrange_b):
74.22a)对统计数据集中的每个参数,以参数名作为唯一标识,以统计数据集中的参数名称,作为参数特征向量基线的参数名称,即paramname_b;
75.22b)统计该参数的参数类型,取计算后占比最大的类型作为此参数的参数特征向量基线中的参数类型,即paramtype_b;
76.22c)统计该参数的参数长度,若参数类型为字符型,则取该参数的参数特征向量数据统计集中,参数长度最大值作为此参数的参数特征向量基线中的参数长度最大值,取该参数的参数特征向量数据统计集中,参数长度最小值作为此参数的参数特征向量基线中的参数长度最小值,即paramrange_b;若参数类型为数值型,则取该参数的参数特征向量数据统计集中,此参数最大取值作为此参数的参数特征向量基线中的参数长度最大值,取该参数的参数特征向量数据统计集中,此参数最小取值作为此参数的参数特征向量基线中的参数长度最小值,即paramrange_b。
77.步骤三:将参数检查设置为过滤模式,将当前服务接口名称、及解析获取的参数特征向量输入过滤引擎,基于参数特征向量基线检查当前输入的参数是否合法,若合法则放过访问,否则判定为非法访问,直接拒绝。具体方法为:
78.31)根据当前服务接口名,获取该服务接口的参数特征向量基线param_b;
79.32)判断当前参数名称,检查参数类型是否符合此服务接口参数特征向量基线中的该参数的参数类型paramtype_b,即是否一致,若不一致,则为非法访问;
80.33)根据当前参数名称,检查参数内容取值是否符合此服务接口参数特征向量基线中的该参数的参数取值范围paramrange_b,若为数值型参数,则判断当前参数值是否在取值范围内,若不符合,则为非法访问;若为字符型参数,则判断当前参数值得长度是否在取值范围内,若不符合,则为非法访问。
81.34)若所有参数检查通过则为合法访问请求。
82.35)将合法的访问请求转发至内网。
83.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
84.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
85.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
86.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
87.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1