一种系统调用处理方法、装置、设备及介质制造方法及图纸

技术编号:37993254 阅读:8 留言:0更新日期:2023-06-30 10:07
本申请公开了计算机技术领域内的一种系统调用处理方法、装置、设备及介质。本申请在节点的系统内核中以容器的命名空间区别不同容器,无需区分或关注容器中的不同进程,也就无需使系统内核和用户态程序频繁传递容器中的进程事件,由此可以提高内核代码和用户态代码的执行效率,降低内存消耗。并且,在容器测试过程中完成容器系统调用信息的记录,整个过程自动化进行,能够快速确定容器的系统调用白名单。单。单。

【技术实现步骤摘要】
一种系统调用处理方法、装置、设备及介质


[0001]本申请涉及计算机
,特别涉及一种系统调用处理方法、装置、设备及介质。

技术介绍

[0002]目前,容器的系统调用列表需要依赖系统调用白名单(system call的略写)采集工具(比如sysdig)才能完成信息记录,且记录容器系统调用信息的过程中,需要有经验的业务人员、内核开发人员的参与,人工参与容易出错且效率较低。并且,现有方案在记录容器的系统调用信息时,系统内核需要向用户态程序频繁传递容器中的每一进程事件,以使用户态程序记录每一进程ID,如此会降低内核代码和用户态代码的执行效率,增加内存消耗。
[0003]因此,如何快速确定容器的系统调用,是本领域技术人员需要解决的问题。

技术实现思路

[0004]有鉴于此,本申请的目的在于提供一种系统调用处理方法、装置、设备及介质,以快速确定容器的系统调用。其具体方案如下:
[0005]第一方面,本申请提供了一种系统调用处理方法,应用于云系统中的任意节点的系统内核,包括:
[0006]在对目标容器进行测试的情况下,确定所述目标容器所属的命名空间;
[0007]若测试过程中所述目标容器发起系统调用,则将相应的系统调用信息记录至所述命名空间对应的数据结构。
[0008]可选地,所述确定所述目标容器所属的命名空间,包括:
[0009]查询所述目标容器的文件挂载目录;
[0010]基于所述文件挂载目录确定所述命名空间。
[0011]可选地,还包括:<br/>[0012]若所述目标容器中首次出现进程启动,则执行所述确定所述目标容器所属的命名空间的步骤及其后续所有步骤。
[0013]可选地,还包括:
[0014]在测试过程中,将所述目标容器中任意一个进程的进程ID和所述命名空间的空间标识传输至用户态进程,以使所述用户态进程基于所述进程ID确定所述目标容器的容器标识,并构建所述容器标识和所述空间标识的映射关系。
[0015]可选地,还包括:
[0016]若测试结束,则将所述数据结构传输至所述用户态进程,以使所述用户态进程基于所述映射关系和所述数据结构收集所述目标容器的系统调用信息,得到收集结果。
[0017]可选地,所述得到收集结果之后,还包括:
[0018]将所述收集结果同步至所述云系统中的其他节点。
[0019]可选地,所述将相应的系统调用信息记录至所述命名空间对应的数据结构之前,还包括:
[0020]判断所述系统内核中是否存在所述数据结构;
[0021]若存在,则执行所述将相应的系统调用信息记录至所述命名空间对应的数据结构的步骤;否则,在所述系统内核中创建所述数据结构后,执行所述将相应的系统调用信息记录至所述命名空间对应的数据结构的步骤。
[0022]第二方面,本申请提供了一种系统调用处理方法,应用于云系统中的任意节点,包括:
[0023]获取目标容器的系统调用白名单;所述系统调用白名单基于上述任一项所述的数据结构得到;
[0024]根据所述系统调用白名单和所述目标容器的运行模式,处理所述目标容器运行过程中的系统调用。
[0025]可选地,所述根据所述系统调用白名单和所述目标容器的运行模式,处理所述目标容器运行过程中的系统调用,包括:
[0026]若所述目标容器的运行模式为监测模式,则在所述目标容器运行过程出现未记载于所述系统调用白名单的系统调用时,对当前系统调用进行异常告警;
[0027]若所述目标容器的运行模式为保护模式,则在所述目标容器运行过程出现未记载于所述系统调用白名单的系统调用时,对当前系统调用进行拦截;或在所述目标容器运行过程出现未记载于所述系统调用白名单的系统调用时,评估当前系统调用的危险等级,根据所述危险等级对当前系统调用进行异常告警或拦截或放行。
[0028]可选地,所述获取目标容器的系统调用白名单之前,还包括:
[0029]在接收到所述目标容器的启动指令后,等待预设时长;
[0030]若等待超时,则执行所述获取目标容器的系统调用白名单;根据所述系统调用白名单和所述目标容器的运行模式,处理所述目标容器运行过程中的系统调用的步骤。
[0031]可选地,还包括:
[0032]在新建与所述目标容器属于同类型的容器后,将所述系统调用白名单作为新建容器的系统调用白名单。
[0033]可选地,若新建容器的镜像、命名空间以及业务标签与所述目标容器均一致,则新建容器与所述目标容器属于同类型的容器。
[0034]可选地,所述根据所述系统调用白名单和所述目标容器的运行模式,处理所述目标容器运行过程中的系统调用之后,还包括:
[0035]将相应处理结果同步至所述云系统中的其他节点。
[0036]可选地,还包括:
[0037]若监测到数据库有所述系统调用白名单的更新消息,则从所述数据库读取最新的系统调用白名单,并用所述最新的系统调用白名单替换所述系统调用白名单。
[0038]第三方面,本申请提供了一种系统调用处理装置,应用于云系统中的任意节点的系统内核,包括:
[0039]确定模块,用于在对目标容器进行测试的情况下,确定所述目标容器所属的命名空间;
[0040]记录模块,用于若测试过程中所述目标容器发起系统调用,则将相应的系统调用信息记录至所述命名空间对应的数据结构。
[0041]第四方面,本申请提供了一种系统调用处理装置,应用于云系统中的任意节点,包括:
[0042]获取模块,用于获取目标容器的系统调用白名单;所述系统调用白名单基于上述任一项所述的数据结构得到;
[0043]处理模块,用于根据所述系统调用白名单和所述目标容器的运行模式,处理所述目标容器运行过程中的系统调用。
[0044]第五方面,本申请提供了一种电子设备,包括:
[0045]存储器,用于存储计算机程序;
[0046]处理器,用于执行所述计算机程序,以实现前述公开的方法。
[0047]第六方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的方法。
[0048]通过以上方案可知,本申请提供了一种系统调用处理方法,应用于云系统中的任意节点的系统内核,包括:在对目标容器进行测试的情况下,确定所述目标容器所属的命名空间;若测试过程中所述目标容器发起系统调用,则将相应的系统调用信息记录至所述命名空间对应的数据结构。
[0049]由于容器在上线之前都需要进行测试,而测试容器一般会无一遗漏地测试该容器的全部功能,那么容器需要的系统调用就会无一遗漏地在测试过程中发生。因此在测试某一容器时,确定所述目标容器所属的命名空间,并记录测试过程中该目标容器发起的系统调用的相应系统调用信息至该容器的命名空间的数据结构,可完成容器系统调用信息的汇总和记录,如此既可以完成容器的测试,又得到了容器的系统调用白名本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种系统调用处理方法,其特征在于,应用于云系统中的任意节点的系统内核,包括:在对目标容器进行测试的情况下,确定所述目标容器所属的命名空间;若测试过程中所述目标容器发起系统调用,则将相应的系统调用信息记录至所述命名空间对应的数据结构。2.根据权利要求1所述的系统调用处理方法,其特征在于,所述确定所述目标容器所属的命名空间,包括:查询所述目标容器的文件挂载目录;基于所述文件挂载目录确定所述命名空间。3.一种系统调用处理方法,其特征在于,应用于云系统中的任意节点,包括:获取目标容器的系统调用白名单;所述系统调用白名单基于权利要求1或2所述的数据结构得到;根据所述系统调用白名单和所述目标容器的运行模式,处理所述目标容器运行过程中的系统调用。4.根据权利要求3所述的系统调用处理方法,其特征在于,所述根据所述系统调用白名单和所述目标容器的运行模式,处理所述目标容器运行过程中的系统调用,包括:若所述目标容器的运行模式为监测模式,则在所述目标容器运行过程出现未记载于所述系统调用白名单的系统调用时,对当前系统调用进行异常告警;若所述目标容器的运行模式为保护模式,则在所述目标容器运行过程出现未记载于所述系统调用白名单的系统调用时,对当前系统调用进行拦截;或在所述目标容器运行过程出现未记载于所述系统调用白名单的系统调用时,评估当前系统调用的危险等级,根据所述危险等级对当前系统调用进行异常告警...

【专利技术属性】
技术研发人员:王玉山刘灿阳黄明亮龙平
申请(专利权)人:深圳市深信服信息安全有限公司
类型:发明
国别省市:

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

1