CN107480524A - 一种安全沙箱及其构建方法 - Google Patents
一种安全沙箱及其构建方法 Download PDFInfo
- Publication number
- CN107480524A CN107480524A CN201710710765.8A CN201710710765A CN107480524A CN 107480524 A CN107480524 A CN 107480524A CN 201710710765 A CN201710710765 A CN 201710710765A CN 107480524 A CN107480524 A CN 107480524A
- Authority
- CN
- China
- Prior art keywords
- security sandbox
- security
- docker
- docker image
- strategy
- 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
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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种安全沙箱及其构建方法,所述的安全沙箱包括:服务器,包括服务器操作系统和服务器硬件,是安全沙箱和应用程序的运行环境;docker工具,用来创建载有用户程序运行时环境的docker image;安全沙箱本体,包括安全沙箱策略和docker image,所述的安全沙箱策略用来控制docker image与外界资源之间的访问权限。所述的方法包括:创建用户程序的docker image运行时环境;配置docker image可用资源;为docker image配置SSR安全沙箱策略。通过采用docker把用户可执行程序需要的运行时环境独立出来,然后用SSR安全沙箱策略进行安全隔离,在达到用户应用程序能够正常运行的同时,使它对服务器的安全威胁减低到最小。
Description
技术领域
本发明涉及计算机技术领域,具体的说是一种安全沙箱及其构建方法。
背景技术
目前,在云计算时代,企业大多数的运营环节都可以通过计算机中的应用程序来部分实现,甚至是全部实现,从而大大提升企业的运营效率,降低运营成本。
但是,由于应用程序的来源错综复杂,许多应用程序是非开源的,导致无法验证,即使某些应用程序是开源的软件,但是由于代码量庞大,也让服务器端软件二次开发人员及运维人员无法去分析其是否暗藏后门、病毒等,这些都严重影响了云计算数据中心中各服务器的安全性。
发明内容
为了解决上述问题,提供了一种安全沙箱及其构建方法,通过采用docker把用户可执行程序需要的运行时环境独立出来,然后用SSR安全沙箱策略进行安全隔离,在达到用户应用程序能够正常运行的同时,使它对服务器的安全威胁减低到最小。
本发明实施例提供了一种安全沙箱,所述的安全沙箱包括:
服务器,包括服务器操作系统和服务器硬件,是安全沙箱和应用程序的运行环境;
docker工具,用来创建载有用户程序运行时环境的docker image;
安全沙箱本体,包括安全沙箱策略和docker image,所述的安全沙箱策略用来控制docker image与外界资源之间的访问权限。
进一步的,所述的安全沙箱策略采用强制访问控制策略。
进一步的,所述的安全沙箱策略是利用SSR软件设置的安全沙箱策略。
本发明实施例还提供了一种安全沙箱构建方法,所述的方法包括:
创建用户程序的docker image运行时环境;
配置docker image可用资源;
为docker image配置SSR安全沙箱策略。
进一步的,所述的方法还包括:
验证安全沙箱策略是否正常运行。
进一步的,所述的SSR安全沙箱策略为SSR软件的强制访问控制策略,其表现形式为:在操作系统中程序执行的行为中,docker image内部的程序不能访问docker image外的操作系统资源;操作系统中该docker image外部的程序不能访问docker image内部的资源。
进一步的,验证安全沙箱策略是否正常运行的具体过程为:
启动docker image,检查用户程序是否同时启动运行,若是,进入下一步,若否,重新构建安全沙箱;
利用docker image内部程序访问docker image外的操作系统资源,检查是否访问成功,若否,进入下一步,若是,重新构建安全沙箱;
利用docker image外的程序访问docker image内部资源,检查是否访问成功,若是,重新构建安全沙箱,若否,完成验证。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、本发明实施例使用docker image打包用户程序整个运行时环境,同时用SSR安全沙箱策略保护服务器安全,使该用户进程不能访问未被授权的它的运行时环境外部的资源,从而保护了服务器系统安全。
2、在方法中增加了验证步骤,通过同步启动检测以及docker image内外资源的访问检测,确保构建的安全沙箱能够安全运行。
附图说明
图1是本发明安全沙箱的功能结构原理图;
图2是本发明一种实施例的安全沙箱构建方法流程图;
图3是本发明另一种实施例的安全沙箱构建方法流程图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,一种安全沙箱,所述的安全沙箱包括服务器、docker工具和安全沙箱本体。
服务器包括服务器操作系统和服务器硬件,是所有应用程序操作和运行的环境。
docker工具是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。在本申请中,docker工具主要用来创建载有用户程序运行时环境的docker image。
安全沙箱本体,包括安全沙箱策略和docker image,所述的安全沙箱策略用来控制docker image与外界资源之间的访问权限。本申请的安全沙箱策略具有两个属性,即安全沙箱策略是强制访问控制策略,以及安全沙箱策略是利用SSR软件设置的。这两个属性既可以单独存在,也可以同时兼具。
如图2所示,本发明实施例还提供了一种安全沙箱构建方法,所述的方法包括以下步骤:
1、使用docker工具创建载有用户程序运行时环境的docker image。mage(镜像)里面是一层层文件系统,叫做Union FS(联合文件系统)。联合文件系统,可以将几层目录挂载到一起,形成一个虚拟文件系统。虚拟文件系统的目录结构就像普通linux的目录结构一样,docker通过这些文件再加上宿主机的内核提供了一个linux的虚拟环境。每一层文件系统我们叫做一层layer,联合文件系统可以对每一层文件系统设置三种权限,只读(readonly)、读写(readwrite)和写出(whiteout-able),但是docker镜像中每一层文件系统都是只读的。
构建镜像的时候,从一个最基本的操作系统开始,每个构建的操作都相当于做一层的修改,增加了一层文件系统。一层层往上叠加,上层的修改会覆盖底层该位置的可见性。在使用的时候,用户只会看到一个完全的整体。
从基本的看起,一个典型的Linux文件系统由bootfs和rootfs两部分组成,bootfs(boot file system)主要包含bootloader和kernel,bootloader主要用于引导加载kernel,当kernel被加载到内存中后bootfs会被umount掉。rootfs(root file system)包含的就是典型Linux系统中的/dev,/proc,/bin,/etc等标准目录和文件。
传统的Linux加载bootfs时会先将rootfs设为read-only,然后在系统自检之后将rootfs从read-only改为read-write,然后就可以在rootfs上进行读写操作了。但Docker在bootfs自检完毕之后并不会把rootfs的read-only改为read-write,而是利用union mount(UnionFS的一种挂载机制)将image中的其他的layer加载到之前的read-only的rootfs层之上,每一层layer都是rootfs的结构,并且是read-only的。所以,我们是无法修改一个已有镜像里面的layer的!只有当我们创建一个容器,也就是将Docker镜像进行实例化,系统会分配一层空的read-write的rootfs,用于保存我们做的修改。一层layer所保存的修改是增量式的,就像git一样。
综上,image其实就是一个文件系统,它与宿主机的内核一起为程序提供一个虚拟的linux环境。在启动docker container时,依据image,docker会为container构建出一个虚拟的linux环境。
2、配置docker image可用资源,主要包括程序运行所必须的环境变量、共享库、动态链接器等。
3、为docker image配置SSR安全沙箱策略,利用SSR软件设置强制访问策略。
SSR软件是指浪潮SSR服务器安全加固系统,该系统是基于先进的ROST技术理论从系统层对操作系统进行加固的系统安全解决方案。其主要原理是通过对文件、目录、进程、注册表和服务的强制访问控制,有效的制约和分散了原有系统管理员的权限,综合了对文件和服务的完整性检测、Web过滤防护和防缓冲区溢出等功能,能够把普通的操作系统从体系上升级,使其符合国家信息安全等级保护服务器操作系统安全的三级标准。此产品是完全独立自主开发,具有自主知识产权的专门针对系统层安全防护的安全产品,此产品完全不同于防火墙、IDS等作用在网络层的安全产品,是作用在系统层对网络核心的服务器操作系统进行安全加固,保护了系统中重要数据和应用的安全,从根本上免疫了目前各种针对操作系统的攻击行为,彻底防止了病毒、蠕虫、黑客攻击等对操作系统和数据库的破坏。
强制访问策略通常与DAC结合使用。主要包括主体和客体,其中主体通常指用户,或由用户发起运行的进程或用户正在使用的设备。主体主动发起对资源的访问,它是系统中信息流的启动者。客体通常是指信息的载体或从其他主体或客体接收信息的实体。主体有时也会成为访问或受控的对象,如一个主体可以向另一个主体授权,一个进程可能控制几个子进程等等,这时受控的主体或子进程也通常被认为是一种客体。
MAC是利用策略将访问控制规则“强加”给访问主体的,即系统强制主体服从访问控制策略。MAC的主要作用对象是所有主体及其所操作的客体(如:进程、文件等)。MAC为这些主体及其所操作的客体提供安全标记,这些标记是实施强制访问控制的依据。
系统通过比较主体和客体的安全标记来判断一个主体是否能够访问其要操作的客体。用户发起的进程无法改变其自身及其它客体的安全标记,利用这样的机制,系统可以比较有效地防止特洛伊木马攻击以及root身份冒用或盗用等安全威胁。
MAC一般与DAC共同使用,两种访问控制机制的过滤结果将累积,以此来达到更佳的访问控制效果。也就是说,一个主体只有通过了DAC限制检查与MAC限制检查的双重过滤装置之后,才能真正访问某个客体。一方面,用户可以利用DAC来防范其它用户对那些所有权归属于自己的客体的攻击;另一方面,由于用户不能直接改变MAC属性,所以MAC提供了一个不可逾越的、更强的安全保护层以防止其它用户偶然或故意地滥用DAC。
MAC的强制访问策略为每个用户、进程及文件赋于一个安全访问级别,即:最高秘密级(Top Secret,一般标记为T);秘密级(Secret,一般标记为S);机密级(Confidential,一般标记为C);无级别级(Unclassified,一般标记为U);其级别为从高到低依次为:T>S>C>U,系统根据主体和客体的敏感标记来决定访问模式。
通常情况下,访问模式包括:下读(read down):用户级别大于文件级别的读操作;上写(Write up):用户级别小于文件级别的写操作;下写(Write down):用户级别大于文件级别的写操作;上读(read up):用户级别小于文件级别的读操作。
依据Bell-Lapadula安全模型所制定的原则是:利用不上读/不下写来保证数据的保密性。即不允许低访问级别的用户读高访问级别的信息,也不允许高访问级别的信息写入低访问级别区域,禁止信息从高访问级别流向低访问级别。MAC通过这种梯度安全标签实现信息的单向流通。
依据Biba安全模型所制定的原则是:利用不下读/不上写来保证数据的完整性。在实际应用中,完整性保护主要是为了避免应用程序修改某些重要的系统程序或系统数据库。
具体到本申请中,强制访问策略表现形式为:在操作系统中程序执行的行为中,docker image内部的程序不能访问docker image外的操作系统资源;操作系统中该dockerimage外部的程序不能访问docker image内部的资源。
如图3所示,提供了另一种实施例的构建方法,所述的方法在图2所示方法的基础之上,增加了验证步骤。
该验证步骤是为了验证安全沙箱策略是否正常运行,具体过程为:
启动docker image,检查用户程序是否同时启动运行,若是,进入下一步,若否,需要重新构建安全沙箱。
利用docker image内部程序访问docker image外的任意一个操作系统资源,检查是否能够访问成功,若不能访问,说明限制访问的权限生效,进入下一步检测,若能够访问,说明限制访问的权限没有生效,需要重新构建安全沙箱。
利用docker image外的任意一个程序访问docker image内部资源,检查是否访问成功,若能够访问,说明限制访问的权限没有生效,需要重新构建安全沙箱,若不能访问,说明限制访问的权限生效,完成整个验证过程。
尽管说明书及附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换;而一切不脱离本发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造专利的保护范围当中。
Claims (7)
1.一种安全沙箱,包括服务器,所述的服务器包括服务器操作系统和服务器硬件,是安全沙箱和应用程序的运行环境,其特征是,还包括:
docker工具,用来创建载有用户程序运行时环境的docker image;
安全沙箱本体,包括安全沙箱策略和docker image,所述的安全沙箱策略用来控制docker image与外界资源之间的访问权限。
2.根据权利要求1所述的一种安全沙箱,其特征是,所述的安全沙箱策略采用强制访问控制策略。
3.根据权利要求1所述的一种安全沙箱,其特征是,所述的安全沙箱策略是利用SSR软件设置的安全沙箱策略。
4.一种安全沙箱构建方法,其特征是,所述的方法包括:
创建用户程序的docker image运行时环境;
配置docker image可用资源;
为docker image配置SSR安全沙箱策略。
5.根据权利要求4所述的一种安全沙箱构建方法,其特征是,所述的方法还包括:
验证安全沙箱策略是否正常运行。
6.根据权利要求5所述的一种安全沙箱构建方法,其特征是,验证安全沙箱策略是否正常运行的具体过程为:
启动docker image,检查用户程序是否同时启动运行,若是,进入下一步,若否,重新构建安全沙箱;
利用docker image内部程序访问docker image外的操作系统资源,检查是否访问成功,若否,进入下一步,若是,重新构建安全沙箱;
利用docker image外的程序访问docker image内部资源,检查是否访问成功,若是,重新构建安全沙箱,若否,完成验证。
7.根据权利要求4或5所述的一种安全沙箱构建方法,其特征是,所述SSR安全沙箱策略的表现形式为:在操作系统中程序执行的行为中,docker image内部的程序不能访问docker image外的操作系统资源;操作系统中该docker image外部的程序不能访问dockerimage内部的资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710710765.8A CN107480524A (zh) | 2017-08-18 | 2017-08-18 | 一种安全沙箱及其构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710710765.8A CN107480524A (zh) | 2017-08-18 | 2017-08-18 | 一种安全沙箱及其构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107480524A true CN107480524A (zh) | 2017-12-15 |
Family
ID=60600960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710710765.8A Pending CN107480524A (zh) | 2017-08-18 | 2017-08-18 | 一种安全沙箱及其构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107480524A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108985086A (zh) * | 2018-07-18 | 2018-12-11 | 中软信息系统工程有限公司 | 应用程序权限控制方法、装置及电子设备 |
CN109828824A (zh) * | 2018-12-29 | 2019-05-31 | 东软集团股份有限公司 | 镜像的安全性检测方法、装置、存储介质和电子设备 |
CN111523114A (zh) * | 2020-03-11 | 2020-08-11 | 国网辽宁省电力有限公司大连供电公司 | 基于安全沙箱技术的移动业务应用数据防泄密系统 |
CN111614727A (zh) * | 2020-04-27 | 2020-09-01 | 深圳壹账通智能科技有限公司 | 监管沙盒架构、监管方法、装置及存储介质 |
CN112528273A (zh) * | 2020-12-29 | 2021-03-19 | 天津开心生活科技有限公司 | 医疗数据的探测方法、装置、介质及电子设备 |
CN113986515A (zh) * | 2021-12-24 | 2022-01-28 | 统信软件技术有限公司 | 为插件运行创建沙箱环境的方法和装置以及计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573507A (zh) * | 2015-02-05 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种安全容器及其设计方法 |
CN105160269A (zh) * | 2015-08-13 | 2015-12-16 | 浪潮电子信息产业股份有限公司 | 一种Docker容器内数据的访问方法及装置 |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
-
2017
- 2017-08-18 CN CN201710710765.8A patent/CN107480524A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573507A (zh) * | 2015-02-05 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种安全容器及其设计方法 |
CN105160269A (zh) * | 2015-08-13 | 2015-12-16 | 浪潮电子信息产业股份有限公司 | 一种Docker容器内数据的访问方法及装置 |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108985086A (zh) * | 2018-07-18 | 2018-12-11 | 中软信息系统工程有限公司 | 应用程序权限控制方法、装置及电子设备 |
CN109828824A (zh) * | 2018-12-29 | 2019-05-31 | 东软集团股份有限公司 | 镜像的安全性检测方法、装置、存储介质和电子设备 |
CN111523114A (zh) * | 2020-03-11 | 2020-08-11 | 国网辽宁省电力有限公司大连供电公司 | 基于安全沙箱技术的移动业务应用数据防泄密系统 |
CN111614727A (zh) * | 2020-04-27 | 2020-09-01 | 深圳壹账通智能科技有限公司 | 监管沙盒架构、监管方法、装置及存储介质 |
CN112528273A (zh) * | 2020-12-29 | 2021-03-19 | 天津开心生活科技有限公司 | 医疗数据的探测方法、装置、介质及电子设备 |
CN113986515A (zh) * | 2021-12-24 | 2022-01-28 | 统信软件技术有限公司 | 为插件运行创建沙箱环境的方法和装置以及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3674954B1 (en) | Security control method and computer system | |
US11562086B2 (en) | Filesystem view separation for data confidentiality and integrity using lattice-based security domains | |
CN103959247B (zh) | 虚拟化计算机程序中的安全 | |
McKeen et al. | Intel® software guard extensions (intel® sgx) support for dynamic memory management inside an enclave | |
CN107480524A (zh) | 一种安全沙箱及其构建方法 | |
US9832226B2 (en) | Automatic curation and modification of virtualized computer programs | |
Eder | Hypervisor-vs. container-based virtualization | |
CN102799817B (zh) | 用于使用虚拟化技术进行恶意软件保护的系统和方法 | |
Anderson | Computer security technology planning study | |
CN103907101A (zh) | 用于管理器环境中的内核rootkit防护的系统和方法 | |
CN103620613A (zh) | 用于基于虚拟机监视器的反恶意软件安全的系统和方法 | |
US10339305B2 (en) | Sub-execution environment controller | |
van de Ven | New security enhancements in red hat enterprise linux v. 3, update 3 | |
CN108763924A (zh) | 一种安卓应用程序中不可信第三方库访问权限控制方法 | |
Grimm et al. | Automatic mitigation of kernel rootkits in cloud environments | |
Bijlani et al. | A lightweight and fine-grained file system sandboxing framework | |
Zeng et al. | Accountable administration in operating systems | |
Heiser et al. | What if you could actually trust your kernel? | |
Zhu | Integrity-based kernel malware detection | |
Chang et al. | Research on dynamic integrity measurement model based on memory paging mechanism | |
Vemuri et al. | Measures to improve security in a microkernel operating system | |
Ahad et al. | FreePart: Hardening Data Processing Software via Framework-based Partitioning and Isolation | |
Tzitzikas et al. | The File destroyAll. exe: On Executing Proprietary Software | |
WO2022031275A1 (en) | Detection of memory modification | |
Peppas | Protecting files hosted on virtual machines with out-of-guest access control |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171215 |
|
RJ01 | Rejection of invention patent application after publication |