NovumOS v0.24 安全漏洞修复总结 漏洞概述 本次更新修复了多个可能导致 Ring 3 进程执行 Ring 0 任意代码的权限提升漏洞,并加强了 IDT 完整性验证系统。 影响范围 Syscall 12 (JumpToUser):允许用户进程跳转到任意内核地址。 Syscall 15 (MemoryMapRange):允许用户进程映射关键内核结构(IDT, IVT, BIOS/VRAM 区域)。 PMM (物理内存管理器):缺乏边界检查,可能导致越界访问。 堆分配器:缺乏最大分配限制,可能导致内存耗尽攻击。 FAT 驱动:缺乏集群索引验证,可能导致无效内存访问。 IDT 完整性:缺乏多层验证机制,易受重定位、表遍历攻击和篡改。 CR0 写保护:未启用,IDT 页面可被用户模式修改。 脏位检测:未启用,无法识别未授权内存修改。 修复方案 Syscall 12:验证入口点是否在用户空间范围内( 和 之间)。 Syscall 15:阻止映射关键内核结构。 PMM:为 和 函数添加带安全日志的边界检查。 堆分配器:强制执行 16MB 最大分配限制。 FAT 驱动:在 中添加集群索引验证。 IDT 完整性监控: - 实现四层验证链:IDTR 验证、Shadow Walk 检测、SipHash128 HMAC 保护、编译时混沌与运行时验证。 - 启用 CR0 写保护位,使 IDT 页面只读。 - 添加 CPU 脏位智能检测以识别未授权内存修改。 其他改进: - 修复工作窃取竞争条件。 - 添加 AP 栈溢出防护。 - 实现全局任务队列优化。 - 添加启动动画和分辨率命令修复。 - 实施编译时随机化(Scatter Randomization)。 - 集成 GitHub Actions 自动化构建和测试。 - 持续进行 CodeQL 安全扫描。