┌─[nonos@] └──╼ | nonos-kernel | 内存管理和二进制更新。 内核已迁移到一个更安全、可验证的系统。此阶段部分完成了其内存子系统、二进制结构和整体构建完整性的架构转型。 内核现在编译为一个71,872字节的ELF64静态可执行文件,经过剥离、优化,并在构建之间可重现。每个部分都是页面对齐的,经过验证并在二进制级别明确定义。该映像直接在裸金属上以长模式运行,无需重定位,无需动态链接,无需运行时加载器。设计上是一个确定性系统。 安全执行是绝对的。写-XOR-执行(W^X)合规性在整个映像中完全实现。代码部分是可执行的,但永远不可写。数据和堆栈段是不可执行的。这保证了指令和数据内存之间的隔离,消除了依赖于跨边界内存损坏的漏洞类别。内核作为一个密封的、可验证的ELF映像运行,代码不可变。 i) 内存管理层已完全改进。旧的线性堆分配器已被具有对数分配和释放性能的伙伴分配器所取代。所有内存操作现在都包括分配元数据、金丝雀值、溢出检测、用于取证跟踪的时间戳和在释放时的安全归零。超过130个恐慌和解包路径已被删除,并用基于结果的确定性错误处理替代。堆栈保护和完整性检查在执行过程中始终处于活动状态。页面子系统引入了明确的页面级元数据、加密内存区域和正确的TLB同步。每个页面表操作都经过验证、错误传播和原子性处理。这些机制构成了即将开发的NUMA和页面加密功能的基础。 ii) 构建过程现在实现了完全的可重现性和验证。使用针对x86_64-nonos的自定义目标定义,所有依赖项在受控的LTO优化下静态编译。生成的二进制文件通过ELF64和Multiboot合规性验证,并作为一个完全自包含的映像执行。每个构建都可以通过参考摘要进行加密验证,以确保可重现性。 iii) 性能测量显示出巨大的效率提升。分配延迟减少了大约90%。无恐慌错误处理和安全归零现在在负载下以确定性方式执行。由于二的幂伙伴系统结构,内存碎片保持在微不足道的水平。所有主要的运行时故障(堆、页面或堆栈)都能优雅降级,而不会导致内核恐慌。 在架构上,内核现在遵循四个指导原则:零恐慌设计、深度防御、确定性可重现性和最小信任表面。这些原则定义了每个实现决策,从低级MMU操作到高级分配器策略。 接下来的目标集中在加密页面支持、NUMA优化和实时内存遥测上。中期工作包括集成Intel CET以实现控制流完整性,并扩展取证内存子系统以进行调试和事后分析。从长远来看,路线图包括对内存加密密钥的量子抗性加密保护和自适应的基于机器学习的分配启发式。 71KB的映像紧凑、高效,专为NØNOS所代表的目的而构建:可以信任的计算,因为它是透明的、可测量的,并且没有外部依赖。 明天我们将在NOXORIUS的发布临近时进行更新✍️