当前位置: 首页 > 专利查询>浙江大学专利>正文

Linux容器的细粒度沙盒策略挖掘方法技术

技术编号:18238060 阅读:43 留言:0更新日期:2018-06-17 01:26
本发明专利技术提供了一种Linux容器的细粒度沙盒策略挖掘方法,自动挖掘生成目标容器定制化的沙盒策略,该策略符合最小特权原则,通过限制目标容器的系统调用类型及参数,减少攻击面。所述方法包括:容器行为监控控制模块启动Linux系统监控工具,实时监控并记录目标容器的系统调用行为;容器自动化测试模块运行目标容器的测试用例,遍历执行目标容器的功能;沙盒策略生成模块从记录的监控数据中,提取目标容器的系统调用行为特征,并转化为沙盒策略。 1

Fine-grained sand box strategy mining method for Linux container

The invention provides a fine grained sandbox strategy mining method for Linux container, which automatically generates a customized sandbox strategy of target container. This strategy conforms to the minimum privilege principle, and reduces attack surface by limiting the system call type and parameters of the target container. The methods described include: the container behavior monitoring and control module starts the Linux system monitoring tool and monitors and records the system call behavior of the target container in real time. The container automation test module runs the test case of the target container, traverses the function of the target container, and the sandbox strategy generating module extracts from the recorded monitoring data. The system calls behavior characteristics of the target container and transforms it into sandbox policy. One

【技术实现步骤摘要】
Linux容器的细粒度沙盒策略挖掘方法
本专利技术专利属于计算机
,涉及云计算安全方向。更具体的讲,本专利技术专利涉及一种Linux容器的细粒度沙盒策略挖掘方法。
技术介绍
Linux容器技术采用命名空间将进、文件、设备等资源进行隔离,为用户提供几近原生的性能体验,极大降低了虚拟化的额外开销。Docker容器是最具代表性的Linux容器技术之一。Linux容器的安全问题已成为限制其广泛使用的重要影响因素。安全问题主要来源于,系统调用接口未实现命名空间的隔离,同一宿主操作系统上的容器共享系统调用接口。攻击者可通过系统调用接口,利用内核漏洞进行权限提升、任意代码执行、绕过访问控制、实现隔离机制的逃逸。如何提高容器的安全性?一种直观的方法是将容器放在沙盒中,限制容器访问系统调用接口的行为。当可信容器被攻击者攻占后,沙盒的存在一定程度上可以限制攻击者对底层操作系统的影响。系统调用拦截技术是一种限制程序系统调用行为的有效技术,基于系统调用拦截技术的沙盒技术得到研究界及工业界的广泛关注。相关研究关注沙盒技术的具体实现方法以及保障系统调用拦截的安全性,然而,为每个Linux容器生成精确高效的沙盒策略具有挑战性。
技术实现思路
针对上述问题,本专利技术提出一种Linux容器的细粒度沙盒策略挖掘方法,自动挖掘生成目标容器定制化的沙盒策略,该策略符合最小特权原则,通过限制目标容器的系统调用类型及参数,减少攻击面。所述方法包括包括:容器行为监控控制模块、容器自动化测试模块和沙盒策略生成模块,如图1所示。容器行为监控控制模块启动Linux系统监控工具,实时监控并记录目标容器的系统调用行为;容器自动化测试模块运行目标容器的测试用例,遍历执行目标容器的功能;沙盒策略生成模块从记录的监控数据中,提取目标容器的系统调用行为特征,并转化为沙盒策略。Linux容器的细粒度沙盒策略挖掘方法,具体包括以下步骤:步骤1:启动目标容器,容器行为监控控制模块启动Linux系统监控工具,实时监控并完整记录目标容器的系统调用行为;步骤2:容器自动化测试模块根据目标容器的功能,选取测试用例;然后运行测试用例,遍历执行目标容器的功能;同时,系统监控工具实时监控并完整记录目标容器在执行任一功能时的系统调用行为;对于目标容器的每次系统调用访问,记录系统调用访问入口的时间戳、进程号、系统调用类型及参数列表,以及系统调用访问出口的时间戳、进程号、系统调用类型及返回值。步骤3:沙盒策略生成模块以记录的目标容器的系统调用行为作为输入,提取目标容器的系统调用行为特征;具体为:步骤3.1:从记录的目标容器的系统调用行为中,提取目标容器所访问的系统调用类型和参数,筛选出参数类别为路径名或离散数值的系统调用;步骤3.2:针对步骤3.1筛选出的系统调用,对同一系统调用类型的各个系统调用参数分别进行建模,分别得到参数模型;步骤3.3:提取每个参数模型的变量;根据变量对系统调用进行聚类操作,获得每个集合中所有系统调用共有的特征,即行为特征。步骤4:将目标容器的系统调用的所有行为特征转化生成沙盒策略。本专利技术下有益效果在于:(1)在生产阶段不需要进行模型训练:本方法在测试阶段遍历目标容器的正常行为,提取相应的系统调用行为特征转化成沙盒策略;生产阶段可通过直接执行生成的沙盒策略,限制目标容器的系统调用行为;与异常检测方法相比,本方法更加高效;(2)减少攻击面:通过执行本方法,可自动挖掘生成依据目标容器功能、定制化生成的沙盒策略,该策略符合最小特权原则,通过限制目标容器的系统调用类型及参数,减少攻击面,从而限制限制攻击者对底层操作系统及同一宿主操作系统上的其他容器可能造成的危害;(3)沙盒策略的安全保证:执行本方法挖掘生成的沙盒策略,可以保证测试阶段目标容器未曾出现的系统调用行为,不出现在生产阶段;本方法遍历目标容器正常行为的测试用例,可能无法覆盖目标容器的所有行为,即存在不完整性。然而正是由于该不完整性,可保证测试用例仅覆盖目标容器系统调用行为的安全子集,除该安全子集内的系统调用行为,均被沙盒策略禁止。附图说明图1示出本专利技术的各种实施例的架构原理图;图2示出本专利技术一种实施例的细粒度沙盒策略挖掘方法流程图;图3示出本专利技术一种实施例的沙盒策略配置文件示例代码;图4示出本专利技术一种实施例中被建模的系统调用参数及相应参数模型;图5示出细粒度沙盒策略示例代码。具体实施方法为便于本领域普通技术人员理解和实施本专利技术,下面结合附图及实施示例对本专利技术作进一步的详细描述。应当理解,所述的实施示例仅用于说明和解释本专利技术,并不应该限制本专利技术的范围。本专利技术提出了一种Linux容器的细粒度沙盒策略挖掘方法。具体来讲,沙盒策略挖掘方法通过自动化测试遍历目标容器的行为,监控并记录目标容器的系统调用行为,提取目标容器的系统调用行为特征,生成限制目标容器系统调用访问的细粒度沙盒策略。细粒度沙盒策略限制Linux容器的系统调用类型及参数,实现Linux容器的安全加固。该方法包括容器行为监控控制模块、容器自动化测试模块和沙盒策略生成模块,如图1所示。容器行为监控控制模块、容器自动化测试模块和沙盒策略生成模块;容器行为监控控制模块启动Linux系统监控工具,实时监控并记录目标容器的系统调用行为;容器自动化测试模块运行目标容器的测试用例,遍历执行目标容器的功能;沙盒策略生成模块从记录的监控数据中,提取目标容器的系统调用行为特征,并转化为沙盒策略。如图2所示,本专利技术方法包括如下步骤:步骤1:启动目标容器,容器行为监控控制模块可以启动Linux系统监控工具sysdig,实时监控并完整记录目标容器的系统调用行为;步骤2:容器自动化测试模块根据目标容器的功能,选取测试用例,例如,对于Web服务器类型的目标容器(如Nginx和Apache),测试用例可选取wget及httperf向目标容器发送请求;对于数据库类型的目标容器(如Redis和Postgres),测试用例可选取数据库自带的基准测试工具redis-benchmark和pgbench。然后,容器自动化测试模块运行测试用例,遍历执行目标容器的功能;同时,系统监控工具实时监控并完整记录目标容器在执行任一功能时的系统调用行为;对于目标容器的每次系统调用访问,记录系统调用访问入口的时间戳、进程号、系统调用类型及参数列表,以及系统调用访问出口的时间戳、进程号、系统调用类型及返回值。步骤3:沙盒策略生成模块以记录的目标容器的系统调用行为作为输入,提取目标容器的系统调用行为特征;具体为:步骤3.1:从记录的目标容器的系统调用行为中,提取目标容器所访问的系统调用类型和参数,筛选出参数类别为路径名或离散数值的系统调用;步骤3.2:针对步骤3.1筛选出的系统调用,对同一系统调用类型的各个系统调用参数分别进行建模,分别得到参数模型。被建模的系统调用参数及相关的参数模型,如图4所示。作为优选的建模方式为:对于“路径名”类别的参数,当特定路径名出现频率高于全局阈值,使用完整路径名作为特征值放入模型中,反之,当出现频率低于全局阈值,使用相应的目录名作为特征值放入模型中;对于“离散数值”类别的参数,例如标志位(flag)和打开模式(mode),可以将自动化测试中出现的离散数值汇集形成有限集合。步骤3.3:提取本文档来自技高网...
Linux容器的细粒度沙盒策略挖掘方法

【技术保护点】
1.一种Linux容器的细粒度沙盒策略挖掘方法;包括:容器行为监控控制模块、容器自

【技术特征摘要】
1.一种Linux容器的细粒度沙盒策略挖掘方法;包括:容器行为监控控制模块、容器自动化测试模块和沙盒策略生成模块;容器行为监控控制模块启动Linux系统监控工具,实时监控并记录目标容器的系统调用行为;容器自动化测试模块运行目标容器的测试用例,遍历执行目标容器的功能;沙盒策略生成模块从记录的监控数据中,提取目标容器的系统调用行为特征,并转化为沙盒策略。2.根据权利要求1所述的方法,其特征在于,包括以下步骤:步骤1:启动目标容器,容器行为监控控制模块启动Linux系统监控工具,实时监控并完整记录目标容器的系统调用行为;步骤2:容器自动化测试模块根据目标容器的功能,选取测试用例;然后运行测试用例,遍历执行目标容器的功能;同时,系统监控工具实时监控并完整记录目标容器在执行任一功能时的系统...

【专利技术属性】
技术研发人员:蔡亮万志远王新宇夏鑫杨小虎李善平
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

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

1