RLBox、Mozillaで使用される新しいライブラリ分離テクノロジー

Firefoxロゴ

スタンフォード大学の研究者カリフォルニア大学 サンディエゴで y la テキサス大学 オースティンで 彼らは開発しました 彼らが名前を付けたツールのセット «RLBox»、 その 追加レベルの断熱材として使用できます 関数ライブラリの脆弱性をブロックします。

RLBoxは、サードパーティライブラリのセキュリティ問題を解決することを目的としています 開発者によって制御されていないが、メインプロジェクトが危険にさらされる可能性のある脆弱性。

Mozillaは、Linux用のFirefox74ビルドでRLBoxを使用することを計画しています。 の編集 Firefox75のmacOS Graphiteライブラリの実行を分離する、ソースを表す責任があります。

同時に、RLBoxはFirefoxに固有のものではなく、任意のプロジェクトの任意のライブラリを分離するために使用できます。

RLBoxについて

操作機構 RLBoxは、C / C ++コードを分離されたライブラリから中間のWebAssemblyコードにコンパイルすることに要約されます。 低レベル。WebAssemblyモジュールとして発行され、その権限はこのモジュールにのみバインドするように設定されます(たとえば、文字列を処理するためのライブラリはソケットまたはネットワークファイルを開くことができません)C / C ++コード変換WebAssemblyは、wasi-sdkを使用して実行されます。

直接実行の場合、 WebAssemblyモジュールは、Lucetコンパイラを使用してマシンコードにコンパイルされます また、アプリケーションの残りのメモリとは別の「ナノプロセス」で実行されます。 Lucetコンパイラは、WebAssemblyを実行するためにFirefoxで使用されるCraneliftJITエンジンと同じコードに基づいています。

組み立てられたモジュールは、別のメモリ領域で動作します また、残りのアドレススペースにはアクセスできません。 ライブラリの脆弱性を悪用した場合、攻撃者は制限され、メインプロセスのメモリ領域にアクセスしたり、サンドボックスの外部に制御を移したりすることができなくなります。

開発者向けに高レベルのAPIが提供されており、ライブラリ関数を分離モードで呼び出すことができます。

たくさん WebAssemblyコントローラーは追加のリソースをほとんど必要としません それらとの対話は、通常の関数を呼び出すよりもそれほど遅くはありません(ライブラリ関数はネイティブコードの形式で実行され、サンドボックス環境との対話の過程でデータをコピーおよび検証するときにのみ過負荷が発生します) 。

分離されたライブラリの機能を直接呼び出すことはできません。それらにアクセスするには、レイヤーを使用する必要があります。 invoke_sandbox_function()。

次に、ライブラリから外部関数を呼び出す必要がある場合、これらの関数は、register_callbackメソッドを使用して明示的に定義する必要があります(デフォルトでは、RLBoxは標準のライブラリ関数へのアクセスを提供します)。

安全なメモリ操作を保証するために、 コード実行を分離するだけでは不十分です また、 返されたデータストリームの検証を提供する必要があります。

隔離された環境で生成された値は、信頼できないものとしてマークされ、汚染されたタグによって制限され、「クリーンアップ」のために検証とアプリケーションメモリへのコピーが必要です。

クリーニングせずに、通常のデータを必要とするコンテキストで汚染されたデータを使用しようとすると(またはその逆)、コンパイル段階でエラーが発生します。

小さな関数引数、戻り値、および構造は、プロセスメモリとサンドボックスメモリの間でコピーすることによって渡されます。 大規模なデータセットの場合、メモリは分離された環境に割り当てられ、直接の「サンドボックス参照」ポインタがメインプロセスに返されます。

RLBoxの開発は、MITライセンスの下で配布されます。 RLBoxは現在LinuxとmacOSをサポートしています 後でWindowsと互換性があると予想されます。

MozillaがFirefoxに実装する予定のこの新しいテクノロジーについて詳しく知りたい場合は、その開発を参照し、APIをテストすることができます。 次のリンクで。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。