Firefox 95 リリース、新しいサンドボックス技術 RLBox が全プラットフォームで有効に 11
ストーリー by nagazou
有効 部門より
有効 部門より
headless 曰く、
Mozilla は 7 日、Firefox 95.0 をリリースした (リリースノート、 Mozilla Hacks の記事、 The Verge の記事、 Phoronix の記事)。
本バージョンでは「RLBox」と呼ばれる新しいサンドボックス技術が全プラットフォームで有効化されている。すべてのメジャーブラウザーは Web コンテンツをサンドボックス内で実行し、ブラウザーに脆弱性があってもコンピューターには影響を与えないようにしている。しかし、サンドボックス内のプロセスに影響を与える脆弱性とサンドボックスを迂回可能な脆弱性を組み合わせた攻撃もしばしば発生しており、さらなる保護の仕組みが必要となる。
次のステップとしては機能の境界でプロセスを分離することだが、パフォーマンスへの影響が大きい。そのため、RLBox ではコードを個別のプロセスに分離するのではなく、まず WebAssembly にコンパイルし、そこからさらにネイティブコードにコンパイルする。これにより、対象のコードはプログラムの予期しない部分へジャンプすることや、指定された領域外のメモリーにアクセスすることができなくなる。その結果、信頼されるコードと信頼されないコードの間で安全にアドレス空間を共有可能になるとのこと。
RLBox のプロトタイプは既に Firefox 74 で Linux ユーザーに、Firefox 75 で Mac ユーザーに提供されていた。Firefox 95 ではデスクトップおよびモバイルのサポートされるすべてのプラットフォームで有効化され、Graphite / Hunspell / Ogg の3つのモジュールを分離するとのことだ。
間違い (スコア:3, 参考になる)
> Firefox 95 ではデスクトップおよびモバイルのサポートされるすべてのプラットフォームで有効化され、Graphite / Hunspell / Ogg / Expat / Woff2 の5つのモジュールを分離するとのことだ。
ExpatとWoff2のサンドボックス化はFirefox 96からだってタレコミからリンクしているMozilla Hacksのブログ記事に書かれてるぞ。
nagazou採用のストーリーだから修正されないと思うが記録のためコメントしておく
Re:間違い (スコア:1)
applemapでビデオドライバが落ちる (スコア:0)
duckduckgoからのapplemapでビデオドライバ落ちてブラックアウトするんだけど(fox94.0.2)
こういうのもトラップできるのだろうか
(仕方ないからリセットするんだけど、ドライバ死にました、ってイベント残ってる)
いや、そんなことよりそんな古いマシン捨てろって話なんだけどね(core2)
それにしてもapplemapの表示は何やってるんだろう・・・
Re: (スコア:0)
firefox 95 (64bit)にしたけど駄目でした。
chromeで表示させてみようか。
# いや、セキュリティ云々じゃなくてビデオドライバのAPIが腐ってるんでしょうけどね。
# どうもビデオドライバだけ死んでるらしくてNumLOCKのLEDなんか反応してるし
# 画面が死ぬだけみたいのでリモートアクセスなら操作できるかも
Re: (スコア:0)
chromeだとmap表示動作しました。
うーむ、firefoxが余計なことしすぎているのか? 凝りすぎなのか?
いやはや南友
高速化のためにmap側のスクリプトもfirefox側もいろいろやっているんでしょうねぇ
# chromeでも十分な速さでした
Re: (スコア:0)
ブラックアウトはないけど、うちの古いMacMini2012もYahoo地図読み込むとFirefoxが落ちるようになって、Safariは落ちないもののロードが終わらないから、再インストールとか試した結果特定のセキュリティパッチを当てるとWebGLが使えなくなるっぽかった。
だから多分グラフィックドライバ関連だと思うけど、古いしそろそろ買い換えるつもり。
ちなみにMacBookPro2018では問題ない。
どいうこと? (スコア:0)
プロセス間通信するよりメモリアクセスに常時監査入れるスレッドつこた方が早いみたいな話なん?
Re: (スコア:0)
プロセスに許可されていないメモリ領域にアクセスすると Segmentation fault を起こすとかの類の、CPU や OS に基本的に備わった機能を使う、と読んだ。
Re: (スコア:0)
ちゃんと読めてないけど、多分……。
WebAssemblyは、JavaVMやCLRみたいなスタックベースの仮想マシン。
で、Firefoxはソースコード(C++?)を一旦WebAssemblyバイナリにコンパイルしてから、wasm2cでC言語に戻して、ネイティブコードに再コンパイルして配布する。
一旦WebAssemblyを通すので、仮想マシンの高度なアクセス制御が使えるっぽい。
Re: (スコア:0)
アクセス制御使えるというよりは、実行時のアクセス制御が不要になるという理解のほうが近い。
アクセス制御を実行時ではなく、コンパイル時にやる。WASM上に出力される段階で、検証されたメモリアクセス以外が存在しないコードになってる。それを元にネイティブコード起すから、プロセスで分離しなくても不正アクセスが不可能なコードになる。
マルチタスクだけど、汎用OS使うほどじゃないという、半端に高機能な組込みで環境とかでは、全タスクを同一権限で安全に動かしつつ、大きなパフォーマンス改善する手段として、ときどき使われる。
MSもSingularity [wikipedia.org]で、同じ発想の試験OS作ってる。OSからユーザーランドまでが全部同じメモリ空間にあるけど、不正アクセスは出来ない。