一种容器安全隔离方法、系统及介质技术方案

技术编号:22363793 阅读:21 留言:0更新日期:2019-10-23 04:35
本发明专利技术公开了一种容器安全隔离方法、系统及介质,方法包括通过安全容器运行时用户态内核拦截容器的应用程序的系统调用,完成处理后将结果返回给容器的应用程序,使得容器的应用程序不能直接完成宿主机的系统调用;通过文件系统代理拦截容器应用程序的IO操作,执行完成IO操作后将结果返回给容器的应用程序。使用本发明专利技术能够在保证容器效率的同时提高容器的隔离性和安全性,通过用户态内核容器应用不能直接访问宿主机内核,它不是真正的像一个主机的进程在运行,而是将应用程序加载到安全容器运行时的内存空间中并从那里运行,这样即使容器内的应用有安全风险也只能对容器造成影响,而不会通过容器而影响到宿主机的运行,从而了提高隔离性。

A safe isolation method, system and medium for vessels

【技术实现步骤摘要】
一种容器安全隔离方法、系统及介质
本专利技术涉及计算机安全领域,尤其涉及一种容器安全隔离方法、系统及介质。
技术介绍
随着容器技术在近几年得到飞速的发展,国内外不少企业已经将其应用到生产系统中,有理由相信随着容器相关技术的完善和技术生态的建立,将成为下一代云计算的基石。容器诞生的目的是便于持续的集成和快速部署,尽量减少中间环节。但是容器在提供便利性的同时,其安全问题也面临着挑战。由于容器使用共享操作系统模型,对主机操作系统中的漏洞的攻击可能导致所有容器被攻击,同时容器本身并不完全安全。容器安全质疑最大的一点就是其隔离的彻底性。相对于虚拟机而言,容器使用宿主机的内核,只是对进程和文件进行虚拟化,而虚拟机做到了操作系统级别的虚拟化。在安全隔离性上,容器比虚拟机差。虽然容器上可以通过命名空间和控制群组等技术做资源的限制,但是主要的内核子系统和设备都没有命名空间,因此容器里的应用程序依然可以访问很多宿主机的系统资源。事实上这跟没有跑在容器里的应用程序一样,容器里的应用程序可以直接通过操作系统内核的系统调用陷入到内核。任何一个被允许的系统调用的缺陷都可以被恶意的应用程序利用,从而危害宿主机的安全。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种容器安全隔离方法、系统及介质,使用本专利技术能够在保证容器效率的同时提高容器的隔离性和安全性,通过用户态内核,容器应用不能直接访问宿主机内核,它不是真正的像一个主机的进程在运行,而是将应用程序加载到运行时的应用程序内存空间中并从那里运行,这样即使容器内的应用有安全风险,也只能对容器造成影响,而不会通过容器而影响到宿主机的运行,从而了提高隔离性。为了解决上述技术问题,本专利技术采用的技术方案为:一种容器安全隔离方法,实施步骤包括在容器调用安全容器运行时,创建用户态内核进程和文件系统代理进程,用户态内核拦截容器的应用程序的系统调用,完成系统调用的处理后将结果返回给容器的应用程序,使得容器的应用程序不能直接完成宿主机的系统调用;通过文件系统代理拦截容器的应用程序的IO操作,并在执行完成IO操作后将结果返回给容器的应用程序。优选地,所述通过用户态内核拦截容器的应用程序的系统调用之后,还包括通过用户态内核拦截容器的应用程序的系统调用并对其进行过滤的步骤,如果发出系统调用的容器的应用程序被允许,则执行系统调用并将结果返回给容器的应用程序;如果发出系统调用的容器的应用程序不被允许,则拒绝完成系统调用且将结果返回给容器的应用程序。优选地,所述通过文件系统拦截容器的应用程序的IO操作具体是指通过用户态内核将容器的应用程序的IO操作交给文件系统代理,且所述将结果返回给容器的应用程序具体是指通过用户态内核将结果返回给容器的应用程序。本专利技术还提供一种容器安全隔离系统,包括计算机设备,该计算机设备被编程或配置以执行本专利技术前述容器安全隔离方法的步骤。本专利技术还提供一种容器安全隔离系统,包括计算机设备,该计算机设备的存储介质上存储有被编程或配置以执行本专利技术前述容器安全隔离方法的计算机程序。本专利技术还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行本专利技术前述容器安全隔离方法的计算机程序。本专利技术还提供一种容器安全隔离系统,包括:用户态内核程序模块,用于通过用户态内核拦截容器的应用程序的系统调用,完成系统调用的处理后将结果返回给容器的应用程序,使得容器的应用程序不能直接完成宿主机的系统调用;文件系统代理程序模块,用于通过文件系统代理拦截容器的应用程序的IO操作,并在执行完成IO操作后将结果返回给容器的应用程序。和现有技术相比,本专利技术具有下述优点:本专利技术通过安全容器运行时创建用户态内核进程和文件系统代理进程,用户态内核拦截容器的应用程序的系统调用,完成系统调用的处理后将结果返回给容器的应用程序,使得容器的应用程序不能直接完成宿主机的系统调用;通过文件系统代理拦截容器的应用程序的IO操作,在执行完成IO操作后将结果返回给容器的应用程序。使用本专利技术能够在保证容器效率的同时提高容器的隔离性和安全性,通过用户态内核容器应用不能直接访问宿主机内核,它不是真正的像一个主机的进程在运行,而是将应用程序加载到运行时的应用程序内存空间中并从那里运行,这样即使容器内的应用有安全风险也只能对容器造成影响,而不会通过容器而影响到宿主机的运行,从而了提高隔离性。附图说明图1为本专利技术实施例方法的基本原理示意图。图2为本专利技术实施例方法中用户态内核的层次结构示意图。具体实施方式如图1所示,本实施例容器安全隔离方法的实施步骤包括,在容器通过调用安全运行时创建用户态内核进程和文件系统代理进程,用户态内核拦截容器的应用程序(图1中简略表示为“应用”)的系统调用,完成系统调用的处理后将结果返回给容器的应用程序,使得容器的应用程序不能直接完成宿主机的系统调用;通过文件系统代理拦截容器的应用程序的IO操作,并在执行完成IO操作后将结果返回给容器的应用程序。如图2所示,本实施例中应用程序、用户态内核和文件系统代理运行在非特权模式下。此外参见图2,本实施例中通过用户态内核拦截容器的应用程序的系统调用之后,还包括通过用户态内核拦截容器的应用程序的系统调用并对其进行过滤的步骤,如果发出系统调用的容器的应用程序被允许,则执行系统调用并将结果返回给容器的应用程序;如果发出系统调用的容器的应用程序不被允许,则拒绝完成系统调用且将结果返回给容器的应用程序。图2所示为本实施例中用户态内核在整个软硬件所处的层次,参见图2,用户态内核实际上是在应用程序、宿主机内核之间的中间,起到两者之间的隔离的作用,通过用户态内核拦截容器的应用程序的系统调用并对其进行过滤,可防止不受信的应用对主机造成影响。。本实施例中,通过文件系统拦截容器的应用程序的IO操作具体是指通过用户态内核将容器的应用程序的IO操作交给文件系统代理,且所述将结果返回给容器的应用程序具体是指通过用户态内核将结果返回给容器的应用程序。安全容器运行时用来管理容器的创建和销毁,本实施例中安全容器运行时分为用户态内核、文件系统代理两部分。用户态内核是在宿主机内核之上实现的非特权用户态“内核进程”,它提供了大部分Linux内核的系统调用,通过将容器内进程的系统调用转化为对该“内核进程”的调用。文件系统代理则处理容器内的IO请求,通过它将容器内的IO操作转接到宿主机上。本实施例中,容器内的用户态内核拦截由应用程序发起的所有系统调用,并充当访客内核,不通过虚拟化硬件进行翻译,为应用程序请求返回相应的结果;本实施例中,容器内的用户态内核,实现了大多数内核机制(信号,管道,线程模型,内存管理等),并在这些机制之上构建了完整的系统调用处理程序,不是简单地将应用程序的系统调用重定向到主机内核。由于容器内的用户态内核本身就是一个用户空间应用程序,因此它会进行一些宿主机的系统调用来支持其操作,同时会对这些系统调用进行过滤,不允许应用程序直接控制它所做的系统调用;本实施例中,应用的IO操作通过用户态内核转接给文件系统代理处理,文件系统代理通过访问主机受限的文件,将结果返回给用户态内核,再由用户态内核把结果返回给应用程序。综上所述,本实施例容器安全隔离方法在容器内实现用户态内核,使容器应用不直接依赖宿主本文档来自技高网...

【技术保护点】
1.一种容器安全隔离方法,其特征在于实施步骤包括,在容器调用安全容器运行时,创建用户态内核进程和文件系统代理进程,用户态内核拦截容器的应用程序的系统调用,完成系统调用的处理后将结果返回给容器的应用程序,使得容器的应用程序不能直接完成宿主机的系统调用;通过文件系统代理拦截容器的应用程序的IO操作,并在执行完成IO操作后将结果返回给容器的应用程序。

【技术特征摘要】
1.一种容器安全隔离方法,其特征在于实施步骤包括,在容器调用安全容器运行时,创建用户态内核进程和文件系统代理进程,用户态内核拦截容器的应用程序的系统调用,完成系统调用的处理后将结果返回给容器的应用程序,使得容器的应用程序不能直接完成宿主机的系统调用;通过文件系统代理拦截容器的应用程序的IO操作,并在执行完成IO操作后将结果返回给容器的应用程序。2.根据权利要求1所述的容器安全隔离方法,其特征在于:所述通过用户态内核拦截容器的应用程序的系统调用之后,还包括通过用户态内核拦截容器的应用程序的系统调用并对其进行过滤的步骤,如果发出系统调用的容器的应用程序被允许,则执行系统调用并将结果返回给容器的应用程序;如果发出系统调用的容器的应用程序不被允许,则拒绝完成系统调用且将结果返回给容器的应用程序。3.根据权利要求1所述的容器安全隔离方法,其特征在于:所述通过文件系统拦截容器的应用程序的IO操作具体是指通过用户态内核将容器的应用程序的IO操作交给文件系统...

【专利技术属性】
技术研发人员:罗求孙利杰陈松政刘文清杨涛
申请(专利权)人:湖南麒麟信安科技有限公司
类型:发明
国别省市:湖南,43

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

1