CN112749393A - 安全控制方法、安全控制系统、安全控制装置及存储介质 - Google Patents
安全控制方法、安全控制系统、安全控制装置及存储介质 Download PDFInfo
- Publication number
- CN112749393A CN112749393A CN201911048464.9A CN201911048464A CN112749393A CN 112749393 A CN112749393 A CN 112749393A CN 201911048464 A CN201911048464 A CN 201911048464A CN 112749393 A CN112749393 A CN 112749393A
- Authority
- CN
- China
- Prior art keywords
- system call
- container
- call
- control method
- safety control
- 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 64
- 238000004458 analytical method Methods 0.000 claims abstract description 13
- 230000006399 behavior Effects 0.000 claims description 35
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 12
- 238000013475 authorization Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
Abstract
本发明涉及用于容器系统调用的安全控制方法、安全控制系统、安全控制装置以及计算机可读存储介质,其中具备:分析步骤(S403),针对一个以上的容器的每一个,对容器的系统调用行为进行统计和分析,以确定是否允许所述容器对该容器请求调用的系统调用命令进行调用;以及更新步骤(S405),根据所述分析步骤的分析结果,更新与所述容器相关联的系统调用名单。根据本发明,能够针对每个容器精细化地提供系统调用权限,降低操作系统级内核遭受攻击的安全风险。
Description
技术领域
本发明涉及安全领域,特别涉及用于容器系统调用的安全控制方法、安全控制系统、安全控制装置以及计算机可读存储介质。
背景技术
近年来,随着云计算的发展,为了满足实践敏捷开发的要求,基于云原生技术(Cloud-Native)的云原生应用以及作为用于构建和运行云原生应用的平台的云原生平台逐渐发展起来。在此,云原生平台采用开源堆栈进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、通过DevOps(开发和运维)支持持续迭代和运维自动化,利用云平台设施来实现弹性伸缩、动态调度、优化资源利用率。其中,基于容器的微服务架构是云原生平台的重要实现技术之一,容器(container)将一个应用程序需要的库、资源、环境变量等完整运行环境封装,并且通过操作系统内核的系统调用来实现对容器外部资源的访问。
特别地,在Linux环境下,有超过330个可用的系统调用(步骤System call),这些系统调用直接暴露给用户态容器。但是,一般而言,容器只需40~70个系统调用,其类型和数量相对比较固定,所以大部分系统调用对于容器而言是不需要的,如果不对这些不需要的系统调用进行控制,则可能会由于漏洞的存在、不安全的代码滥用等原因而导致遭受操作系统级内核攻击,存在安全风险较高的安全问题。
为此,Linux内核从2.6.23版本开始引入seccomp(步骤Secure computing)安全机制。seccomp安全机制能够通过定义系统调用权限控制列表来实现对系统调用的权限控制,例如,能够使容器进入到只能调用4种系统调用(system call)的安全运行模式,在该安全运行模式下,容器仅被允许调用read()、write()、exit()和sigreturn(),否则调用便会被终止。但是另一方面,由于不同的容器需要的系统调用不同,所以难以人工预先针对不同的容器确定其需要的系统调用权限,而难以建立对应的系统调用权限控制列表。因此,在现有技术中,仅仅是针对所有容器的系统调用定义了一个统一应用的非常粗略的全局权限控制列表,所以无法针对每个不同的容器实现精细化的最小授权的系统调用权限控制,针对容器的系统调用无法进行个性化细粒度控制。因此,存在一方面有的容器无法顺利调用自身所需的系统调用,另一方面有的容器有机会调用自身不需要的系统调用的问题,所以在容器的系统调用安全控制中不仅存在较大的进一步优化的空间,还存在较大的安全风险。
发明内容
本发明的目的在于提供一种针对每个容器精细化地进行系统调用的权限控制以降低操作系统级内核遭受攻击的安全风险的、用于容器系统调用的安全控制方法、安全控制系统、安全控制装置及计算机可读存储介质。
根据本公开的一个方面,提供一种安全控制方法,其特征在于,具备:分析步骤,针对一个以上的容器的每一个,对容器的系统调用行为进行统计和分析,以确定是否允许所述容器对该容器请求调用的系统调用命令进行调用;以及更新步骤,根据所述分析步骤的分析结果,更新与所述容器相关联的系统调用名单。
根据本公开的另一方面,提供一种安全控制系统,其特征在于,具备:一个以上的处理器;以及存储器,其上存储有计算机可执行指令,所述指令在由所述处理器执行时,使得所述处理器执行上述安全控制方法。
根据本公开的另一方面,提供一种安全控制装置,其特征在于,具备用于上述安全控制方法的模块。
根据本公开的另一方面,提供一种计算机可读存储介质,其特征在于,包括计算机可执行指令,所述指令在由一个以上的处理器执行时,使得所述处理器执行上述安全控制方法。
根据本发明,与现有技术中针对所有容器提供一个粗略的系统调用命令的调用权限相比,能够针对每个容器精细化地确定系统调用命令的调用权限,并且通过对容器发生的系统调用行为进行动态的学习分析,对容器的系统调用权限控制进行实时更新,能够在容器的系统调用权限控制中加入容器的部分偶发性的系统调用,从而能够按需提供容器的系统调用权限,降低了操作系统级内核遭受攻击的风险,显著地提高了安全控制系统整体的安全性。
在下文中给出了关于本公开的简要概述,以便提供关于本公开的一些方面的基本理解。但是,应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图用来确定本公开的关键性部分或重要部分,也不是意图用来限定本公开的范围。其目的仅仅是以简化的形式给出关于本公开的某些概念,以此作为稍后给出的更详细描述的前序。
附图说明
图1是示出根据本发明的第一实施例的安全控制系统1的示意性功能框图。
图2是示出根据本发明的第一实施例的安全控制系统1的示意性硬件结构图。
图3(A)是示出根据本发明的敏感级系统调用清单的示意图。
图3(B)是示出根据本发明的系统调用白名单的示意图。
图4是示出在根据本发明的安全控制方法的流程示意图。
图5是进一步示出在根据本发明的安全控制方法的流程示意图。
图6(A)是示出根据本发明的第二实施例的安全控制系统1的示意性功能框图。
图6(B)是示出根据本发明的第二实施例的系统调用黑名单的示意图。
图6(C)是示出根据本发明的第二实施例的安全控制方法的流程示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
(第一实施例)
首先,说明本发明的第一实施例。
图1是示出根据本发明的第一实施例的安全控制系统1的示意性功能框图。如图1所示,本发明的第一实施例的安全控制系统1包括控制单元10、建立单元20、更新单元30、以及存储单元40。
安全控制系统1是针对容器向安全控制系统1请求调用的系统调用命令、容器在安全控制系统1中发生的系统调用行为等进行整体控制的系统,例如可以实现为运行云平台的服务器装置中安装的操作系统、客户端装置中安装的操作系统、与服务器装置独立的安全设备中安装的操作系统、或者是分布式地安装在服务器装置、客户端装置或安全设备中的二者或三者的操作系统等各种装置中的系统。其中,对于安全控制系统1中的每个容器,附加有表示用户标识符(用户ID)的用户标签,能够根据用户标签确定与该用户标签相关联的容器的系统调用权限。
控制单元10用于针对容器请求调用的系统调用命令和容器发生的系统调用行为进行统计和分析,通过后述的各种处理,确定是否允许容器调用其请求调用的系统调用命令。更具体地,控制单元10进一步包括第一判定单元101、第二判定单元102、权限审核单元103、以及容器监控单元104。后面详细叙述控制单元10的各单元的功能处理。
建立单元20用于针对安全控制系统10中的一个以上的容器的每一个,分别建立与每一个容器相关联的系统调用名单,该系统调用名单优选包括系统调用白名单,后面详细叙述系统调用名单的具体内容。更具体地,建立单元20进一步包括第一建立单元201和第二建立单元202。后面详细叙述建立单元20的各单元的功能处理。
更新单元30用于根据控制单元10的分析结果,对于确定为允许容器调用其请求调用的系统调用命令和确定为不允许容器调用其请求调用的系统调用命令,在与容器相关联的后述的系统调用名单中进行增加、删除等更新调整处理。更具体地,更新单元30进一步包括第一更新单元301,后面详细叙述更新单元30的各单元的功能处理。
存储单元40用于存储后述的敏感级系统调用清单1000、系统调用名单2000、容器监控名单4000以及由控制单元10执行的程序和各种类型的控制数据等。
图2是示出根据本发明的第一实施例的安全控制系统1的示意性硬件结构图。
如图2所示,安全控制系统1包括处理器11、存储器12、存储装置13、总线14。
处理器11例如可以为中央处理单元(CPU)或数字信号处理器(DSP),用于整体上控制安全控制系统1的各功能。另外,处理器11例如实现图1中的控制单元10、建立单元20和更新单元30的各功能。
存储器12例如包括随机存取存储器(RAM)和只读存储器(ROM),并且存储各种数据和由处理器11执行的程序。存储装置13可以包括存储介质,诸如半导体存储器和硬盘。另外,存储器12和存储装置13例如实现图1中的存储单元40的功能。
总线14将处理器11、存储器12和存储装置13彼此连接。总线14可以包括各自具有不同速度的两个或更多个总线(诸如高速总线和低速总线)。
接下来,详细描述根据本发明的敏感级系统调用清单1000和系统调用名单2000。
图3(A)所示的敏感级系统调用清单1000由建立单元20的第一建立单元201建立,并且存储于存储单元40。如图3(A)所示,在敏感级系统调用清单1000中,存储有在容器进行系统调用前需要通过安全控制系统1的权限审核(鉴权)的一个以上的敏感级系统调用命令SSC,例如,可以包括安全控制系统1中风险等级高而安全水平要求高的核心敏感级系统调用命令、或者预先由安全控制系统1的管理员、用户定义的系统调用命令、或者通过机器学习而得到的系统调用命令。在此,敏感级系统调用清单1000中的敏感级系统调用命令SSC优选为上述核心敏感级系统调用命令,例如是涉及针对容器现有命名空间(Namespace)无法隔离的操作(例如,系统时间的修改、/proc、/sys等系统目录的访问)等对于系统而言风险等级高且易于导致遭受系统级内核攻击的系统调用命令。具体而言,在安全控制系统1中,不同的系统调用命令在被执行时对于安全控制系统内核的攻击风险也存在不同,因此,通过在敏感级系统调用清单1000中定义风险等级高的敏感级系统调用命令SSC,以供进行权限审核来确定由容器调用该敏感级系统调用命令所造成的安全损害,从而能够抑制风险等级高的系统调用行为的发生,降低对系统级内核造成攻击风险的可能性。此外,也可以根据需要,对敏感级系统调用清单1000中存储的敏感级系统调用命令SSC进行增加、删除等变更操作,以适应不同用户、不同系统环境下的不同安全要求。
图3(B)示出系统调用名单2000由建立单元20的第二建立单元202建立,并且存储于存储单元40。其中,系统调用名单2000的建立优选在容器正式上线前的测试环节中进行,当然也可以在容器上线后的运行过程中根据需要而随时进行,在容器正式上线前的测试环节中针对容器建立与其对应的系统调用名单2000的情况下,由于在容器正式上线后就能够实现准确的系统调用权限控制,所以能够进一步提高安全控制系统1针对容器的控制水平,增强安全控制系统整体的安全性。在本实施例中,作为系统调用名单2000,示例系统调用白名单2100。具体而言,如图3(B)所示,在系统调用白名单2100中,包括容器标识符(容器ID)数据项2110、时间数据项2120、系统调用命令数据项2130。其中,在系统调用白名单2100中,存储有允许容器调用的系统调用命令,例如,包括通过后述的权限审核处理而获得授权的敏感级系统调用清单1000中存储的系统调用命令SSC、通过后述的容器监控处理而被判定为并非异常的系统调用命令、由管理员或用户自定义的系统调用命令等。另外,系统调用白名单2100中存储的系统调用命令可以根据容器的系统调用行为随时进行增加、删除等的动态调整。
以下,参照图4和图5,具体地说明本发明的第一实施例的安全控制方法的流程。
在图4中,示意性地示出在根据本发明的第一实施例的安全控制方法的步骤S401~S405。
首先,在步骤S403(分析步骤)中,控制单元10针对容器C请求调用的系统调用命令SC和容器C发生的系统调用行为进行统计和分析,通过机器学习,学习容器C发生的系统调用行为的属性(例如,该系统调用行为的目的、该系统调用行为对系统的安全风险、该系统调用行为一定时间段内的发生频度、该系统调用行为的前后行为的相互关系等),分析并确定是否在安全控制系统1中允许容器C调用请求调用的系统调用命令SC。其中,在上述机器学习中可以采用决策树、朴素贝叶斯算法、支持向量机、神经网络、深度学习等本领域技术人员应当知晓的各种公知的方法,当然也可以不采用机器学习而采用传统的统计计算方法来实现。
然后,在步骤S405(更新步骤)中,在控制单元10的分析结果是允许容器C调用请求调用的系统调用命令SC的情况下(步骤S403/是),更新单元30将容器C请求调用的该系统调用命令SC加入到与容器C相关联的系统调用白名单2100的系统调用命令数据项2130中,并且在时间数据项2020中记录加入的时间,然后返回到步骤S403;另一方面,在控制单元10的分析结果是不允许容器C调用请求调用的系统调用命令SC的情况下(步骤S403/否),控制单元10禁止容器C调用的系统调用命令SC,然后返回到步骤S403。另外,安全控制系统1反复执行步骤S403~S405。
可选地,在步骤S403之前,可以设置步骤S401(建立步骤)。在步骤S401中,建立单元20的第二建立单元202针对一个以上的容器C的每一个,分别建立与每一个容器C相关联的系统调用白名单2100,其中系统调用白名单2100可以在建立时默认存储有预定数量的系统调用命令,例如,可以是根据安全控制系统1的版本自动预分配的系统调用命令、与容器C的属性相关联地预先设置的系统调用命令、与容器C的用户标签相关联地预先设置的系统调用命令,也可以在建立时默认未存储有系统调用命令。
接下来,参照图5,更详细地说明本发明的安全控制方法。
在图5中,进一步示出在控制单元10执行的上述步骤S403中包括的步骤S501~S507。
在步骤S501(第一判定步骤)中,在控制单元10接收到容器C在安全控制系统1中对于系统调用命令SC的调用请求时,控制单元10的第一判定单元101查找与容器C相关联的系统调用白名单2100,判定在系统调用白名单2100中是否包括该请求调用的系统调用命令SC。其中,在第一判定单元101判定为在系统调用白名单2100中包括该请求调用的系统调用命令SC的情况下(步骤S501/是),允许容器C调用该请求调用的系统调用命令SC,然后返回到步骤S501;另一方面,在第一判定单元101判定为在系统调用白名单2100中不包括该请求调用的系统调用命令SC的情况下(步骤S501/否),进入到步骤S503。
接下来,在步骤S503(第二判定步骤)中,控制单元10的第二判定单元102参照敏感级系统调用清单1000,判定在敏感级系统调用清单1000中是否包括该请求调用的系统调用命令SC。其中,在第二判定单元102判定为在敏感级系统调用清单1000中包括该请求调用的系统调用命令SC的情况下(步骤S503/是),进入到步骤S505;另一方面,在第二判定单元102判定为在敏感级系统调用清单1000中不包括该请求调用的系统调用命令SC的情况下(步骤S503/否),进入到步骤S507;
然后,在步骤S505(权限审核步骤)中,控制单元10的权限审核单元103对请求调用的系统调用命令SC进行权限审核处理。其中,在通过权限审核处理而获得授权的情况下(步骤S505/是),直接进入到步骤S405,第一更新单元301将该请求调用的系统调用命令SC加入到系统调用白名单2100,然后返回到步骤S501;另一方面,在未通过权限审核处理而未能获得授权的情况下(步骤S505/否),控制单元10禁止容器C调用系统调用命令SC,然后返回到步骤S501。在此,权限审核单元103的权限审核处理可以由安全控制系统1自动地执行,也可以由安全控制系统1的管理员或用户来执行,还可以由与安全控制系统1通信的独立装置来执行。
另外,在步骤S507(容器监控步骤)中,控制单元10的容器监控单元104将容器C列入到容器监控名单4000(未图示),监控容器C的后续的系统调用行为,如上所述,通过机器学习,学习容器C发生的系统调用行为的属性,判断容器C后续的系统调用行为是否异常(即、容器C调用系统调用命令SC的行为是否可疑)。其中,在容器监控单元104判断为容器C后续的系统调用行为异常的情况下(步骤S507/是),进行告警,对安全控制系统1的管理员或者用户,提醒容器C调用系统调用命令SC的行为异常(可疑),在此,可以根据管理员或用户的操作指示,控制单元10禁止该系统调用命令SC的调用,然后返回到步骤S501;另一方面,在容器监控单元104判断为容器C后续的系统调用行为并非异常的情况下(步骤S507/否),直接进入到步骤S405,第一更新单元301将该请求调用的系统调用命令SC加入到系统调用白名单2100,然后返回到步骤S501。在此,关于上述系统调用行为异常的判断方法,除了如上所述由安全控制系统1通过机器学习来判断以外,还可以由安全控制系统1的管理员或用户来判断,也可以由与安全控制系统1通信的独立装置来判断。
根据本发明的第一实施例的安全控制方法,针对一个以上的容器的每一个,对容器的系统调用行为进行统计和分析,以确定是否允许所述容器对该容器请求调用的系统调用命令进行调用,根据所述分析步骤的分析结果,更新与所述容器相关联的系统调用名单。由此,与现有技术中针对所有容器提供一个粗略的系统调用命令的调用权限相比,能够针对每个容器精细化地确定系统调用命令的调用权限,并且通过对容器发生的系统调用行为进行动态的学习分析,对容器的系统调用权限控制进行实时更新,能够在容器的系统调用权限控制中加入容器的部分偶发性的系统调用,从而能够按需提供容器的系统调用权限,降低了操作系统级内核遭受攻击的风险,显著地提高了安全控制系统整体的安全性。
(第二实施例)
接下来,说明本发明的第二实施例。本发明的第二实施例与第一实施例相比结构基本相同,其不同点在于:如图6(A)所示,控制单元10还包括第三判定单元105,建立单元20还包括第三建立单元203,更新单元30还包括第二更新单元302。另外,在本发明的第二实施例中,如图6(B)所示,作为系统调用名单2000,还包括与每个容器相关联的用于存储不允许容器调用的系统调用命令的系统调用黑名单2200,该系统调用黑名单2200由第三建立单元203建立并且存储于存储单元40。其中,系统调用黑名单2200可以在建立时默认存储有预定数量的系统调用命令,例如,根据安全控制系统1的版本自动预分配的系统调用命令、与容器C的属性相关联地预先设置的系统调用命令、与容器C的用户标签相关联地预先设置的系统调用命令,当然也可以在建立时默认未存储有系统调用命令。
以下,参照图6(A)~图6(C),具体地说明本发明的第二实施例。
在图6(B)中,作为系统调用名单2000,示例包括第二实施例的系统调用黑名单2200。如图6(B)所示,在系统调用黑名单2200中,包括容器标识符数据项(容器ID)2210、时间数据项2220、系统调用命令数据项2230。其中,在系统调用黑名单2200中,存储有不允许容器调用的系统调用命令,例如,可以包括未通过后述的权限审核处理而未能获得授权的敏感级系统调用清单1000中存储的系统调用命令SSC、在容器监控处理中被判定为异常的系统调用命令、由管理员或用户自定义的系统调用命令等。另外,系统调用黑名单2200中存储的系统调用命令可以根据容器的系统调用行为随时进行增加、删除等的动态调整。
在图6(C)中,示出第二实施例的安全控制方法的步骤S601~S607。
首先,在步骤S601(第一判定步骤)中,在控制单元10接收到容器C对于系统调用命令SC的调用请求时,控制单元10的第一判定单元101查找与容器C相关联的系统调用白名单2100,判定在系统调用白名单2100中是否包括该请求调用的系统调用命令SC。其中,在第一判定单元101判定为在系统调用白名单2100中包括该请求调用的系统调用命令SC的情况下(步骤S601/是),允许容器C调用该请求调用的系统调用命令SC,然后返回到步骤S601;另一方面,在第一判定单元101判定为在系统调用白名单2100中不包括该请求调用的系统调用命令SC的情况下(步骤S601/否),进入到步骤S602。
在步骤S602(第三判定步骤)中,控制单元10的第三判定单元105查找与容器C相关联的系统调用黑名单2200,判定在与容器C相关联的系统调用黑名单2200中是否包括请求调用的系统调用命令SC。其中,在第三判定单元105判定为在系统调用黑名单2200中包括该请求调用的系统调用命令SC的情况下(步骤S602/是),直接禁止容器C调用该系统调用命令SC,然后返回到步骤S601;另一方面,在第三判定单元105判定为在系统调用黑名单2200中不包括该请求调用的系统调用命令SC的情况下(步骤S602/否),进入到步骤S603。
接下来,在步骤S603(第二判定步骤)中,控制单元10的第二判定单元102参照敏感级系统调用清单1000,判定在敏感级系统调用清单1000中是否包括该请求调用的系统调用命令SC。其中,在第二判定单元102判定为在敏感级系统调用清单1000中包括该请求调用的系统调用命令SC的情况下(步骤S603/是),进入到步骤S605;另一方面,在第二判定单元102判定为在敏感级系统调用清单1000中不包括该请求调用的系统调用命令SC的情况下(步骤S603/否),进入到步骤S607;
然后,在步骤S605(权限审核步骤)中,控制单元10的权限审核单元103对请求调用的系统调用命令SC进行权限审核处理。其中,在通过权限审核处理而获得授权的情况下(步骤S605/是),进入到步骤S405,第一更新单元301将该请求调用的系统调用命令SC加入到系统调用白名单2100,然后返回到步骤S601;另一方面,在未通过权限审核处理的情况下(步骤S605/否),控制单元10禁止容器C调用该系统调用命令SC,然后进入到步骤S405,更新单元30的第二更新单元302将该请求调用的系统调用命令SC加入到系统调用黑名单2200,然后返回到步骤S601。
另外,在步骤S607(容器监控步骤)中,控制单元10的容器监控14将容器C列入到容器监控名单4000,监控容器C的后续的系统调用行为,如上所述,通过机器学习,学习容器C发生的系统调用行为的属性,判断容器C后续的系统调用行为是否异常。其中,在容器监控14判断为容器C后续的系统调用行为异常的情况下(步骤S607/是),进行告警,对安全控制系统1的管理员或者用户,提醒容器C发生的调用系统调用命令SC的行为异常(在此,可选地,也可以根据用户的操作在步骤S405中由第二更新单元302将该系统调用命令SC加入到系统调用黑名单2200),然后返回到步骤S601;另一方面,在容器监控14判断为容器C后续的系统调用行为并非异常的情况下(步骤S607/否),进入到步骤S405,更新单元30的第一更新单元301将该请求调用的系统调用命令SC加入到系统调用白名单2100,然后返回到步骤S601。
此外,在上述第二实施例中,也可以在步骤S601之前执行步骤S602。
根据本发明的第二实施例的安全控制方法,除了具有上述第一实施例的效果以外,通过在参照敏感级系统调用清单1000进行判定之前利用存储有不允许容器调用的系统调用命令的系统调用黑名单2200进行判定,从而还能够更迅速地确定不允许容器调用的系统调用命令,进一步减少系统的权限审核处理等的执行,整体上降低系统负载,从而提高了安全控制系统的可用性。
应当理解,本说明书中“实施例”或类似表达方式的引用是指结合该实施例所述的特定特征、结构、或特性系包括在本公开的至少一具体实施例中。因此,在本说明书中,“在本公开的实施例中”及类似表达方式的用语的出现未必指相同的实施例。
本领域技术人员应当知道,本公开被实施为一系统、装置、方法或作为计算机程序产品的计算机可读媒体(例如非瞬态存储介质)。因此,本公开可以实施为各种形式,例如完全的硬件实施例、完全的软件实施例(包括固件、常驻软件、微程序代码等),或者也可实施为软件与硬件的实施形式,在以下会被称为“电路”、“模块”或“系统”。此外,本公开也可以任何有形的媒体形式实施为计算机程序产品,其具有计算机可使用程序代码存储于其上。
本公开的相关叙述参照根据本公开具体实施例的系统、装置、方法及计算机程序产品的流程图和/或框图来进行说明。可以理解每一个流程图和/或框图中的每一个块,以及流程图和/或框图中的块的任何组合,可以使用计算机程序指令来实施。这些计算机程序指令可供通用型计算机或特殊计算机的处理器或其它可编程数据处理装置所组成的机器来执行,而指令经由计算机或其它可编程数据处理装置处理以便实施流程图和/或框图中所说明的功能或操作。
在附图中显示根据本公开各种实施例的系统、装置、方法及计算机程序产品可实施的架构、功能及操作的流程图及框图。因此,流程图或框图中的每个块可表示一模块、区段、或部分的程序代码,其包括一个以上的可执行指令,以实施指定的逻辑功能。另外应当注意,在某些其它的实施例中,块所述的功能可以不按图中所示的顺序进行。举例来说,两个图示相连接的块事实上也可以同时执行,或根据所涉及的功能在某些情况下也可以按图标相反的顺序执行。此外还需注意,每个框图和/或流程图的块,以及框图和/或流程图中块的组合,可藉由基于专用硬件的系统来实施,或者藉由专用硬件与计算机指令的组合,来执行特定的功能或操作。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (18)
1.一种安全控制方法,其特征在于,具备:
分析步骤(S403、S501~S507、S601~607),针对一个以上的容器的每一个,对容器的系统调用行为进行统计和分析,以确定是否允许所述容器对该容器请求调用的系统调用命令进行调用;以及
更新步骤(S405),根据所述分析步骤的分析结果,更新与所述容器相关联的系统调用名单。
2.根据权利要求1所述的安全控制方法,其特征在于,
在更新步骤中,根据所述分析步骤的分析结果,对于确定为允许容器调用的系统调用命令,加入到与所述容器相关联的系统调用名单中的系统调用白名单,其中该系统调用白名单用于存储允许容器调用的系统调用命令。
3.根据权利要求2所述的安全控制方法,其特征在于,
对于包括在与所述容器相关联的系统调用白名单中的系统调用命令,允许所述容器调用所述请求调用的系统调用命令。
4.根据权利要求2所述的安全控制方法,其特征在于,
对于未包括在与所述容器相关联的系统调用白名单中且包括在敏感级系统调用清单中的、通过了权限审核的系统调用命令、和未包括在与所述容器相关联的系统调用白名单中且未包括在敏感级系统调用清单中的、所述容器的后续的系统调用行为并非异常的系统调用命令,确定为允许所述容器调用的系统调用命令。
5.根据权利要求2所述的安全控制方法,其特征在于,
对于未包括在与所述容器相关联的系统调用白名单中且包括在敏感级系统调用清单中的、未通过权限审核的系统调用命令、和未包括在与所述容器相关联的系统调用白名单中且未包括在敏感级系统调用清单中的、所述容器的后续的系统调用行为异常的系统调用命令,确定为不允许所述容器调用的系统调用命令。
6.根据权利要求1所述的安全控制方法,其特征在于,
在更新步骤中,根据所述分析步骤的分析结果,对于确定为不允许容器调用的系统调用命令,禁用所述请求调用的系统调用命令和/或加入到与所述容器相关联的系统调用名单中的系统调用黑名单,其中该系统调用黑名单用于存储不允许容器调用的系统调用命令。
7.根据权利要求6所述的安全控制方法,其特征在于,
对于包括在与所述容器相关联的系统调用黑名单中的系统调用命令,禁用所述请求调用的系统调用命令。
8.根据权利要求1所述的安全控制方法,其特征在于,
配置有敏感级系统调用清单,所述敏感级系统调用清单用于存储需要权限审核的敏感级系统调用命令。
9.根据权利要求1所述的安全控制方法,其特征在于,还具备:
建立步骤(S402),针对所述一个以上的容器的每一个,分别建立与容器相关联的预定的系统调用名单,该系统调用名单包括系统调用白名单和/或系统调用黑名单。
10.根据权利要求1所述的安全控制方法,其特征在于,还具备:
第一判定步骤(S501、S601),在容器请求调用系统调用命令时,判定在与该容器相关联的系统调用白名单中是否包括所述请求调用的系统调用命令。
11.根据权利要求1所述的安全控制方法,其特征在于,还具备:
第二判定步骤(S503、S603),判定在敏感级系统调用清单中是否包括所述请求调用的系统调用命令。
12.根据权利要求1所述的安全控制方法,其特征在于,还具备:
权限审核步骤(S505、S605),对所述请求调用的系统调用命令进行权限审核。
13.根据权利要求1所述的安全控制方法,其特征在于,还具备:
容器监控步骤(S507、S607),将容器列入到容器监控名单,监控所述容器的后续的系统调用行为,判断所述后续的系统调用行为是否异常。
14.根据权利要求1所述的安全控制方法,其特征在于,还具备:
第三判定步骤(S602),判定在与所述容器相关联的系统调用黑名单中是否包括所述请求调用的系统调用命令。
15.根据权利要求1所述的安全控制方法,其特征在于,
容器被附加有用户标签,
根据用户标签,确定与容器相关联的系统调用名单。
16.一种安全控制系统,其特征在于,具备:
一个以上的处理器;以及
存储器,其上存储有计算机可执行指令,所述指令在由所述处理器执行时,使得所述处理器执行根据权利要求1~15中的任意一项所述的安全控制方法。
17.一种安全控制装置,其特征在于,具备用于根据权利要求1~15中的任意一项所述的安全控制方法的模块。
18.一种计算机可读存储介质,其特征在于,包括计算机可执行指令,所述指令在由一个以上的处理器执行时,使得所述处理器执行根据权利要求1~15中的任意一项所述的安全控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911048464.9A CN112749393A (zh) | 2019-10-31 | 2019-10-31 | 安全控制方法、安全控制系统、安全控制装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911048464.9A CN112749393A (zh) | 2019-10-31 | 2019-10-31 | 安全控制方法、安全控制系统、安全控制装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112749393A true CN112749393A (zh) | 2021-05-04 |
Family
ID=75641897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911048464.9A Pending CN112749393A (zh) | 2019-10-31 | 2019-10-31 | 安全控制方法、安全控制系统、安全控制装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112749393A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009062396A1 (fr) * | 2007-11-09 | 2009-05-22 | China Mobile Communications Corporation | Procédé d'accès à des ressources et système d'accès à des ressources |
CN104484599A (zh) * | 2014-12-16 | 2015-04-01 | 北京奇虎科技有限公司 | 一种基于应用程序的行为处理方法和装置 |
CN106332070A (zh) * | 2015-06-30 | 2017-01-11 | 北京壹人壹本信息科技有限公司 | 一种安全通信方法、装置及系统 |
CN106487815A (zh) * | 2016-12-21 | 2017-03-08 | 乾云众创(北京)信息科技研究院有限公司 | 一种基于白名单的容器运行安全验证处理方法及系统 |
US20170116415A1 (en) * | 2015-10-01 | 2017-04-27 | Twistlock, Ltd. | Profiling of container images and enforcing security policies respective thereof |
CN107689953A (zh) * | 2017-08-18 | 2018-02-13 | 中国科学院信息工程研究所 | 一种面向多租户云计算的容器安全监控方法及系统 |
CN108021807A (zh) * | 2017-12-29 | 2018-05-11 | 浙江大学 | Linux容器的细粒度沙盒策略执行方法 |
CN109543411A (zh) * | 2018-11-29 | 2019-03-29 | 北京元心科技有限公司 | 应用程序监控方法、装置、电子设备及可读存储介质 |
US10397255B1 (en) * | 2015-09-23 | 2019-08-27 | StackRox, Inc. | System and method for providing security in a distributed computation system utilizing containers |
-
2019
- 2019-10-31 CN CN201911048464.9A patent/CN112749393A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009062396A1 (fr) * | 2007-11-09 | 2009-05-22 | China Mobile Communications Corporation | Procédé d'accès à des ressources et système d'accès à des ressources |
CN104484599A (zh) * | 2014-12-16 | 2015-04-01 | 北京奇虎科技有限公司 | 一种基于应用程序的行为处理方法和装置 |
CN106332070A (zh) * | 2015-06-30 | 2017-01-11 | 北京壹人壹本信息科技有限公司 | 一种安全通信方法、装置及系统 |
US10397255B1 (en) * | 2015-09-23 | 2019-08-27 | StackRox, Inc. | System and method for providing security in a distributed computation system utilizing containers |
US20170116415A1 (en) * | 2015-10-01 | 2017-04-27 | Twistlock, Ltd. | Profiling of container images and enforcing security policies respective thereof |
CN106487815A (zh) * | 2016-12-21 | 2017-03-08 | 乾云众创(北京)信息科技研究院有限公司 | 一种基于白名单的容器运行安全验证处理方法及系统 |
CN107689953A (zh) * | 2017-08-18 | 2018-02-13 | 中国科学院信息工程研究所 | 一种面向多租户云计算的容器安全监控方法及系统 |
CN108021807A (zh) * | 2017-12-29 | 2018-05-11 | 浙江大学 | Linux容器的细粒度沙盒策略执行方法 |
CN109543411A (zh) * | 2018-11-29 | 2019-03-29 | 北京元心科技有限公司 | 应用程序监控方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9450940B2 (en) | Intelligent system for enabling automated secondary authorization for service requests in an agile information technology environment | |
KR101948711B1 (ko) | 멀웨어 탐지를 위한 복합 스코어링 | |
US20200120082A1 (en) | Techniques for securing credentials used by functions | |
US11797322B2 (en) | Cloud native virtual machine runtime protection | |
US9158919B2 (en) | Threat level assessment of applications | |
CN100492300C (zh) | 在微处理器实现的设备上执行进程的系统和方法 | |
US7243348B2 (en) | Computing apparatus with automatic integrity reference generation and maintenance | |
US8347380B1 (en) | Protecting users from accidentally disclosing personal information in an insecure environment | |
KR20080098010A (ko) | 컴퓨터 실행가능 컴포넌트들을 갖는 컴퓨터 판독가능 매체,및 메소드를 갖는 개체로 프로그램된 컴퓨터 시스템을동작시키는 프로세스 | |
US10649877B2 (en) | Macro-script execution control | |
US20170185344A1 (en) | Memory access control | |
US11221968B1 (en) | Systems and methods for shadow copy access prevention | |
CN111191226A (zh) | 利用提权漏洞的程序的确定方法、装置、设备及存储介质 | |
CN103632101A (zh) | 一种拦截系统调用的方法和装置 | |
KR20090040017A (ko) | 업무 모델 기반의 네트워크 취약점 점검 시스템 및 방법 | |
US20140230012A1 (en) | Systems, methods, and media for policy-based monitoring and controlling of applications | |
CN113961245A (zh) | 一种基于微服务应用的安全防护系统、方法及介质 | |
CN113239386A (zh) | Api权限控制方法及装置 | |
GB2573491A (en) | Managing privilege delegation on a computer device | |
Armando et al. | Android permissions unleashed | |
US20180176227A1 (en) | Generation of application allowed lists for machines | |
CN114422197A (zh) | 一种基于策略管理的权限访问控制方法及系统 | |
Bousquet et al. | Mandatory access control for the android dalvik virtual machine | |
EP2881883B1 (en) | System and method for reducing load on an operating system when executing antivirus operations | |
CN108628620B (zh) | Pos应用开发的实现方法、装置、计算机设备和存储介质 |
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 |