Skip to content
This repository was archived by the owner on Mar 17, 2025. It is now read-only.

oscomp/proj269-Linux-kernelSecure-virtualization-technology

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

proj269-Linux-kernelSecure-virtualization-technology

项目名称

面向Linux kernel的轻量化文件系统安全虚拟化技术

项目描述

容器作为一种轻量级虚拟化技术,具有启动快速、部署方便、资源占用少、运行效率高等优点。容器将一个应用的代码、数据和依赖项打包成一个独立的运行环境,利用如namespace和cgroup等多个内核机制,实现了应用运行环境的轻量级隔离。这种隔离包括文件系统、网络、进程等系统资源,确保一个容器内的应用不受其他容器或主机的影响。近年来,容器技术在云计算平台和数据中心的资源管理、系统运维和软件部署中得到广泛应用。其优势不仅使其成为云计算领域的热点技术,而且具有改变软件整体生态的潜力。容器化的应用打破了传统软件开发与部署的限制,提高了应用程序的可移植性和可扩展性,为快速开发、交付和运维提供了强大支持。

然而,随着云原生开发实践的普及以及容器新特性如复制和卷的引入,主机与容器之间的交互变得不可避免。这种交互的必要性使得容器技术更加灵活,但同时也为安全漏洞提供了新的机会,容器化的恶意应用程序有可能突破隔离,尤其是文件系统的隔离。恶意应用程序可以通过打破文件系统的隔离,实现容器的逃逸,这一挑战已经成为制约容器发展和应用的主要技术瓶颈。

目前业界主要有三种实现强隔离性的技术思路:首先,基于轻量级虚拟机的方式实现强隔离性,其中典型代表是Kata Containers;其次,通过使用用户态进程模拟内核提供服务,典型实现为gVisor;最后,借助Linux内核中现有的安全机制,如Capabilities、Seccomp、Apparmor等,对Docker容器进行安全强化。前两种技术思路虽能实现较强的安全隔离,但性能相较于原生Docker容器有一定下降;而第三种思路在性能损失方面相对较小,但由于与主机操作系统内核耦合紧密且共享内核数据,隔离性相对前两者较弱。

因此,为了解决上述问题,本项目的主要目标是采用轻量级、高效的设计理念,实现更强大的Linux文件系统隔离,同时最小化对性能的影响。可对现有轻量安全虚拟化技术进行优化,或提出新的轻量安全虚拟化方法并实现。

所属赛道

2024全国大学生操作系统比赛的“OS功能挑战”赛道

赛道分类

2.3 操作系统内核大类 --> 2.3.1 虚拟化

参赛要求

  • 以小组为单位参赛,最多三人一个小组,且小组成员是来自同一所高校的本科生或研究生(2024年春季学期或之 后毕业的本科生或研究生)
  • 如学生参加了多个项目,参赛学生选择一个自己参加的项目参与评奖
  • 请遵循“2024全国大学生操作系统比赛”的章程和技术方案要求

项目导师

难度

中等

特征

  • 基于Linux内核,内核版本>=6.60,不限定硬件体系结构
  • 兼容现有容器技术生态 (若修改或实现新的容器运行时,须提供兼容OCI标准的运行时)

参考实现

License

  • GPL-2.0 License

预期目标

注意:下面的内容是建议内容,不要求必须全部完成。选择本项目的同学也可与导师联系,提出自己的新想法,如导师认可,可加入预期目标

第一题:安全隔离

能够抵御超90%的容器逃逸漏洞

第二题:功能特性

不影响原始内核的功能,兼容应用层容器工具

第三题:性能特性

给内核带来的性能开销小于5%,给容器功能带来的性能开销小于5%

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published