基于只读机制的文件系统安全加固方法技术方案

技术编号:37971189 阅读:9 留言:0更新日期:2023-06-30 09:46
基于只读机制的文件系统安全加固方法,包括如下步骤:准备需要对其安全进行加固的文件系统;构建基于只读机制的对象仓库,对象仓库用于存储和管理文件系统的元数据和文件对象,并通过分支功能跟踪相应的文件系统,并执行切换分支操作以切换到所管理的文件系统;将准备的文件系统导入到对象仓库中,并针对该文件系统创建一个新的分支;将导入的文件系统打包,并将其写入对象仓库中,指定文件系统所属的分支和版本号。本发明专利技术在文件系统层面通过不可变基础设施来为容器使用提供安全防护,通过文件系统只读、系统原子化升级和升级安全预警实现了加固容器的使用安全。了加固容器的使用安全。了加固容器的使用安全。

【技术实现步骤摘要】
基于只读机制的文件系统安全加固方法


[0001]本专利技术涉及操作系统安全加固
,具体涉及基于只读机制的文件系统安全加固方法。

技术介绍

[0002]容器化、微服务化、云原生是当前计算机行业发展演进的趋势,目前大多数的企业不是正在使用容器,就是考虑使用容器。
[0003]目前,市面上最常见的容器方案为Docker,尽管容器技术炙手可热、发展迅速,已经能够解决目前的诸多需求,但依然面临着众多挑战。在容器的环境中,由于容器只封装应用和依赖,这使得其必须使用宿主机的内核在进行运作,这种与主机共享内核的模式,在容器能够实现轻量化的同时,也让其受到攻击的范围变得更大。只要获取到容器的权限,即可实现对内核的访问,并且,只要容器中的应用导致内核崩溃,那么整个宿主机系统也会一样崩溃。除此之外,容器还面临着以下安全威胁:(1)网络攻击:容器默认使用bridge网络,该网络会创建一个虚拟网桥,连接在同一个网桥之间的容器可以互相访问。当某个容器被入侵时,攻击者可访问到宿主机中的其他容器。同时,攻击者也可通过DDos等方式,攻击容器的服务来耗尽宿主机的资源,从而引起整个宿主机的崩溃。
[0004](2)特权容器:在启用容器时若使用特权模式(
‑‑
privileged),容器将被允许可以访问宿主机上的所有设备,并可以获取大量设备文件的访问权限。
[0005](3)文件挂载:用户在配置容器时,若将主机的根目录映射到容器中,那么理论上该容器就可对宿主机的文件系统进行任意修改,造成极大的安全风险。r/>[0006]因此,阻止攻击者通过容器访问到宿主机的内核和文件系统是降低容器安全风险的重要方式。已有方案主要是采用“安全容器”,例如Kata与gVisor,Kata本质上是一个轻量级虚拟机,gVisor则在宿主机内核之外实现了一个“内核进程”Sentry,两者均采用了阻止容器与宿主机共享内核的方式,目前还没有一种实际的办法从文件系统层面来保证容器使用安全。

技术实现思路

[0007]为解决已有技术存在的不足,本专利技术提供了一种基于只读机制的文件系统安全加固方法,包括如下步骤:步骤S1:准备需要对其安全进行加固的文件系统;步骤S2:构建基于只读机制的对象仓库;步骤S3:将步骤S1准备的文件系统导入到步骤S2构建的对象仓库中,并针对该文件系统创建一个新的分支;步骤S4:将导入的文件系统打包,并将其写入对象仓库中,指定文件系统所属的分支和版本号;
其中,步骤S3所构建的对象仓库,用于存储和管理文件系统的元数据和文件对象,并通过分支功能跟踪相应的文件系统,并执行切换分支操作以切换到所管理的文件系统。
[0008]其中,步骤S1中,所准备的文件系统包括只读部分和可写部分,可写部分存储在/etc与/var目录下,只读部分被记载至内存中,可写部分被挂载到只读部分上,只读机制使用dracut工具在/usr目录创建一个只读绑定挂载,确保/usr目录永久为只读状态。
[0009]其中,所述步骤S1中,通过如下步骤准备文件系统:步骤S11:在文件系统中创建一个空的/sysroot目录,确保只读机制将chroot绑定挂载到物理根目录上;步骤S12:在操作系统启动时,针对文件系统动态创建如下目标:/home
ꢀ→ꢀ
/var/home/opt
ꢀ→ꢀ
/var/opt/srv
ꢀ→ꢀ
/var/srv/root
ꢀ→ꢀ
/var/roothome/usr/local
ꢀ→ꢀ
/var/usr/local/mnt
ꢀ→ꢀ
/var/mnt/tmp
ꢀ→ꢀ
/sysroot/tmp。
[0010]其中,在针对文件系统进行系统更新时,通过如下步骤进行:对象仓库中存储所有文件系统版本的commit信息,当通过包管理器安装或更新软件包时,对象仓库生成一个新的系统版本以及与该新的系统版本对应的commit提交信息,触发系统的一次原子化升级,采用增量更新的方式,对比新的系统版本所对应的commit与更新前的系统版本所对应的commit的差异,获取增量差异并生成一个包含该差异的压缩补丁,根据增量差异完成更新,同时以新的系统版本的commit信息更新当前系统版本的commit信息。
[0011]其中,在针对文件系统进行系统更新时,根据增量差异完成更新的方法涉及:对比新的系统版本以及更新前的系统版本的差异,得到所有已被修改的文件,针对每一个已被修改的文件,生成一个包含该文件副本的新目录,应用此前生成的压缩补丁将修改前的文件版本更新到修改后的文件版本。
[0012]本专利技术提供的基于只读机制的文件系统安全加固方法,在文件系统层面通过不可变基础设施来为容器使用提供安全防护,通过文件系统只读、系统原子化升级和升级安全预警实现了加固容器的使用安全。
附图说明
[0013]图1为本专利技术只读机制所涉及对象仓库的机制逻辑图。
[0014]图2为基于本专利技术提供的只读机制对手动修改系统关键文件时的安全预警流程图。
[0015]图3为基于本专利技术提供的只读机制根据增量更新机制实现的原子化升级的原理图。
[0016]图4为本专利技术的某一实施例的原子化升级中所涉及的文件版本更新示意图。
[0017]图5为基于本专利技术提供的只读机制的操作系统原子化升级流程图。
[0018]图6为基于本专利技术提供的只读机制的以软件包方式非法更新系统关键文件的安全
预警流程图。
具体实施方式
[0019]为了对本专利技术的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本专利技术的技术方案及其产生的有益效果。
[0020]本专利技术的基于只读机制的文件系统安全加固方法,通过设计使用了一种只读机制,在文件系统层面通过不可变基础设施来为容器使用提供安全防护,同时,在内核的安全特性模块和Selinux安全访问控制系统的基础上,在文件系统层面通过文件系统只读、系统原子化升级和升级安全预警来加固容器使用安全。
[0021]其中,不可变基础设施是一种基于只读机制的基础设施管理模式,其中操作系统是不可变的,只能通过替换整个操作系统来进行更新。这种模式可以提高系统的安全性和可靠性,因为这种不可变性可以避免在系统中引入意外的变化和漏洞。只读机制的工作方式就是将整个系统作为单个不可变对象来管理,而不是像传统系统一样管理文件和目录。这种方法使得系统更新变得更加安全和可靠,并且允许管理员轻松回滚更新,以避免不可预知的问题。因此,不可变基础设施和只读机制是相互关联的,只读机制可以帮助实现不可变基础设施的目标,提高系统的可靠性和安全性。
[0022]借助于只读机制,本专利技术构建了新的文件系统,该文件系统将基础文件系统分为两部分:只读部分和可写部分。
[0023]只读部分包含操作系统的基础组件,包含许多必要的系统资源和文件,例如内核、文件系统、共享库等,保证了文件系统的一致性和不可变性,同时本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于只读机制的文件系统安全加固方法,其特征在于,包括如下步骤:步骤S1:准备需要对其安全进行加固的文件系统;步骤S2:构建基于只读机制的对象仓库;步骤S3:将步骤S1准备的文件系统导入到步骤S2构建的对象仓库中,并针对该文件系统创建一个新的分支;步骤S4:将导入的文件系统打包,并将其写入对象仓库中,指定文件系统所属的分支和版本号;其中,步骤S3所构建的对象仓库,用于存储和管理文件系统的元数据和文件对象,并通过分支功能跟踪相应的文件系统,并执行切换分支操作以切换到所管理的文件系统。2.如权利要求1所述的基于只读机制的文件系统安全加固方法,其特征在于,步骤S1中,所准备的文件系统包括只读部分和可写部分,可写部分存储在/etc与/var目录下,只读部分被记载至内存中,可写部分被挂载到只读部分上,只读机制使用dracut工具在/usr目录创建一个只读绑定挂载,确保/usr目录永久为只读状态。3.如权利要求2所述的基于只读机制的文件系统安全加固方法,其特征在于,所述步骤S1中,通过如下步骤准备文件系统:步骤S11:在文件系统中创建一个空的/sysroot目录,确保只读机制将chroot绑定挂载到物理根目录上;步骤S12:在操作系统启动时,针对文件系统动态创建如下目标:/home
ꢀ→ꢀ
/var/home/opt
ꢀ→ꢀ
/var/opt/srv...

【专利技术属性】
技术研发人员:李剑刘涛
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:

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

1