【技术实现步骤摘要】
【国外来华专利技术】容器逃逸检测方法、装置、系统及存储介质
本申请涉及容器安全领域,特别涉及一种容器逃逸检测方法、装置、系统及存储介质。
技术介绍
云计算(英文:Cloud Computing)是一种通过网络以服务的方式提供动态可伸缩的虚拟化资源的计算模式,其中,平台即服务(英文:Platform as a Service;简称:PaaS)是云计算的一种主要的模式。在PaaS模式中,云计算平台可以为每一个用户分配一个宿主机集群,该宿主机集群可以包括至少一个宿主机,其中,宿主机可以为物理机或虚拟机。用户可以在分配的宿主机集群的宿主机中基于容器镜像创建并运行容器,其中,每一个容器都拥有一个独立的进程运行空间,理想情况下,容器中的进程只能在该容器的进程运行空间中运行。然而,当容器中存在有恶意进程时,该恶意进程很可能会脱离容器的进程运行空间,继而对宿主机或其他容器展开攻击,这种现象被称为容器逃逸。相关技术中,为了防范容器逃逸,在某一容器运行前,宿主机可以判断该容器是否拥有一些敏感的系统权限(例如,该敏感的系统权限可以为dac_override_capability系统权限),在宿主机确定该容器拥有敏感的系统权限时,宿主机可以拒绝该容器的运行,从而避免容器中的恶意进程基于该敏感的系统权限对宿主机或其他容器展开攻击。在实现本申请的过程中,专利技术人发现现有技术至少存在以下问题:相关技术仅能在容器运行前被动地对容器逃逸进行防范,而对容器运行后发生的容器逃逸事件无法检测防范,因此,对容器逃逸的防范力度较低。
技术实现思路
本
【技术保护点】
一种计算系统中容器逃逸检测方法,其特征在于,所述计算系统包括至少一台宿主机,所述宿主机上运行容器监测组件和至少一个容器,所述计算系统还包括逃逸检测组件,所述逃逸检测组件设置有逃逸检测规则,所述逃逸检测规则包括至少一组预设系统调用顺序,每组预设系统调用顺序对应于一种容器逃逸行为所触发的多个系统调用的预测发生顺序;/n所述方法包括:/n所述逃逸检测组件接收所述容器监测组件上报的被监测容器触发的多个系统调用的信息;/n所述逃逸检测组件将所述多个系统调用的发生顺序与所述逃逸检测规则中的至少一组预设系统调用顺序进行匹配,并根据匹配结果确定所述被监测容器是否发生逃逸。/n
【技术特征摘要】
【国外来华专利技术】20180316 CN PCT/CN2018/079338一种计算系统中容器逃逸检测方法,其特征在于,所述计算系统包括至少一台宿主机,所述宿主机上运行容器监测组件和至少一个容器,所述计算系统还包括逃逸检测组件,所述逃逸检测组件设置有逃逸检测规则,所述逃逸检测规则包括至少一组预设系统调用顺序,每组预设系统调用顺序对应于一种容器逃逸行为所触发的多个系统调用的预测发生顺序;
所述方法包括:
所述逃逸检测组件接收所述容器监测组件上报的被监测容器触发的多个系统调用的信息;
所述逃逸检测组件将所述多个系统调用的发生顺序与所述逃逸检测规则中的至少一组预设系统调用顺序进行匹配,并根据匹配结果确定所述被监测容器是否发生逃逸。
根据权利要求1所述的方法,其特征在于,所述逃逸检测规则还包括预定义的至少一种与容器逃逸相关的高危系统能力;
所述方法还包括:
所述逃逸检测组件接收所述容器监测组件上报的被监测容器的启动参数,所述启动参数包含所述被监测容器启用的系统能力;
所述逃逸检测组件根据预设的所述逃逸检测规则以及所述被监测容器的启用的系统能力,确定所述被监测容器是否发生逃逸。
根据权利要求1或2所述的方法,其特征在于,还包括:
所述逃逸检测组件接收所述容器监测组件上报的敏感文件篡改信息,所述敏感文件篡改信息是所述容器监测组件在监测到所述被监测容器中的进程对所述被监测容器的宿主机中预设的敏感文件进行写操作后发送的;
所述逃逸检测组件基于所述敏感文件篡改信息,确定所述被监测容器发生了容器逃逸。
根据权利要求1-3任一项所述的方法,其特征在于,还包括:
所述逃逸检测组件根据所述被监测容器是否发生逃逸,发送容器逃逸事件报告或逃逸告警。
根据权利要求1-4任一项所述的方法,其特征在于,所述逃逸检测规则采用目标决策树表达,所述目标决策树包括至少一个分支,每个分支包括系统能力节点和有序的多个系统调用节点,每个分支的系统能力节点对应于一种高危系统能力,每个分支的多个系统调用节点的预设顺序代表启用该分支的系统能力节点所描述的高危系统能力的容器发生逃逸时所触发的多个系统调用的预测发生顺序,所述目标决策树的每个分支的每个节点上都预先设置有可能性标识,所述可能性标识的大小指示容器逃逸的可能性大小;
所述逃逸检测组件确定所述被监测容器是否发生逃逸具体包括:
所述逃逸检测组件在接收到所述被监测容器的启动参数后,根据获取到的所述被监测容器的启用的系统能力,与所述目标决策树中的各个系统能力节点进行匹配,获取匹配成功的系统能力节点对应的第一可能性标识,将所述第一可能性标识作为所述被监测容器当前的可能性标识;
所述逃逸检测组件在接收到所述被监测容器触发的多个系统调用的信息后,确定所述多个系统调用的实际发生顺序,将所述多个系统调用的实际发生顺序与匹配成功的系统能力节点所在的分支的预设顺序进行匹配,若在匹配成功的系统能力节点所在的分支的第n个系统调用节点匹配成功,获取所述第n个系统调用节点所对应的第二可能性标识,使用所述第二可能性标识更新所述被监测容器当前的可能性标识。
根据权利要求1-4任一项所述的方法,其特征在于,所述逃逸检测组件确定所述被监测容器是否发生逃逸具体包括:
获取目标状态机,所述目标状态机包括初始状态、最终状态以及由所述初始状态转移至所述最终状态所需满足的状态转移条件,所述状态转移条件为输入的顺序信息所指示的顺序与所述预设系统调用顺序相同的条件;
在所述目标状态机处于所述初始状态时,将所述多个系统调用的发生顺序输入至所述目标状态机;
当所述目标状态机由所述初始状态转移至所述最终状态时,确定所述被监测容器发生了容器逃逸。
一种计算系统中容器逃逸检测方法,其特征在于,所述计算系统包括至少一台宿主机,所述宿主机上运行容器监测组件和至少一个容器,所述计算系统还包括逃逸检测组件,所述逃逸检测组件设置有逃逸检测规则,所述逃逸检测规则包括至少一组预设系统调用顺序,每组系统调用顺序对应于一种容器逃逸行为所触发的多个系统调用的预测发生顺序;
所述方法包括:
所述容器监测组件对被监测容器的运行情况进行监测;
所述容器监测组件向所述逃逸检测组件上报所述被监测容器触发的多个系统调用的信息,所述多个系统调用的发生顺序用于与所述逃逸检测规则进行匹配以确定所述被监测容器是否发生逃逸。
根据权利要求7所述的方法,其特征在于,还包括:
所述容器监测组件向所述逃逸检测组件上报所述被监测容器的信息,所述被监测容器的信息包括所述被监测容器的ID或所述被监测容器的启动的进程ID;
所述容器监测组件接收所述逃逸检测组件根据所述被监测容器的信息下发的审计规则,所述审计规则指示所述容器监测组件对所述被监测容器的系统调用事件进行审计;
所述容器监测组件向所述逃逸检测组件上报所述被监测容器触发的多个系统调用的信息包括:
所述容器监测组件在监测到所述被监测容器触发的系统调用事件后,向所述逃逸检测组件上报审计报告,所述审计报告携带所述被监测容器触发的多个系统调用的信息。
根据权利要求7或8所述的方法,其特征在于,所述逃逸检测规则还包括预定义的至少一种与容器逃逸相关的高危系统能力;
所述方法还包括:
所述容器监测组件在监测到所述被监测容器启动后,向所述逃逸检测组件上报所述被监测容器的启动参数,所述启动参数包含所述被监测容器启用的系统能力,所述被监测容器启用的系统能力用于与所述逃逸检测规则进行匹配以确定所述被监测容器是否发生逃逸。
根据权利要求9所述的方法,其特征在于,所述容器监测组件向所述逃逸检测组件上报被监测容器的启动参数包括:
所述容器监测组件调用docker socket接口获取所述被监测容器的启动参数,向所述逃逸检测组件上报携带所述被监测容器的启动参数的docker run命令。
根据权利要求7-10任一项所述的方法,其特征在于,还包括:
所述容器监测组件向所述逃逸检测组件上报敏感文件篡改信息,所述敏感文件篡改信息是所述容器监测组件在监测到所述被监测容器中的进程对所述被监测容器的宿主机中预设的敏感文件进行写操作后发送的。
一种计算系统中容器逃逸检测方法,其特征在于,所述计算系统包括至少一台宿主机,所述宿主机上运行容器监测组件和至少一个容器,所述计算系统还包括逃逸检测组件,所述逃逸检测组件设置有逃逸检测规则,所述逃逸检测规则包括预定义的至少一种与容器逃逸相关的高危系统能力;
所述方法包括:
所述逃逸检测组件接收所述容器监测组件上报的被监测容器的启动参数,所述启动参数包含所述被监测容器启用的系统能力;
所述逃逸检测组件根据预设的所述逃逸检测规则以及所述被监测容器的启用的系统能力,确定所述被监测容器是否发生逃逸。
根据权利要求12所述的方法,其特征在于,所述逃逸检测规则还包括至少一组预设系...
【专利技术属性】
技术研发人员:张煜,匡大虎,俞岳,陈宇,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。