4
IntelとArmのプロセッサに、検出困難なSpectre脆弱性が2つ発見される

ウラジミール・キリアンスキー氏とカール・ウォルドスパーガー氏の2人の研究者が、Intelプロセッサに新たに2つのSpectre脆弱性を発見しました。Spectre 1.1とSpectre 1.2の2つの脆弱性は、IntelおよびArmプロセッサに影響を与え、AMD CPUにも影響を与える可能性があります。

スペクター 1.1

研究者らが発見した最初の脆弱性は、今年初めにほとんどの最新プロセッサで発見されたオリジナルのSpectre v1(最初の亜種)投機的実行脆弱性の亜種です。Spectre 1.1は投機的ストアを利用して投機的バッファオーバーフローを引き起こし、データやコードポインタを改ざんする可能性があります。この種の攻撃は、既存のSpectre 1.0の緩和策を直接回避することも、制御フローをリダイレクトすることで回避することも可能です。

IntelとArmはすでに自社のプロセッサがSpectre 1.1に対して脆弱であることを認めています。AMDはまだ声明を発表していませんが、AMDのCPUにも影響が出る可能性があります。

スペクター 1.2

研究者によると、Spectre 1.2は、遅延読み取り/書き込み保護の回避に依存するという点でSpectre v3に類似しています。Spectre 1.2の脆弱性を悪用する攻撃は、読み取り専用データ、コードポインタ、そして制御フロー緩和メタデータを含むコードメタデータを上書きする可能性があります。その結果、ハードウェアによるサンドボックス保護は無効になります。

研究者らは、IntelプロセッサとArmプロセッサの両方でSpectre 1.2攻撃を検証しました。また、ハードウェア修正では、理想的にはトランスレーション・ルックアサイド・バッファ(TLB)エントリをチェックして書き込み権限を確認する必要があると示唆しました。

軽減の可能性は低い

研究者らは論文の中で、現時点では効果的な静的解析やコンパイラインストルメンテーションではSpectre 1.1を検出または軽減することすらできないと指摘しています。また、Spectre v1の緩和策は、この脆弱性に対する攻撃の可能性の一部しか阻止できないと付け加えています。

研究者らは次のように述べた。

開発者が緩和策の必要性を手動で判断しなければならないようなソフトウェア緩和策に頼らざるを得ない場合、投機的実行攻撃に何十年も直面することになるでしょう。1988年に古典的なバッファオーバーフローの公開デモンストレーションが行われて以来、過去30年間、ソフトウェア開発者への教育が限られた成果しかあげられなかったことは、警告となるでしょう。

明るい兆しは、同じコーディングパターンが投機的バッファオーバーフローに対して脆弱であるということです。これらを防ぐための良い第一歩は、スタックオーバーフロー、ヒープオーバーフロー、整数オーバーフローなどに対する既存のチェックを強化することです。

研究者らが実際に示唆しているのは、第一に、ソフトウェアによる緩和策はアプリ開発者による実装に大きく依存しており、これまでの例から判断すると、ほとんどのアプリケーションは保護されないということ、第二に、Spectre の欠陥の発生を阻止できる真の長期的な修正にはハードウェアの変更が必要になるということだ。