Cコードを全面的に rewrite しなくても、キャパビリティハードウェア上で動作させられる
CHERIのハイブリッドABIを使えば、Cコードを段階的にキャパビリティハードウェアへ移植できる。コンパイル方法、どこが壊れるか、そして codebase 全体を rewrite せずに修正する方法を解説する。
あなたには、Rustに rewrite…
2 posts
CHERIのハイブリッドABIを使えば、Cコードを段階的にキャパビリティハードウェアへ移植できる。コンパイル方法、どこが壊れるか、そして codebase 全体を rewrite せずに修正する方法を解説する。
あなたには、Rustに rewrite…
単一のCライブラリを隔離するためにコンテナを使うのは大げさすぎる。WebAssemblyにコンパイルし、WASIサンドボックス内で実行すれば、メモリ安全性、ケイパビリティベースのファイルシステムアクセス、クラッシュ封じ込めをDockerなしで実現できる。
Cライブラリ内でのたった一つのヌルポインタ参照が、アプリケーション全体をクラッシュさせることがある。そのライブラリがユーザー入力を解析したり、画像を展開したり、ネットワークプロトコルを扱うのであれば、一つの異常なパケットがクラッシュを引き起こす危険性がある。コンテナはこの問題を解決するが、一つの依存関係のためにDock…