eBPFの脆弱性により、Spectre攻撃に対するバイパス保護が可能になります

昨日、ブログで次のニュースを公開しました eBPFドライバーを作成するためのライブラリーAya Rustで、これの目的は、より安全なドライバーを作成することです。 メモリを確保するためのProssimoプロジェクト LinuxカーネルとRustの比較(次の月に多くのことを話すXNUMXつの素晴らしいプロジェクト)。

そして、それ 短期間のうちに、さまざまな脆弱性が報告されています その中で eBPFのバグを利用する そして、それはカーネル開発者が作業を停止していない問題であり、おそらくRustが解決策です。

このトピックに触れる理由は 最近、彼らが特定したというニュースが発表されました Linuxカーネルの「その他」の脆弱性(CVE-2021-33624)の Spectreクラスの脆弱性に対する保護をバイパスします。 これにより、eBPFサブシステムを使用して、特定の操作の実行を推測するための条件を作成した結果として、メモリの内容を判別できるようになるためです。

脆弱性が言及されている これは、BPFプログラムのエラーや無効なアクティビティを検出するために使用されるベリファイアの障害が原因で発生します。。 ベリファイアは可能なコード実行パスをリストしますが、命令セットアーキテクチャのセマンティクスの観点から無効な分岐オプションは無視します。

BPFプログラムを実行すると、ベリファイアによって考慮されなかった分岐オプションがプロセッサによって誤って予測され、投機的モードで実行される場合があります。

影響を受けるシステムでは、特権のないBPFプログラムがこの脆弱性を悪用して、サイドチャネルを介して任意のカーネルメモリ(したがってすべての物理メモリ)のコンテンツをフィルタリングできます。

例えば 「ロード」操作を分析するとき、ベリファイアは命令がレジスタを使用していると想定します 値が常に指定された制限内にあるアドレスを使用して、 しかし、攻撃者は条件を作成できます その下で プロセッサは投機的に取引を実行しようとします 検証条件を満たしていないアドレスを使用している。

スペクター攻撃 特権コードに特定のスクリプトが存在する必要があります、命令の投機的実行につながります。 実行のために渡されるBPFプログラムを操作することにより、eBPFでそのような命令を生成し、サイドチャネルを介してカーネルメモリの内容と物理メモリの任意の領域をフィルタリングすることができます。

さらに、 パフォーマンスへの影響についてメモを付けることができます 資産の Spectreクラスの脆弱性から保護するため。

このメモは結果をまとめたものです Firefoxで繰り返しにくいエラーをデバッグするためにMozillaによって作成されたデバッガー最適化rr(記録と再生)。 ディレクトリの存在を確認するために使用されるシステムコールをキャッシュすると、テストプロジェクトの「rrsources」操作が3分19秒から36秒に短縮されました。

最適化の作者はチェックすることにしました どのくらい変化しますか Spectre保護を無効にした後のパフォーマンス。 パラメータ「mitigations = off」を使用してシステムを起動した後、最適化なしの「rrsources」の実行時間は2分5秒(1.6倍高速)で、最適化ありの場合は33秒(9%高速)でした。

不思議なことに、 Spectre保護を無効にすると、実行時間が短縮されるだけではありません 1.4倍のカーネルレベルコードの(2分9秒から1分32秒まで)、 また、ユーザースペースでの実行時間が半分になりました (1分9秒から33秒)、おそらく効率の低下が原因で、スペクター保護が有効になっている場合、CPUキャッシュとTLBがリセットされます。

この問題は、4.15カーネルリリース以降に発生しており、 パッチの形で修正されました、現時点ではまだすべてのディストリビューションに到達しているわけではないため、最近では、通知を受け取ったらすぐに関連する更新を行うことをお勧めします。

Si あなたはそれについてもっと知りたい、詳細を確認できます 次のリンクで。


コメントを残す

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

*

*

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