本发明涉及数据通信,尤其涉及一种基于软件定义边界的数据访问方法及装置。
背景技术:
1、由于互联网的飞速发展,越来越多的企业或组织希望业务系统以某种方式出现在互联网上,他们采用在内部网络和互联网之间部署防火墙/nat设备,划分安全域的方式,创建了内部的安全区、隔离区和不可信区域(互联网)。然而,随着企业或组织的需求越来复杂,他们可能同时拥有内部网络、远程办公室、移动端和云服务,这就导致企业或组织没有了单一的、可识别的边界,“零信任”网络架构就此诞生。
2、微服务框架作为当前较为流行的系统架构被很多企业或组织采用,具有实用性强、扩展方便的特点,微服务框架中的网关承担着对api(应用程序编程接口)服务访问的校核和保护的职责,同时也是企业或组织的业务系统在“零信任”网络中的最后一道防护。通过提升微服务架构中的网关的安全性,无疑会全面提升系统的安全性。但是现有技术中缺少明确网络数据访问方案,以利用网关构建微服务框架实现“零信任网络”。
技术实现思路
1、鉴于此,本发明实施例提供了一种基于软件定义边界的数据访问方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,解决如何结合软件定义边界架构和微服务网关以实现业务系统零信任网络架构搭建。
2、本发明的一个方面提供一种基于软件定义边界的数据访问方法,所述方法用于在软件定义边界网关上运行,所述软件定义边界网关包括软件定义边界控制器和微服务网关,所述软件定义边界网关连接客户端和服务器,该方法包括以下步骤:
3、由所述微服务网关作为接入层接收客户端发送的访问请求,所述访问请求标注有所述客户端的设备信息和用户信息;所述设备信息包括ip地址、设备标识和设备空间信息;所述用户信息包括用户身份标识和权限信息;
4、由所述接入层对所述设备信息和所述用户信息进行黑白名单核查,在核查通过的情况下,对所述访问请求进行限流控制和审计管理;
5、由所述软件定义边界控制器作为控制层对所述设备信息和所述用户信息进行鉴权管理,包括设备认证、用户身份认证和用户权限认证,在认证通过的情况下,对所述访问请求对应的访问流进行预处理,划分访问特征数据和行为特征数据,并进行数据序列化和向量化;将所述访问特征数据和所述行为特征数据交由对比引擎,将所述访问特征数据与预设本地网络攻击特征库中的数据进行相似度比对,核查存在攻击行为的异常访问,以及将所述行为特征数据与预设的本地个人行为画像库中的数据进行相似度比对,核查存在风险操作的异常访问;在没有异常访问的情况下,将所述访问流交由预训练的风险评估模型计算风险等级,将属于高风险的所述访问流拦截并标注为可以访问并记录在日志中,否则由所述微服务网关作为分发层向所述服务器转发。
6、在一些实施例中,所述限流管理包括:对所述访问请求进行计数,将超出设定阈值的访问流作拒绝处理或安排排队,限制请求数量并平滑流量;所述审计管理包括:对外接日志的收集和对分析引擎的获取。
7、在一些实施例中,所述方法还包括:基于第一预设链路获取最新的标准网络攻击特征库,并按照第一预设时间节点对本地网络攻击特征库进行更新;基于第二预设链路获取最新的标准个人行为画像库,并按照第二预设时间节点对本地个人行为画像库进行更新;以及,所述对比引擎采用余弦相似度或欧几里得距离做相似度比对。
8、在一些实施例中,所述风险评估模型的训练步骤包括:
9、获取训练样本集,所述训练样本集包括多个样本访问流,并标注风险等级,所述风险的等级包括正常、低风险、中风险和高风险;
10、对所述样本访问流进行数据清洗,填补缺失值和去除异常值;
11、获取初始神经网络模型,采用所述训练样本集对所述初始神经网络模型进行训练,并构建交叉熵损失更新模型参数,得到所述风险评估模型;所述初始神经网络模型包括:决策树、随机森林、支持向量机或卷积神经网络。
12、在一些实施例中,所述方法还包括:将运行过程中产生的所述访问流及其对应的风险等级存储在本地数据库中,并按照预设时间间隔将所述本地数据库中的所述访问流及风险等级作为样本并入所述训练样本集,并利用合并后的所述训练样本集训练和更新所述风险评估模型。
13、在一些实施例中,所述方法还包括:
14、由所述分发层执行负载均衡以平衡分配至后端服务的请求;
15、由所述分发层执行路由管理按照优选路径进行数据分发;
16、由所述分发层执行熔断管理用于在所述后端服务出现故障或者高负载时对所述访问流进行限流;
17、由所述分发层执行缓存管理,用于存储和复用频繁访问的数据,减少后端服务的负载和响应时间。
18、在一些实施例中,所述方法执行数据序列化和向量化,包括:
19、将所述数据执行json序列化或pickle序列化,以及将所述数据执行热独编码或词嵌入编码。
20、另一方面,本发明还提供一种基于软件定义边界的数据访问网关,包括软件定义边界控制器和微服务网关,其特征在于,所述软件定义边界控制器和所述微服务网关用于存储并执行计算机程序/指令,当所述计算机程序/指令被执行时该网关实现上述方法的步骤。
21、另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现上述方法的步骤。
22、另一方面,本发明还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
23、本发明的有益效果至少是:
24、本发明所述基于软件定义边界的数据访问方法及装置,将软件定义边界控制器与微服务网关进行结合,且独立在网关外部运行的方式,能够通过无限扩展的方式实现持续演进的安全防护,为微服务架构下的系统提供了更多的安全支持。
25、进一步的,通过建立黑白名单核查、设备认证、用户身份认证和用户权限认证,多层次确保只有合法设备和用户能够访问资源。在核查通过后对访问请求进行限流控制,防止因过多请求导致的网络拥塞和资源滥用。
26、进一步的,利用对比引擎对访问特征数据和行为特征数据进行比对,及时检测和阻止潜在的攻击行为和风险操作。通过预训练的风险评估模型计算访问请求的风险等级,高风险访问流被拦截并记录,有效控制潜在威胁。
27、进一步的,整个方法在接收客户端的访问请求后,能够快速进行核查、鉴权、预处理、比对和风险评估,确保访问请求得到及时处理。在风险评估通过后,访问流能够快速通过分发层转发到服务器,确保正常业务流畅进行。
28、本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
29、本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
1.一种基于软件定义边界的数据访问方法,其特征在于,所述方法用于在软件定义边界网关上运行,所述软件定义边界网关包括软件定义边界控制器和微服务网关,所述软件定义边界网关连接客户端和服务器,该方法包括以下步骤:
2.根据权利要求1所述的基于软件定义边界的数据访问方法,其特征在于,所述限流管理包括:对所述访问请求进行计数,将超出设定阈值的访问流作拒绝处理或安排排队,限制请求数量并平滑流量;所述审计管理包括:对外接日志的收集和对分析引擎的获取。
3.根据权利要求1所述的基于软件定义边界的数据访问方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的基于软件定义边界的数据访问方法,其特征在于,所述风险评估模型的训练步骤包括:
5.根据权利要求4所述的基于软件定义边界的数据访问方法,其特征在于,所述方法还包括:将运行过程中产生的所述访问流及其对应的风险等级存储在本地数据库中,并按照预设时间间隔将所述本地数据库中的所述访问流及风险等级作为样本并入所述训练样本集,并利用合并后的所述训练样本集训练和更新所述风险评估模型。
6.根据权利要求1所述的基于软件定义边界的数据访问方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的基于软件定义边界的数据访问方法,其特征在于,所述方法执行数据序列化和向量化,包括:
8.一种基于软件定义边界的数据访问网关,包括软件定义边界控制器和微服务网关,其特征在于,所述软件定义边界控制器和所述微服务网关用于存储并执行计算机程序/指令,当所述计算机程序/指令被执行时该网关实现如权利要求1至7中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7中任一项所述方法的步骤。