一种基于SELinux扩展的OVERLAYFS文件安全访问加固机制研究.docx

一种基于SELinux扩展的OVERLAYFS文件安全访问加固机制研究.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
? ? 一种基于SELinux扩展的OVERLAYFS文件安全访问加固机制研究 ? ? 陈大文 (江苏金盾检测技术股份有限公司,江苏 南京 210000) 1 背景概述 联合文件系统(UnionFS)[1]是Linux操作系统中的一种新型文件系统,在架构上是一种层次化的、轻量级的文件系统。联合文件系统通过对不同镜像的文件系统层层挂载与叠加,最终将不同镜像的文件目录挂载至同一个虚拟文件系统,向用户展示一个统一的文件系统视图。联合文件系统是现代容器技术的基础,DOCKER容器的架构如图1所示。 图1 Docker文件系统模型 1.1 DOCKER的文件系统 (1)系统最底层的是Bootfs。在这个文件系统中包含Linux系统的引导加载程序以及Linux的内核。Docker镜像中作为一般使用的是宿主机的Bootfs。 (2)基于Bootfs的是Base Image层,该层是Docker镜像的根文件系统,又称基础镜像,基于不同LINUX系统的Docker镜像使用的根文件系统是不一样的。 (3)在Base Image层之上是Docker File中通过命令自下向上层层叠加的各种镜像层,包括可执行文件、数据等。位于层次上方的镜像层同名目录会与下方镜像层的同名目录合并,而上方镜像的同名文件会隐藏覆盖下方的同名文件。 (4)最上层是容器层,与其他镜像层不同的是容器层可以改写,其他镜像层的文件如果在执行过程中需要改写数据或文件,则采用copy-on-write (写时拷贝)机制,将目标文件拷贝到容器层改写。因联合文件系统的特性,改写后新生成的文件将覆盖底层不可改写镜像中的文件。 当容器启动时,依赖联合文件系统实现各镜像层的数据、文件统一映射与整合,最终形成位顶层的容器层。由上述的架构可见,联合文件系统是容器技术[2]的核心基础。通过联合文件系统的层叠式架构实现高度离散灵活的容器构建途径以及不同镜像层文件的共享。联合文件系统作为一种新型的虚拟文件系统,目前的主流有AUFS,OVERLAYFS[3]等,其中OVERLA-YFS已发展到二代,相对于AUFS速度更快,实现也较为更简单。 1.2 算力网络 容器的高度灵活性、轻便性给新型计算模型的发展带来各种新的可能。算力网络[4-5]就是其中一种,在未来大规模高速网络的支持下,算力网络将实现端、边、中心三位一体的算力调度,尽可能将算力按需分配,这其中容器的可调度性、迁移性对算力网络计算模式的支撑是必不可少的。但是依托容器迁移实现算力调度的模式仍然存在严重问题,限制着算力网络计算模式发展。容器在算力网络调度迁移过程中,用户失去了对容器中数据以及相关程序文件执行的控制权。显然,在用户对数据与软件的控制得不到保护之前,算力网络的大规模发展必然会受到阻碍。 由此,本文提出一种新型的OVERLAYFS文件加固机制,该机制主要包括两方面内容,一是引入信任构建机制,通过该机制实现对平台、容器各镜像层文件拥有方的信任关系。二是扩展Linux系统中现有的SELinux[6-7]安全机制,通过在SELinux机制中加入新型安全执行机制来与现有的宿主机系统对接,构建信任关系以及执行安全策略。基于加固机制构建的容器镜像层对算力平台的信任关系,并通过受信的算力平台执行安全策略以保护镜像层数据和文件的权限,解决了算力网络计算执行模式带来的安全问题。 2 基于SELinux的扩展实现信任关系的构建 2.1 SELinux及其扩展 安全增强型(Security-Enhanced Linux,SELinux)在LINUX2.6以及以上版本中,作为一种功能全面的 LSM(Linux Security Module)安全模块,集成在Linux内核。SELinux基于LSM框架[8],实现Linux 安全模块对访问内核对象的行为实施访问控制。SELinux的组成架构主要由3部分组成。 (1)安全服务器:安全服务器是SELinux 的核心,主要功能是对确定内核文件的安全标记和访问策略。其中最重要的是配置的安全策略。 (2)SELinux的文件系统:向安全服务器提供接口,支持安全服务器的安全策略文件读入,SELinux中安全策略文件是二进制,由安全服务器提供数据结构存储安全策略。 (3)访问向量缓存:这是SELinux与LSM框架钩子之间的一个缓存机构,主要用以提升SELinux的执行效率,在访问控制实施前查询相关的策略与执行方法,有则直接从缓存中取出,没有则查询安全服务器。 由于集成进入Linux内核的主线,各宿主机Linux系统对SELinux具有广泛的支持性。而且SELinux执行灵活且严格MAC安全访问控制机制,对容器的信任关系模型构建有良好的支持,本文选用SELinux作为本文安全加固机制的系统集成点,集成到现有主流的Linux

文档评论(0)

永兴文档 + 关注
实名认证
内容提供者

分享知识,共同成长!

认证主体谢**

1亿VIP精品文档

相关文档

相关课程推荐