CN116360924A - 安全执行容器的方法及装置 - Google Patents
安全执行容器的方法及装置 Download PDFInfo
- Publication number
- CN116360924A CN116360924A CN202310336904.0A CN202310336904A CN116360924A CN 116360924 A CN116360924 A CN 116360924A CN 202310336904 A CN202310336904 A CN 202310336904A CN 116360924 A CN116360924 A CN 116360924A
- Authority
- CN
- China
- Prior art keywords
- container
- privacy
- security
- data
- computing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004364 calculation method Methods 0.000 claims description 51
- 238000001914 filtration Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 29
- 244000035744 Hura crepitans Species 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000003014 reinforcing effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- MZWGYEJOZNRLQE-KXQOOQHDSA-N 1-stearoyl-2-myristoyl-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CCCCCCCCCCCCC MZWGYEJOZNRLQE-KXQOOQHDSA-N 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例提供一种安全执行容器的方法及装置,在隐私计算架构下,提供一种可以对容器安全加固的框架,可以配置容器的安全执行策略。具体而言,主节点将隐私计算任务的镜像文件传递至计算节点,计算节点在拉起容器执行相关隐私计算任务之前,可以先对预先配置的安全校验项进行安全校验,识别其中的风险性,在通过安全校验的情况下,进一步通过预先配置的安全防护策略执行容器,从而确保隐私计算任务能够在维护当前设备隐私安全的基础上执行。
Description
技术领域
本说明书一个或多个实施例涉及数据安全技术领域,尤其涉及安全执行容器的方法及装置。
背景技术
2016年发布的《隐私计算研究范畴及发展趋势》正式提出“隐私计算”一词,并将隐私计算定义为:“面向隐私信息全生命周期保护的计算理论和方法,是隐私信息的所有权、管理权和使用权分离时隐私度量、隐私泄漏代价、隐私保护与隐私分析复杂性的可计算模型与公理化系统”。隐私计算本质上是在保护数据隐私的前提下,解决数据流通、数据应用等数据服务问题。
另一方面,随着分布式系统的发展,计算节点从硬件计算设备到虚拟机(如vmware、openstack等),又到容器技术。虚拟机可以理解为在操作系统中模拟出的多台相互隔离的子电脑(如Linux)。容器是一种沙盒技术,主要目的是将应用运行在其中与外界隔离,并且方便这个沙盒可以被转移到其它宿主机器。本质上,容器可以看作一个特殊的进程,通过名称空间(Namespace)、控制组(Control groups)、切换根目录(chroot)技术把资源、文件、设备、状态和配置划分到一个独立的空间。例如,Docker是应用较为广泛的容器技术,其可以通过打包镜像文件、启动容器来创建一个服务。
随着隐私计算的广泛应用,计算任务越来越复杂,隐私计算和分布式系统相结合过程中,隐私计算架构下使用的容器的数量也越来越多,于是容器的管理和运维成为分布式系统中的重要问题。
发明内容
本说明书一个或多个实施例描述了一种安全执行容器的方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供一种安全执行容器的方法,用于多方进行隐私计算架构下,计算节点根据主节点以容器形式下发的隐私计算任务的执行过程;所述方法包括:在监测到包含隐私计算任务的镜像文件的数据包的情况下,解析所述数据包中各个镜像文件对应的容器数据;对所述容器数据进行预定的安全校验,所述安全校验包括以下中的至少一项:敏感字段检查、启动命令过滤、镜像站点过滤、镜像签名验证;在所述容器数据通过安全校验的情况下,根据解析出的容器数据,通过预先配置的安全防护策略执行相关隐私计算任务。
在一个实施例中,所述数据包包括以Pod形式容纳的一个或多个容器的镜像文件。
在一个实施例中,所述安全校验包括敏感字段检查的情况下,所述对所述容器数据进行预定的安全校验包括:将所述容器数据与用户配置的敏感字段进行匹配;在未匹配到敏感字段的情况下,确定所述数据包通过敏感字段检查。
在一个进一步的实施例中,所述敏感字段用于获取执行容器的设备上的预定权限、预定的挂载主机目录。
在一个实施例中,所述安全校验包括启动命令过滤/镜像站点过滤的情况下,所述对所述容器数据进行预定的安全校验包括:将所述容器数据与用户配置的启动命令/镜像站点白名单进行匹配;在匹配到白名单中的任一项的情况下,确定所述容器数据通过启动命令/镜像站点检查。
在一个实施例中,所述安全防护策略包括通过安全沙箱执行相关隐私计算任务,所述根据解析出的容器数据,通过预先配置的安全防护策略执行相关隐私计算任务包括:用安全沙箱进程替换容器的主进程;将容器中隐私计算任务的进程启动命令当作参数传递给安全沙箱,使得隐私计算任务在安全沙箱中执行。
在一个实施例中,所述安全防护策略包括为容器设置防火墙规则。
根据第二方面,提供一种安全执行容器的装置,用于多方进行隐私计算架构下,计算节点根据主节点以容器形式下发的隐私计算任务的执行过程;所述装置设于计算节点,包括:
解析单元,配置为在监测到包含隐私计算任务的镜像文件的数据包的情况下,解析所述数据包中各个镜像文件对应的容器数据;
安全校验单元,配置为对所述容器数据进行预定的安全校验,所述安全校验包括以下中的至少一项:敏感字段检查、启动命令过滤、镜像站点过滤、镜像签名验证;
执行单元,配置为在所述容器数据通过安全校验的情况下,根据解析出的容器数据,通过预先配置的安全防护策略执行相关隐私计算任务。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,在隐私计算架构下,提供一种可以对容器安全加固的框架,可以配置容器的安全执行策略。具体而言,主节点将隐私计算任务的镜像文件传递至计算节点,计算节点在拉起容器执行先关隐私计算任务之前,可以先对预先配置的安全校验项进行安全校验,识别其中的风险性,在通过安全校验的情况下,进一步通过预先配置的安全防护策略运行容器,从而在联合隐私计算任务的执行过程中确保本地设备和隐私数据安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了一个多方安全计算的实施架构示意图;
图2示出了一个计算节点向其他计算节点发布隐私计算任务的一个架构示意图;
图3示出了根据本说明书的一个实施例的安全执行容器的流程示意图;
图4示出了一个具体例子中的安全校验流程示意图;
图5示出了通过预先配置的安全防护策略执行相关隐私计算任务的流程示意图;
图6是根据一个实施例的安全执行容器的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
保护隐私数据是隐私计算的核心宗旨之一。通过隐私计算执行的任务,可以称为隐私计算任务,即:由多个参与方在保证原始数据安全和隐私性的同时,共同完成对数据的计算、分析之类的任务。隐私计算任务例如可以是隐私保护数据分析、联合机器学习等等。
隐私计算的一个常规应用例如是多方安全计算(Secure Multi-PartyComputation,可简称SMPC)。SMPC解决一组互不信任的参与方之间保护隐私的协同计算问题,要确保输入的独立性,计算的正确性,同时不泄露各输入值给参与计算的其他成员。
图1示出了一个多方安全计算的实施架构示意图。可以理解,多方安全计算可以分为有中心和无中心的架构。图1示出了有中心的架构,各个参与方(如成员1、成员2、成员3)可以将本地计算结果以明文或密文形式传递给可信第三方,由可信第三方完成各方数据的融合计算,并反馈相关计算结果。在无中心的实施架构下,各个参与方之间直接交互加密数据,并通过诸如同态加密、秘密共享之类的加密计算方式在密态下完成相关隐私计算任务。相较于无中心的实施架构,有中心的实施架构可以节约由于隐私保护需求而产生的冗余通信量,在此不再赘述。
在隐私计算任务完成过程中,将各个参与方看作计算节点,单个计算节点可以向其他计算节点发布任务,从而由其他计算节点利用本地数据进行相关计算。基于容器技术,任务的发布可以通过容器进行。容器中包含相关任务的镜像数据。本领域技术人员可以理解,容器的管理可以通过Pod(豆荚)进行,Pod作为容器管理的最小单元,一个Pod可以容纳一个或多个容器。各个Pod有自己的虚拟IP,一个任务可以有多个Pod,主节点可以基于各个从节点的负载自动调度Pod到从节点运行。
图2示出了一个计算节点向其他计算节点发布隐私计算任务的一个架构示意。假设当前发起隐私计算任务的节点为主节点,则其他节点可以作为从节点。主节点对应任务控制层面,决定向哪个工作节点分配任务容器,单个Pod容纳多少个任务容器。从节点(与主节点相对)接收到任务分发的Pod,可以通过预先设置的隐私计算装置以容器的形式将Pod拉起运行。其中,这里的隐私计算装置可以是预先布置在隐私计算框架下的一个模块,例如记为Agent。
然而,Pod本身是不安全的,它可以配置安全参数(如Security Context参数)来获取节点机器上的特权,例如,配置ture/false表示是/否取消隔离性,配置privilege(特权)参数表示是否具有可以获取设备信息的特权,等。在这种情况下,如果隐私计算框架下的主节点向从节点下发一个恶意镜像或者一个危险的启动命令,则不利于隐私保护及系统稳定。另一方面,在某些隐私计算产品中,为了灵活性,任务本身会执行一段动态的代码(例如python代码),使得任务变得更加不可控。
有鉴于此,为了屏蔽掉以上的各种不可控的因素,保护计算节点的设备及数据的隐私安全,本说明书对隐私计算装置在执行容器时的流程进行改进,通过该流程实现隐私计算装置的安全加固,确保隐私计算任务的安全执行。
图3示出了根据本说明书的一个实施例的安全执行容器的流程,适用于隐私计算过程中的计算节点执行主节点下发的隐私计算任务。该流程的执行主体即计算节点中的隐私计算装置,该隐私计算装置可以是独立的隐私计算执行模块,也可以是嵌入在当前隐私计算框架下的一个模块,如前文的Agent。
如图3所示,该安全执行容器的流程可以包括以下步骤:步骤302,在监测到包含隐私计算任务的镜像文件的数据包的情况下,解析数据包中各个镜像文件对应的容器数据;步骤304,对容器数据进行预定的安全校验,上述安全校验包括以下中的至少一项:敏感字段检查、启动命令过滤、镜像站点过滤、镜像签名验证;步骤306,在容器数据通过安全校验的情况下,根据解析出的容器数据,通过预先配置的安全防护策略执行相关隐私计算任务。
首先,在步骤302中,在监测到包含隐私计算任务的镜像文件的数据包的情况下,解析数据包中各个镜像文件对应的容器数据。
其中,主节点在隐私计算任务执行过程中,可以通过镜像文件创建新的容器。镜像文件是一个只读的模板,或者称为一个独立的文件系统,里面包含运行容器所需的数据,这些数据可以用来创建新的容器,以供容器执行时,启动相关进程并利用相关数据完成相关计算任务。由于容器的相互独立性,主节点可以根据业务处理需求,在隐私计算任务中拆分出一个或多个隐私计算任务,通过单个镜像文件部署一个或多个隐私计算任务。隐私计算任务的数据包可以是对至少一个镜像文件进行打包得到,其可以通过压缩包、Pod(豆荚)之类的形式从主节点下发。
可以理解,容器是基于镜像文件创建的进程,容器中的进程依赖于数据包中的镜像文件,容器在执行过程中,具有写的功能,可以根据需要改写里面的软件、配置等,并可以保存为新的镜像文件。为了保护数据隐私和自身安全,计算节点在根据数据包中的镜像文件创建容器之前,先解析相应的容器数据。这里的容器数据例如可以包括:容器的启动命令、容器所涉及的隐私计算任务的启动命令等。
数据包中的镜像文件可以对应一个或多个容器,计算节点可以针对各个容器,分别解析相应的容器数据。这里的容器数据例如可以是容器执行所需的各种参数,如容器类型参数、启动模式、启动命令参数、相应镜像文件导入地址(如镜像站点)、镜像文件签名等等。
接着,通过步骤304,对容器数据进行预定的安全校验。
在本说明书的技术构思下,在隐私计算过程中,为了避免受到恶意数据包侵犯,计算节点针对收到的数据包,在拉起容器之前,可以先对通过数据包解析到的容器数据进行安全校验。其中,安全校验可以包括敏感字段检查、启动命令过滤、镜像站点过滤、镜像签名验证等等中的至少一项。各个安全校验项可以通过相关安全校验模块实现。
敏感字段检查可以通过敏感字段检查模块(如pod verification插件)实现。敏感字段由用户预先配置确定,或为敏感字段检查模块默认字段。敏感字段可以是可能威胁到计算节点设备安全或者导致隐私信息泄露的字段,如可以包括对执行容器的设备获取相关权限、目录等的执行字段。例如,在禁止Pod申请特殊权限(如privileged权限等)、禁止Pod随意挂载主机上的目录等的情况下,可以将预定权限、预定的挂载主机目录等作为敏感字段进行校验。在用户配置有敏感字段的情况下,计算节点可以将用户配置的敏感字段在容器数据中进行匹配,若匹配到任一敏感字段,则不能通过敏感字段检查,若未匹配到敏感字段,则可以通过敏感字段检查。
启动命令过滤,可以通过命令过滤模块(如command filter插件)实现,用于过滤恶意启动命令。具体地,可以通过命令过滤模块对容器启动命令的黑名单/白名单匹配实现。其中,黑名单可以包括恶意启动命令,如从互联网下载挖矿程序并执行的命令,白名单可以包括非恶意启动命令,即正常启动命令,如“-it”为给当前进入的容器创建一个标准输入、输出终端,允许计算节点与容器交互的命令。计算节点可以预先接受用户经由命令过滤模块(如command filter插件)进行的黑名单/白名单配置或者命令过滤模块对黑名单/白名单的默认配置,过滤掉恶意的启动命令。通常,匹配到启动命令白名单的启动命令可以通过启动命令过滤检测,或者,匹配到启动命令黑名单的启动命令无法通过启动命令过滤检测。可选地,启动命令在黑名单/白名单中的匹配可以支持通配符和正则表达式。
镜像站点过滤可以通过镜像站点过滤模块(如registry filter插件)实现,用于阻止从非信任的镜像站点拉取镜像。镜像站点可以是在不同的服务器部署的网站副本,使得用户可以在访问较少或相对速度较快的服务器上取得信息,这样可能提高反应速度和网络传输效率,还可以提高网站的安全性。其中,镜像站点过滤模块可以默认有镜像站点的黑名单/白名单,也可以由用户自主配置镜像站点的黑名单/白名单,例如将http://192.168.1.1配置到镜像站点白名单。通常,匹配到镜像站点白名单的镜像站点可以通过镜像站点过滤检测,或者,匹配到镜像站点黑名单的镜像站点无法通过镜像站点过滤检测。可选地,镜像站点在黑名单/白名单中的匹配可以支持通配符和正则表达式。
镜像签名验证可以通过镜像签名验证模块(如image verification插件)实现,验证镜像的签名,目的是确保镜像是由信任的节点构建的。如此,参与联合隐私计算的节点可以预先将本地生成的公钥提供给其他计算节点,以在本地使用私钥进行镜像文件的签名并将镜像文件提供给其他计算节点的情况下,其他计算节点可以通过公钥对该签名进行验证。签名验证可以通过本领域常规技术手段实现,在此不再赘述。
在其他实施例中,还可以进行其他项的安全校验,在此不做赘述。值得说明的是,以上各项安全校验可以通过诸如以上的检查模块(如pod verification插件、imageverification插件等)实现,从而可以和容器执行的核心逻辑(如隐私计算任务)解耦,易于由用户预先对安全校验项进行选择、对所选择的各个安全校验项进行配置。例如,用户可以选择其中的一个或多个安全校验模块(如仅选择启动命令过滤模块和镜像签名验证模块)进行相应项的安全校验,针对所选择的单个可配置的安全校验模块进行配置,如对启动命令过滤模块中的白名单进行配置。
在可选的实施例中,可以通过钩子(hook)机制来实现安全校验。可以理解,hook往往通过拦截系统或者应用中的事件、信号和调用,来更改系统或者应用的默认行为,从而可以在容器被拉起执行之前,依次通过各个安全校验模块进行相应项的安全校验。
图4示出了一个具体例子中的安全校验流程。如图4所示,API Server(如k8s)可以提供各类资源对象(如Pod、RC、Service等)的增删改查及监测进程watch等HTTP Rest接口,是计算节点上的隐私计算框架的数据总线和数据中心。在Agent(隐私计算装置)通过对Pod的列表监测(list-watch pods)监听API Server,在确认接收到Pod的情况下,可以先对Pod中的镜像文件进行解析,获取其中的容器数据,然后,通过hook插件(hook plugin)依次执行用户配置的安全校验模块,对当前Pod进行安全校验。在通过安全校验的情况下,可以进行后续步骤,如执行Pod(run pod)等。
值得说明的是,在对容器数据进行安全校验过程中,各个安全校验项全部通过,可以认为容器数据通过安全校验,其中任一项不通过,则可以认为容器数据未通过安全校验。在容器数据未通过安全校验的情况下,可以删除相关镜像文件,并向提供容器数据的主节点反馈未通过校验、执行失败等描述错误的信息。
进一步地,在容器数据通过安全校验的情况下,经由步骤306,根据解析出的容器数据,通过预先配置的安全防护策略执行相关隐私计算任务。
可以理解,通过解析出的容器数据,可以拉起容器,从而执行相关隐私计算任务。考虑到直接拉起容器可能造成的风险性,可以根据解析出的容器数据,采用预先配置的安全防护策略执行相关隐私计算任务。
在一些可选的实现方式中,安全防护策略可以包括通过安全沙箱执行相关隐私计算任务。具体地,可以将容器的主进程替换为安全沙箱进程,并将容器中隐私计算任务的进程启动命令当作参数传递给安全沙箱。在配置安全沙箱运行所需要的环境(例如挂载一些必要的Linux系统目录等)的情况下,使得容器内的主进程为安全沙箱进程,真正的任务进程作为安全沙箱的子进程由安全沙箱拉起。其中,以上的安全沙箱可以是常规技术中可以实现相关目标的各种安全沙箱技术,例如NsJail等。在安全沙箱通过NsJail实现的情况下,安全沙箱可以通过Linux命名空间隔离(Linux namespace isolation)、系统调用过滤(seccomp-bpf syscall filters)等安全手段,进一步加强对设备的安全防护。如图5中靠上执行线路的示意。
在另一些可选的实现方式中,安全防护策略可以包括在容器启动时为容器设置防火墙(iptables,或称为路由规则)规则。具体而言,可以通过防火墙规则限制目标域名、IP,从而只允许容器访问特定的模块。如图5中靠下执行线路的示意。
在其他实现方式中,还可以通过其他安全防护策略执行相关隐私计算任务,在此不再赘述。值得说明的是,各种安全防护策略可以由用户预先通过当前的隐私计算框架进行配置,并可以组合使用。
图5示出了通过预先配置的安全防护策略执行相关隐私计算任务的流程示意。如图5所示,根据一个具体例子,隐私计算装置Agent在解析出容器数据后,可以拉起容器,具体地,在拉起容器时,用安全沙箱(如NsJail)替换容器的主进程,从而在安全沙箱中执行隐私计算任务。在执行隐私计算任务时,根据网络策略(network policy)确定允许的网关(gateway)、域名解析服务器(DNS)、数据库(如DB)等等。对于不符合网络策略的操作进行拒绝,如记为其他(others)。如图5所示,根据另一个具体例子,可以通过防火墙的设置,允许容器访问特定的模块,从而避免对其他模块执行操作导致的不安全因素。
如此,可以对容器的执行操作进行安全加固。
回顾以上过程,在隐私计算架构下,提供一种可以对容器安全加固的框架,可以配置容器的安全执行策略。具体而言,主节点将隐私计算任务的镜像文件传递至计算节点,计算节点在拉起容器执行先关隐私计算任务之前,可以先对预先配置的安全校验项进行安全校验,识别其中的风险因素,在通过安全校验的情况下,进一步通过预先配置的安全防护策略运行容器,从而确保隐私计算任务执行过程中当前计算节点的数据隐私保护及设备安全。
根据另一方面的实施例,还提供一种可以设于单个计算节点的安全执行容器的装置。该安全执行容器的装置用于多方联合进行隐私计算的框架中,并可以设于任意一个参与方。在当前参与方作为从节点(与下发任务的主节点相对而言)的情况下,基于安全执行容器的装置执行相关隐私计算任务。
图6示出了根据一个实施例的安全执行容器的装置的结构框图。如图6所示,安全执行容器的装置600可以包括:
解析单元601,配置为在监测到包含隐私计算任务的镜像文件的数据包的情况下,解析数据包中各个镜像文件对应的容器数据;
安全校验单元602,配置为对容器数据进行预定的安全校验;
其中,上述安全校验包括一下中的至少一项:敏感字段检查、镜像站点过滤、镜像签名验证;
执行单元603,配置为在容器数据通过安全校验的情况下,根据解析出的容器数据,通过预先配置的安全防护策略执行相关隐私计算任务。
值得说明的是,图6示出的装置600与图3示出的方法实施例对应,因此,图3的方法实施例中的相应描述同样适用于图6示出的装置600,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序在计算机中执行时,令计算机执行结合图3等所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,上述处理器执行该可执行代码时,实现结合图3等所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所描述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所描述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
Claims (10)
1.一种安全执行容器的方法,用于多方进行隐私计算架构下,计算节点根据主节点以容器形式下发的隐私计算任务的执行过程;所述方法包括:
在监测到包含隐私计算任务的镜像文件的数据包的情况下,解析所述数据包中各个镜像文件对应的容器数据;
对所述容器数据进行预定的安全校验,所述安全校验包括以下中的至少一项:敏感字段检查、启动命令过滤、镜像站点过滤、镜像签名验证;
在所述容器数据通过安全校验的情况下,根据解析出的容器数据,通过预先配置的安全防护策略执行相关隐私计算任务。
2.如权利要求1所述的方法,其中,所述数据包包括以Pod形式容纳的一个或多个容器的镜像文件。
3.如权利要求1所述的方法,其中,所述安全校验包括敏感字段检查的情况下,所述对所述容器数据进行预定的安全校验包括:
将所述容器数据与用户配置的敏感字段进行匹配;
在未匹配到敏感字段的情况下,确定所述数据包通过敏感字段检查。
4.如权利要求3所述的方法,其中,所述敏感字段用于获取执行容器的设备上的预定权限、挂在主机目录。
5.如权利要求1所述的方法,其中,所述安全校验包括启动命令过滤/镜像站点过滤的情况下,所述对所述容器数据进行预定的安全校验包括:
将所述容器数据与用户配置的启动命令/镜像站点白名单进行匹配;
在匹配到白名单中的任一项的情况下,确定所述容器数据通过启动命令/镜像站点检查。
6.如权利要求1所述的方法,其中,所述安全防护策略包括通过安全沙箱执行相关隐私计算任务,所述根据解析出的容器数据,通过预先配置的安全防护策略执行相关隐私计算任务包括:
用安全沙箱进程替换容器的主进程;
将容器中隐私计算任务的进程启动命令当作参数传递给安全沙箱,使得隐私计算任务在安全沙箱中执行。
7.如权利要求1所述的方法,其中,所述安全防护策略包括为容器设置防火墙规则。
8.一种安全执行容器的装置,用于多方进行隐私计算架构下,计算节点根据主节点以容器形式下发的隐私计算任务的执行过程;所述装置设于计算节点,包括:
解析单元,配置为在监测到包含隐私计算任务的镜像文件的数据包的情况下,解析所述数据包中各个镜像文件对应的容器数据;
安全校验单元,配置为对所述容器数据进行预定的安全校验,所述安全校验包括以下中的至少一项:敏感字段检查、启动命令过滤、镜像站点过滤、镜像签名验证;
执行单元,配置为在所述容器数据通过安全校验的情况下,根据解析出的容器数据,通过预先配置的安全防护策略执行相关隐私计算任务。
9.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项的所述的方法。
10.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310336904.0A CN116360924A (zh) | 2023-03-24 | 2023-03-24 | 安全执行容器的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310336904.0A CN116360924A (zh) | 2023-03-24 | 2023-03-24 | 安全执行容器的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116360924A true CN116360924A (zh) | 2023-06-30 |
Family
ID=86941586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310336904.0A Pending CN116360924A (zh) | 2023-03-24 | 2023-03-24 | 安全执行容器的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116360924A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118013515A (zh) * | 2024-04-09 | 2024-05-10 | 山东浪潮科学研究院有限公司 | 用于隐私保护的分布式计算方法及装置、存储介质 |
-
2023
- 2023-03-24 CN CN202310336904.0A patent/CN116360924A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118013515A (zh) * | 2024-04-09 | 2024-05-10 | 山东浪潮科学研究院有限公司 | 用于隐私保护的分布式计算方法及装置、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11017107B2 (en) | Pre-deployment security analyzer service for virtual computing resources | |
Ujcich et al. | Cross-app poisoning in software-defined networking | |
US8843998B2 (en) | Apparatus, systems and methods for secure and selective access to services in hybrid public-private infrastructures | |
JP2021128785A (ja) | 最小特権ベースのプロセス制御ソフトウェアセキュリティアーキテクチャ、コンピュータデバイス | |
KR102208938B1 (ko) | Plc 가상 패칭 및 보안 콘텍스트의 자동화된 배포 | |
US20100058432A1 (en) | Protecting a virtual guest machine from attacks by an infected host | |
US20140237372A1 (en) | System and method for secure unidirectional transfer of commands to control equipment | |
US20210064742A1 (en) | Secure Validation Pipeline In A Third-Party Cloud Environment | |
US10949531B2 (en) | Secure and reliable content disarm and reconstruction cloud service | |
CN113138836B (zh) | 一种使用基于Docker容器的防逃逸系统的防逃逸方法 | |
EA036842B1 (ru) | Устройство и способ для управления конфигурацией сети связи | |
CN116360924A (zh) | 安全执行容器的方法及装置 | |
Giannakoulias | Cloud computing security: protecting cloud-based smart city applications | |
RU2746105C2 (ru) | Система и способ конфигурирования шлюза для защиты автоматизированных систем | |
CN110785757B (zh) | 边缘设备和用于运行边缘设备的方法 | |
US11770363B2 (en) | Systems and methods for secure access smart hub for cyber-physical systems | |
Zhan et al. | CIADL: cloud insider attack detector and locator on multi-tenant network isolation: an OpenStack case study | |
US11029662B2 (en) | System and method for enabling data to be transmitted between program modules based on compliance with rules | |
Micro | Deep Security Software | |
CN114301682B (zh) | 数据处理方法、装置和终端设备 | |
US20240214423A1 (en) | System and method for securing cloud based services | |
CN116208353A (zh) | 一种校验固件的方法、装置、网卡、芯片系统及服务器 | |
CN113608821A (zh) | 边界安全设备的数据处理方法及装置 | |
Nazar et al. | Rooting Android–Extending the ADB by an auto-connecting WiFi-accessible service | |
CN111683053B (zh) | 云平台安全网络架构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |