本实验基于 2023年NKU操作系统课程实验 进行完善和修改使其符合WHU信息安全操作系统实验大作业要求。
- 集成OS, 在已有实验代码基础上, 形成你自己的一个简易OS
- 功能要求:
- 可以考虑使用软盘或者硬盘,启动该mini-OS。
- 能够实现你在前面章节所实现的,内存分配与释放,
- 能够实现你在前面章节所实现的多进程管理与调度,
- 所有代码需用目录树结构管理,并添加完整的makefile编译,以及文档
- 鼓励支持较为复杂的进程调度算法、虚拟内存管理等
- 扩展shell
要求:利用当前OrangeS所提供的系统调用和API,扩展Shell命令
- 支持进程管理,包括:
- 列出当前运行的进程
- 终止指定的进程
- 支持文件管理,包括
- 列出当前目录的文件,以及文件的相关属性信息
- 创建新文件
- 打开或编辑指定文件(如果是可执行文件,则运行,如果是文本文件,则打开可编辑)
- 删除指定文件
- 支持在同一个TTY上,可并发运行多个shell任务
- 扩展系统日志能力
- 增加系统日志的框架,支持:
- 使用参数开关相应的系统日志能力
- 对进程的运行过程,可以进行日志记录
- 对文件的访问过程,可以进行日志记录
- 对系统调用过程,可以进行日志记录
- 对设备访问过程,可以进行日志记录
-
自我OS安全分析
- 分析提示:可执行文件的篡改、内核关键、数据破坏、内存破坏漏洞、权限绕过等
- POC实现:编写若干你发现的漏洞Demo程序,对该OS实施攻击测试
-
自我OS防护
- 针对你发现的攻击,进行防护:
- 可执行文件篡改,可采用静态装入度量
- 运行时关键内核数据破坏,可采用运行时关键模块检查
- 缓冲区溢出,可采用添加类似堆栈保护等方式
- 扩展OS的数据防泄露能力
- 技术路线一:对磁盘文件进行加密保护,要求文件打开时,读入内存的为明文,如果进行编辑,写回磁盘的为密文。密码算法、密钥管理可自行设计。
- 技术路线二:白名单进程允许访问指定文件资源,非白名单进程不允许访问受保护文件资源。