デジタル人材の育成
公開日:2024年6月25日
本プロジェクトでは、Object-Capability ModelによるCapability-Based Microkernelを基盤とし、POSIX APIを備えるOSと、それを用いたユーザレベルメモリ管理システムを開発する。
通常のOSでは、カーネル内で固定されたメモリ割り当て方針を持つため、ユースケースに最適化したメモリ割り当ては困難である。この問題を、Capability-Basedなマイクロカーネルによるユーザへのメモリ管理の委譲によって解決する。Object-Capability Modelでは、オブジェクトに対する操作を偽造不可能かつ譲渡可能な操作権限トークンであるCapabilityによって行う。そのため、必要な権限のみを持つ細粒度なアクセス制御が可能となる。本カーネルでは抽象メモリCapabilityと、それをカーネルオブジェクトCapability、もしくは物理メモリフレームCapabilityに変換可能な機構を備える。これにより、カーネルのメタデータをユーザに漏洩させることなく、実用OSと同等のSLAB Memory AllocationやBuddy Systemといったメモリ管理をユーザレベルで実現する。その結果、柔軟性と安定性を付加し、ソフトウェアの互換性を保ちつつも最適化されたメモリ管理を実現する。
本プロジェクトは、現代の仮想化技術における1レベルのセキュリティに加え、より高レベルなメモリ安全性を保証する。
Capability-Based Securityを採用することで、最小特権の原則に基づくセキュアなメモリ管理を実現すると同時に、ユーザレベルでのメモリ管理を行うことで、柔軟性も同時に満たすOSを作ることができると提案者は考えている。メモリをCapabilityによって抽象化するという試みである。故に本提案は既存の同様のアプローチに対して、メモリ管理部分を主軸に置いたアプローチをとっている。また、ContainerやHypervisorなど仮想化技術との親和性や、Wasmなどでの活用の可能性も評価した。
2024年6月25日
2024年度採択プロジェクト概要(伊組PJ)を掲載しました。