Commit 7480feab authored by 西电计算机OS队's avatar 西电计算机OS队
Browse files

Update file README.md

parents
No related merge requests found
Showing with 44 additions and 0 deletions
+44 -0
README.md 0 → 100644
Project ID: 14953
赛题项目
项目名称 面向Linux kernel的轻量化文件系统安全虚拟化技术
大赛名称 2024年全国大学生计算机系统能力大赛-操作系统设计赛(全国)-OS功能挑战赛道
描述
容器作为一种轻量级虚拟化技术,具有启动快速、部署方便、资源占用少、运行效率高等优点。容器将一个应用的代码、数据和依赖项打包成一个独立的运行环境,利用如namespace和cgroup等多个内核机制,实现了应用运行环境的轻量级隔离。这种隔离包括文件系统、网络、进程等系统资源,确保一个容器内的应用不受其他容器或主机的影响。近年来,容器技术在云计算平台和数据中心的资源管理、系统运维和软件部署中得到广泛应用。其优势不仅使其成为云计算领域的热点技术,而且具有改变软件整体生态的潜力。容器化的应用打破了传统软件开发与部署的限制,提高了应用程序的可移植性和可扩展性,为快速开发、交付和运维提供了强大支持。
然而,随着云原生开发实践的普及以及容器新特性如复制和卷的引入,主机与容器之间的交互变得不可避免。这种交互的必要性使得容器技术更加灵活,但同时也为安全漏洞提供了新的机会,容器化的恶意应用程序有可能突破隔离,尤其是文件系统的隔离。恶意应用程序可以通过打破文件系统的隔离,实现容器的逃逸,这一挑战已经成为制约容器发展和应用的主要技术瓶颈。
目前业界主要有三种实现强隔离性的技术思路:首先,基于轻量级虚拟机的方式实现强隔离性,其中典型代表是Kata Containers;其次,通过使用用户态进程模拟内核提供服务,典型实现为gVisor;最后,借助Linux内核中现有的安全机制,如Capabilities、Seccomp、Apparmor等,对Docker容器进行安全强化。前两种技术思路虽能实现较强的安全隔离,但性能相较于原生Docker容器有一定下降;而第三种思路在性能损失方面相对较小,但由于与主机操作系统内核耦合紧密且共享内核数据,隔离性相对前两者较弱。
因此,为了解决上述问题,本项目的主要目标是采用轻量级、高效的设计理念,实现更强大的Linux文件系统隔离,同时最小化对性能的影响。可对现有轻量安全虚拟化技术进行优化,或提出新的轻量安全虚拟化方法并实现。
导师
姓名:陈博翰、Github ID:https://github.com/kylin-cbh、邮箱:chenbohan@kylinos.cn
难度 支持单位
中 麒麟软件
分类
虚拟化
题目要求
特征
基于Linux内核,内核版本>=6.60,不限定硬件体系结构
兼容现有容器技术生态 (若修改或实现新的容器运行时,须提供兼容OCI标准的运行时)
预期目标
注意:下面的内容是建议内容,不要求必须全部完成。选择本项目的同学也可与导师联系,提出自己的新想法,如导师认可,可加入预期目标
第一题:安全隔离
能够抵御超90%的容器逃逸漏洞
第二题:功能特性
不影响原始内核的功能,兼容应用层容器工具
第三题:性能特性
给内核带来的性能开销小于5%,给容器功能带来的性能开销小于5%
License
GPL-2.0 License
参考资料
参考实现
Katacontainers https://katacontainers.io/
gVisor https://gvisor.dev/
Seccomp https://man7.org/linux/man-pages/man2/seccomp.2.html
Capabilities https://man7.org/linux/man-pages/man7/capabilities.7.html
备注
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment