GoogleのエンジニアがLVI攻撃からプロセッサをソフトウェアで保護することを提案

少し前に、Intel プロセッサの投機的アーキテクチャにおける新しい脆弱性について知られるようになりました。 負荷値注入 (LVI)。 インテルは、LVI の危険性とそれを軽減するための推奨事項について独自の意見を持っています。 このような攻撃に対する独自のバージョンの保護 предложил Googleのエンジニア。 ただし、プロセッサのパフォーマンスを平均 7% 低下させることで、セキュリティを犠牲にする必要があります。

GoogleのエンジニアがLVI攻撃からプロセッサをソフトウェアで保護することを提案

先ほど、LVI の危険性は研究者によって発見された特定のメカニズムにあるのではなく、初めて明らかになった LVI サイドチャネル攻撃の原理そのものにあると述べました。 このようにして、これまで誰も疑っていなかった脅威に対して新たな方向性が開かれました(少なくとも、これは公の場では議論されていませんでした)。 したがって、Google スペシャリストである Zola Bridges の開発の価値は、彼のパッチが LVI 原則に基づいた未知の新しい攻撃の危険性を軽減するという事実にあります。

以前は GNU プロジェクト アセンブラー (GNUアセンブラ) LVI 脆弱性のリスクを軽減する変更が加えられました。 これらの変更は以下を追加することで構成されています バリアの指示 LFENCE。バリアの前後のメモリ アクセス間の厳密なシーケンスを確立します。 Intel の Kaby Lake 世代プロセッサの 22 つでパッチをテストしたところ、パフォーマンスが最大 XNUMX% 低下することがわかりました。

Google 開発者は、LLVM コンパイラ セットに LFENCE 命令を追加するパッチを提案し、その保護機能を SESES (Speculative Execution Side Effect Suppression) と呼びました。 彼が提案した保護オプションは、LVI 脅威と他の同様の脅威 (Spectre V1/V4 など) の両方を軽減します。 SESES 実装により、コンパイラはマシン コード生成中に適切な場所に LFENCE 命令を追加できます。 たとえば、メモリからの読み取りまたはメモリへの書き込みを行う各命令の前にこれらを挿入します。

LFENCE 命令は、前のメモリ読み取りが完了するまで、後続のすべての命令のプリエンプションを防ぎます。 明らかに、これはプロセッサのパフォーマンスに影響します。 研究者は、SESES 保護により、保護されたライブラリを使用してタスクを完了する速度が平均 7,1% 低下することを発見しました。 この場合の生産性低下の範囲は 4 ~ 23% でした。 研究者の当初の予測はさらに悲観的で、パフォーマンスが最大 19 倍低下するというものでした。



出所: 3dnews.ru

コメントを追加します