Featured

ソフトウェア隔離からJITコンパイルへ。PangeaOSが実現した「ゼロコストの絶対防壁」とは

先日、このPangeaOSがバージョン「v0.0.1-5」から「v0.0.1-6」へと進化を遂げました。専門用語が飛び交う世界ですが、このアップデートがどれほどワクワクする革新的なものなのか、文系の方やプログラミング初心者の方にも伝わるように、やさしく紐解いていきますね!

そもそも PangeaOS ってどんなOS?

私たちが普段使っているWindowsやmacOSなどは、とても便利ですが、実は長年の歴史の中で「継ぎ足し」で作られてきた部分も多く、セキュリティの弱点(脆弱性)が生まれやすい構造を持っています。

PangeaOSは、「最初からハッカーの攻撃を無効化するような、絶対に壊れないOSを作ろう!」というコンセプトで、Rust(ラスト)という最新のプログラミング言語を使ってゼロから開発されているOSです。OSの心臓部(Ring 0と呼ばれる、コンピューターの全権限を持つ神聖な場所)で、究極のスピードと安全性を両立させることを目指しています。

それでは、今回の目玉であるアップデートの内容を見ていきましょう!

振り返り:v0.0.1-5 の革新「ゼロコピーと魔法の壁」

v0.0.1-6のお話をする前に、その土台となった v0.0.1-5 の素晴らしい達成を2つだけ、簡単におさらいします。

1. ソフトウェアの力だけで仕切る「SIPs」
これまでのOSは、アプリ同士が勝手に他人のメモリを覗き見ないように、ハードウェア(CPU)の機能を使って「見えない壁」を作っていました。でも、これって切り替えに結構な時間がかかるんです。 PangeaOSは、Rust言語が持つ「ルール違反のコードは絶対にコンパイルさせない」という超厳格なシステムを利用して、ハードウェアの壁に頼らず、ソフトウェアの証明だけで安全な独立空間(SIPs)を作り出しました。 壁がないから、ものすごく速いんです!

2. 光の速さのバケツリレー「ゼロコピーIPC」
アプリ同士でデータをやり取りするとき、今までは「データをコピーして相手に渡す」のが普通でした。でも、大きなデータだとコピーに時間がかかりますよね。 PangeaOSでは、データのコピーを一切しません。「はい、このデータの所有権は今から君のものね!」と、データそのものの「権利」だけをポンッと相手に移動(Move)させるのです。コピー作業(memcpy)がゼロになったので、通信速度が劇的に向上しました。

最新版 v0.0.1-6 がもたらした「2つの究極防壁」

さて、いよいよ本題の v0.0.1-6 です! v0.0.1-5で超高速な環境はできましたが、「もし外部から変なプログラム(悪意のあるコード)がOSの心臓部に入り込んできたらどうするの?」という課題がありました。これを解決したのが今回のアップデートです。

① 実行しながら安全に翻訳する「ASH JIT コンパイラ」
外部から来たプログラムをそのまま実行するのは危険すぎます。そこでPangeaOSは、「ASH(アッシュ)」という安全な小さな箱(サンドボックス)を用意しました。

すごいのはここからです。安全にチェックしながらプログラムを動かすと普通は動作が遅くなるのですが、今回のアップデートで「実行する瞬間に、コンピューターが直接理解できる言葉(マシン語)に光の速さで翻訳(JITコンパイル)する」機能が搭載されました。

さらに魔法のような仕組みがあります。もし悪意のあるプログラムが「立ち入り禁止のメモリ領域」を覗こうとしたら、翻訳の段階でその命令をサッと「安全なゼロ(何もしない無害な命令)」にすり替えてしまうのです! 「もし〜なら」という確認作業すら省いているため、スピードを全く落とさずに脅威を無力化できます。

② 究極の盾「W^X (Write XOR Execute) メモリ防壁」
もう一つの目玉が、このカッコいい名前の機能です。 ハッカーがよく使う手口に「データとして悪いプログラムを送り込み、それを無理やり実行させる」というものがあります。

これを防ぐための絶対ルールが「書けるなら、実行できない(Write)」「実行できるなら、書けない(Execute)」です(これを W^X と呼びます)。

PangeaOSの心臓部では、プログラムをメモリに書き込んでいる最中は「絶対に実行できない」ようにロックをかけます。そして、書き込みが終わって実行する瞬間には「もう誰にも書き換えられない」ようにロックを切り替えます。 用が終わってメモリを捨てる時も、元の安全な状態にしっかり戻してからお片付けをする徹底ぶり。これにより、ハッカーの付け入る隙を物理的に(アーキテクチャのレベルで)完全に塞いでしまったのです!

おわりに

いかがだったでしょうか? 「v0.0.1-6」と聞くとまだ初期のバージョンのように思えるかもしれませんが、OSの心臓部(Ring 0)において、「ハードウェアに頼らず、ソフトウェアの賢さだけで、圧倒的なスピードとセキュリティを実現する」というPangeaOSのコンセプトが、ついに実証された歴史的なマイルストーンなんです。

今後は、さらにレガシーなシステムとの互換性を持たせたり、ファイルシステムの常識を覆すようなフェーズ(Phase 5, 6)へと進んでいくそうです。 次世代のOSがどのように進化していくのか、これからも本当に目が離せませんね!

それでは、また次回のテックブログでお会いしましょう💻✨

https://github.com/forestnote/pangea-ring0-os