┌─[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的啟動臨近時提供更新 ✍️