新しい攻撃は、IntelおよびARMプロセッサのSpectreホールに対するハードウェア防御メカニズムをバイパスします
新しい攻撃は、IntelおよびARMプロセッサのSpectreホールに対するハードウェア防御メカニズムをバイパスします
悪用するのは簡単ではありませんが、この概念実証は、一部のIntelおよびARMプロセッサが依然としてサイドチャネル攻撃に対して脆弱であることを示しています。
Spectreと呼ばれる大きな欠陥を取り除くために過去数年間にIntelおよびARMプロセッサに導入されたハードウェア対策は、思ったほど強力ではありません。科学者たちは防御機構を克服できる新しい攻撃方法を開発しましたが、その使用は元のワームホールほど簡単ではありません。
VUアムステルダム(VUSec)のシステムおよびネットワークセキュリティグループの研究者によって発見された新しい攻撃は、IntelとARMが異なる名前を付けているため、Spectre-BHI(ブランチヒストリーインジェクション)またはSpectre-BHB(ブランチヒストリーストア)と呼ばれます。調査チームによると、これは2017 Spectre v2攻撃の拡張であり、Spectre-BTI(Branch Target Injection)とも呼ばれ、Spectre v2と同様に、特権カーネルメモリスペースから機密情報を漏洩する可能性があります。
また確認してください:
VUSecの研究者による概念実証のエクスプロイトは、非特権アカウントを使用して/ etc/shadowからrootパスワードハッシュをリークすることです。/ etc / shadowファイルは、管理ルートアカウントからのみアクセスできるLinux上のシステムファイルです。基本的に、このエクスプロイトはカーネルにファイルをメモリにロードさせ、通常は非特権プロセスによるアクセスから保護されますが、Spectre-BHI攻撃を使用してそのコンテンツにアクセスしてリークします。これは、ユーザーモードアプリケーションとメモリスペースを特権カーネルメモリスペースから分離する、最新のオペレーティングシステムの基本的なセキュリティ境界の重大な違反です。
スペクターとは何ですか?
Spectreは、2017年1月に最初に明らかになった脆弱性のクラスであり、投機的実行と呼ばれる最新のCPUパフォーマンス機能から発生します。この機能では、CPUは、プログラムが条件分岐にアクセスして命令を実行するときにたどるパスを事前に予測しようとします。このトラックは早く。内部アルゴリズムに基づく予測が間違っていることが判明した場合、プロセッサキャッシュに保存されている結果は破棄されます。Spectreやそれに続く他の多くのような投機的実行攻撃は、このメカニズムを使用して、サイドチャネルとして機能する一時キャッシュから情報を漏洩します。
「スペクターが発見されたとき、最も危険なタイプのスペクターである分岐ターゲットインジェクション(BTIまたはSpectre-v2)は、すべての許可レベルで簡単に使用できました」とVUSecの研究者は説明しています。「たとえば、非特権のユーザーランド攻撃者は、任意の子ターゲットを中間ユーザーランド分岐予測子に渡し、カーネルに注入されたコードターゲットに投機的にジャンプさせ、そこにあるコードを実行させる可能性があります。」
リスクを軽減するために、GoogleやLinuxカーネルメーカーなどのソフトウェアベンダーは、retpolineなどのソフトウェアソリューションを開発しました。効果的でしたが、パフォーマンスが大幅に低下したため、後のプロセッサメーカーがハードウェアセキュリティを開発しました。IntelのソリューションはEIBRSと呼ばれ、ARMはCSV2です。
「これらのソリューションは複雑です。元の研究記事はこのリンクから入手できますが、その要点は、予測子が「何らかの形で」ターゲットが実行される許可レベル(ユーザー/カーネル)を追跡することです」とVUSecの研究者は説明します。「そして、ご想像のとおり、ターゲットがより低い特権レベルに属している場合、カーネルはそれを使用しません(つまり、カーネルの制御フローのために投機的に押収される可能性のある、攻撃者が提供したランダムなコードの場所はもうありません)。 「」
ただし、問題は、CPUプレディクターがグローバル履歴に依存して投機的実行のターゲットエントリを選択することです。VUSecの研究者が示したように、このグローバル履歴は破損する可能性があります。つまり、元のSpectre v2では、攻撃者がターゲットコードの場所を物理的に挿入し、カーネルによってそのコードをステルスに実行することができましたが、新しいSpectre-BHI / BHB攻撃により、カーネルが誤った予測を行い、何か面白いものを実行する可能性があります。すでに存在するガジェットまたはコードスニペット。過去に作成されたものですが、データ漏洩につながる可能性があります。
「InteleIBRSとArmcVS2が破損していませんか?これは、セキュリティ対策が意図したとおりに機能していることを意味しますが、残りの攻撃対象領域は、メーカーが当初想定していたよりも重要です。[…]ただし、使用できるツールを見つけることは、ますます重要になっています。」攻撃者はアクセス許可の制限を超えてターゲットターゲットを直接注入できないため、以前よりも困難になっています。」
新しいSpectre-BHIバグの軽減
Intelは、新しいSpectre-BHIを、マルチ特権バリアントの場合はCVE-2022-0001、マルチ特権バリアントの場合はCVE-2022-0002として識別しました。ARMは、両方のバリアントでCVE-2022-23960と説明しています。
Intelによると、Atomファミリのプロセッサを除いて、同社のプロセッサのほとんどが影響を受けています。ARMの場合、弱いCPUはCortex-A15、Cortex-A57、Cortex-A72、Cortex-A73、Cortex-A75、Cortex-A76、Cortex-A76AE、Cortex-A77、Cortex-A78、Cortex-A78AE、Cortex-A78Cです。 Cortex-X1、Cortex-X2、Cortex-A710、Neoverse N1、Neoverse N2、NeoverseV1。
両社は現在、推奨事項を作成し、ソフトウェア対策を提供しています。ARMには、システムに応じて5つの異なる緩和ソリューションがあります。
Linuxのエクスプロイトでは、VUSecの研究者はeBPFを使用しました。これは、カーネルのバージョン4.4以降で利用可能なテクノロジであり、オペレーティングシステムのカーネルでプログラムをサンドボックス化できます。eBPFは根本的な問題の一部ではなく、データを漏洩する可能性のある他のコードツールを見つけることができますが、非特権eBPFの存在は、「投機的(および他の)攻撃を大幅に促進します」と研究者は述べています。このため、無効にすることをお勧めします。一部のLinuxディストリビューションでは、デフォルトで無効になっています。
出典:CSO
こちらもご覧ください
。