技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于主机的无服务器溯源图构建方法及系统  >  正文

一种基于主机的无服务器溯源图构建方法及系统

  • 国知局
  • 2024-08-22 14:48:15

本技术涉及无服务器安全,具体而言,涉及一种基于主机的无服务器溯源图构建方法及系统。

背景技术:

1、随着云原生技术的成熟与发展,越来越多的企业开始引入并使用云。其中,无服务器计算作为一种新兴的计算模式,由于其低廉的成本与快速的开发特性迅速成为各大企业的首选,正逐渐成为各种应用部署和运行的主流选择。与传统的主机部署模式相比,无服务器计算具有更高的灵活性、可扩展性和成本效益,能够更好地满足业务需求。然而,由于无服务器架构具有隔离性强、函数间交互频繁等特点,它更容易受到新型攻击的威胁,传统基于主机的安全防护手段已不再适用。因此,深入研究无服务器场景下的安全性问题,寻找相应的解决方案显得尤为重要。

2、当前,溯源图已成为安全防护的重要工具,用于异常检测和攻击溯源。通过分析溯源图,安全专家可以追踪数据和操作的来源、流向和处理过程,有助于识别异常行为或追踪攻击路径。然而,现有针对无服务器场景的溯源图构建算法存在一些问题,例如运行时高开销、忽视依赖爆炸问题、入侵容器内部进行日志采集以及无法追踪容器逃逸攻击等,限制了它们的应用。

技术实现思路

1、本技术提供一种基于主机的无服务器溯源图构建方法及系统,用以克服现有技术中存在的至少一个技术问题。

2、具体的技术方案如下:

3、第一方面,本技术实施例提供了一种基于主机的无服务器溯源图构建方法,包括:

4、基于主机进行主机侧日志采集获取审计日志,利用执行划分引擎对同一请求触发的所有函数及相应的系统调用进行标签标记,将每一条所述审计日志映射到一个或多个请求上,并利用溯源图边填充器,监视容器挂载行为以获得路径挂载表,同时捕获grpc通信流量信息;其中,所述审计日志包括系统审计日志和网络流量日志,所述执行划分引擎包括流量层打标、审计层打标和反向代理打标;

5、根据映射后的审计日志,创建表示系统内活动实体的顶点以及表示所述顶点之间关系的边,生成初始无服务器全局溯源图,并根据所述路径挂载表和所述grpc通信流量信息,构建所述初始无服务器全局溯源图的新边,生成无服务器全局溯源图;其中,所述无服务器全局溯源图的每条边均标记有请求标识符;

6、根据当前处理请求并基于函数请求匹配算法进行分隔日志解析,更新所述无服务器全局溯源图中相应边所标记的所述请求标识符。

7、在本技术的一些实施例中,所述流量层打标包括:

8、当请求发起并经过网关时,生成一个随机请求标识符,并将所述随机请求标识符插入所述请求的请求头中,获得标识请求;

9、在所述标识请求的整个函数调用期间,所述标识请求访问的每个函数均利用请求中间件拦截所述标识请求,并记录所述随机请求标识符,利用第三方网络库使向下游函数发送的所述标识请求隐式包含所述随机请求标识符,并利用响应中间件拦截待返回响应,并在所述待返回响应的响应头中添加所述随机请求标识符。

10、在本技术的一些实施例中,所述审计层打标包括:

11、在多线程执行模型中,每个请求在被处理之前添加一条分隔日志,并对所述分隔日志添加与所述请求相对应的请求标识符进行标识;和/或,

12、在协程执行模型中,用于处理请求的协程模块基于分隔日志插入算法在审计日志中插入一条分隔日志,并对所述分隔日志添加与所述请求相对应的请求标识符进行标识;其中,所述分隔日志插入算法包括:

13、对所述请求进行预处理获得所述请求的请求头中的所述请求标识符,并获取用于处理所述请求的异步单元的异步单元id,生成并存储所述请求标识符和所述异步单元id的映射关系字典;

14、在异步单元初始化时,将父异步单元处理的请求标识符作为子异步单元处理的请求标识符;

15、在异步单元执行前,获取当前异步单元正在处理的新请求的所述请求标识符,并根据所述新请求的所述请求标识符生成一条分隔日志;

16、在异步单元执行后,删除所存储的所述当前异步单元的所述异步单元id和所述请求标识符的映射关系。

17、在本技术的一些实施例中,所述反向代理打标包括:

18、当请求到达反向代理进程后,在审计日志中插入一条开始定界符日志;

19、当所述请求离开所述反向代理进程前,在所述审计日志中插入一条结束定界符日志。

20、在本技术的一些实施例中,所述利用溯源图边填充器,监视容器挂载行为以获得路径挂载表,同时捕获grpc通信流量信息,具体包括:

21、利用ebpf技术对与挂载相关的系统调用进行监视,并根据与路径挂载相关的系统调用日志生成路径挂载表;其中,所述与挂载相关的系统调用包括mount系统调用和unmount系统调用,所述路径挂载表包括实时路径挂载表和历史路径挂载表,所述路径挂载表的字段包括执行系统调用时的时间戳、容器内文件路径所在容器id、容器内文件路径所在主机id、容器内文件路径、主机文件路径以及挂载赋值,所述挂载赋值为0或1,0表示挂载,1表示未挂载;

22、利用ebpf技术监视dockerd和containerd之间的grpc通信流量,以获得所述grpc通信流量信息;所述grpc通信流量的字段表包括流量发生时间、进程所在主机id、dockerd进程id、containerd进程id以及通信方式,所述通信方式包括请求和响应。

23、在本技术的一些实施例中,所述系统审计日志的字段包括进程名称、进程pid、进程虚拟pid、进程中某一线程的id、进程执行路径、文字描述符名称、系统调用发生时间、系统调用类型、系统调用方向、系统调用参数、系统调用返回值、容器唯一标识符以及容器名称,所述网络流量日志的字段包括源ip地址、源端口、目标ip地址、目标端口、请求发起时间戳、数据包载荷以及数据包载荷长度。

24、在本技术的一些实施例中,所述初始无服务器全局溯源图的每个顶点均标记有所属函数id,所述根据映射后的系统审计日志,创建表示系统内活动实体的顶点以及表示所述顶点之间关系的边,生成初始无服务器全局溯源图,具体包括:

25、使用空的顶点集合与边集合进行溯源图初始化;

26、获取所述系统审计日志中预设系统调用类型的系统调用日志,并根据所述系统调用日志的系统调用类型进行不同的审计日志解析,所述预设系统调用类型包括与文件读写有关、与网络活动有关以及与进程创建、执行有关;

27、其中,当所述系统调用日志的系统调用类型为所述与进程创建、执行有关时,根据所述系统调用日志生成两个进程顶点以及两者之间的有向边,所述有向边的起点为父进程,所述有向边的终点为子进程;

28、当所述系统调用日志的系统调用类型为与网络活动有关时,根据所述系统调用日志生成一个进程顶点、一个套接字顶点以及两者之间的有向边;

29、当所述系统调用日志的系统调用类型为与文件读写有关时,根据所述系统调用日志生成一个进程顶点、一个文件顶点以及两者之间的有向边。

30、在本技术的一些实施例中,所述根据映射后的网络流量日志,创建表示系统内活动实体的顶点以及表示所述顶点之间关系的边,生成初始无服务器全局溯源图,具体包括:

31、获取函数ip地址与函数id的映射关系字典;

32、根据所述函数ip地址与函数id的映射关系字典,对所述网络流量日志中的所述源ip地址、所述目标ip地址进行ip地址匹配处理;

33、当匹配成功时,则在所述初始无服务器全局溯源图中添加一个进程顶点、一个套接字顶点以及两者之间的边,所述进程顶点对应于所述函数ip地址相应函数上的反向代理进程;

34、当匹配失败时,则在所述初始无服务器全局溯源图中添加两个套接字顶点以及两者之间的边。

35、在本技术的一些实施例中,所述函数请求匹配算法具体包括:

36、获取分隔日志的请求标识符和函数id;

37、基于parsereqid函数进行分隔日志解析,并根据所述分隔日志的分隔日志类型进行不同的处理;

38、其中,当所述分隔日志为反向代理开始定界符日志时,则将所述请求标识符存储于反向代理进程的函数标识符与其请求标识符集合的映射关系字典中所述函数id对应的请求标识符集合中;

39、当所述分隔日志为反向代理结束定界符日志时,则删除所述反向代理进程的函数标识符与其请求标识符集合的映射关系字典中所述函数id对应的请求标识符集合中的诉搜狐请求标识符;

40、当所述分隔日志为上游服务开始定界符日志时,则将所述请求标识符存储于上游服务进程的函数标识符与其请求标识符的映射关系字典中所述函数id对应的位置;

41、当所述分隔日志为上游服务结束定界符日志时,则删除所述上游服务进程的函数标识符与其请求标识符的映射关系字典中所述函数id对应的位置上的请求。

42、第二方面,本技术实施例提供了一种基于主机的无服务器溯源图构建系统,包括:

43、设置于主机上的溯源数据审计模块,所述溯源数据审计模块用于基于主机进行主机侧日志采集获取审计日志;其中,所述溯源数据审计模块包括系统日志审计模块和网络日志审计模块,所述系统日志审计模块用于基于主机进行主机侧日志采集获取系统审计日志,所述网络日志审计模块用于基于主机进行主机侧日志采集获取网络流量日志;

44、执行划分引擎,用于对同一请求触发的所有函数及相应的系统调用进行标签标记,将每一条所述审计日志映射到一个或多个请求上;其中,所述所述执行划分引擎包括流量层打标、审计层打标和反向代理打标;

45、溯源图边填充器,所述溯源图边填充器包括挂载监视器和grpc监视器,所述挂载监视器用于监视容器挂载行为以获得路径挂载表,所述grpc监视器用于捕获grpc通信流量信息;

46、溯源图构建器,用于根据映射后的审计日志,创建表示系统内活动实体的顶点以及表示所述顶点之间关系的边,生成初始无服务器全局溯源图,并根据所述路径挂载表和所述grpc通信流量信息,构建所述初始无服务器全局溯源图的新边,生成无服务器全局溯源图,还用于根据当前处理请求并基于函数请求匹配算法进行分隔日志解析,更新所述无服务器全局溯源图中相应边所标记的所述请求标识符;其中,所述无服务器全局溯源图的每条边均标记有请求标识符。

47、本技术实施例的有益效果如下:

48、通过溯源数据审计模块、执行划分引擎、溯源图边填充器以及溯源图构建器四个关键模块增强了传统的函数即服务(faas)平台,溯源数据审计模块在主机上收集无服务器平台的系统审计日志和网络流量日志,溯源图边填充器确保了当攻击者从容器中逃逸时的连续追踪,执行划分引擎根据请求对日志进行单元划分,解决了依赖爆炸问题,且有利于实现了请求级别的攻击调查,溯源图构建器将收集的数据聚合并解析为完整的无服务器溯源图。该无服务器溯源图不仅可提供完整的无服务器攻击场景追踪,支持攻击调查,且执行单元划分的平均精确率高,还支持下游的异常检测任务,提供了更低的资源占用和负载,对正常业务的影响较小,同时具备更完整的攻击溯源能力和更强的安全性,有利于为无服务器环境下的安全防护提供可靠的解决方案。

本文地址:https://www.jishuxx.com/zhuanli/20240822/279942.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。