2018/08/28

インテルプロセッサの新たな脆弱性「Foreshadow」

main boad cpu
2018 年 8 月 28 日 Emil Hozan 著

インテルの Core および Celeron プロセッサラインに、「Foreshadow」、あるいは「L1TF(L1 Terminal Fault)」と呼ばれる、投機的実行の新たな脆弱性が発見されました。この攻撃によって、攻撃者がファイル、コンピュータのメモリやサードパーティのクラウドに保存されている、暗号鍵、写真、場合によってはパスワードを含む機密データにアクセスされてしまう恐れがあります。投機的実行とは、プロセスの次の処理をプロセッサが学習に基づいて推測するもので、この推測が正しければ、リソースの節約につながります。推測が正しくなかった場合、そのデータが破棄されますが、余分なデータが残ってしまう可能性があります。Foreshadow は、インテルのプロセッサ内の SGX(Security Guard Extension)を標的にします。

SGX は、BIOS、VMM(仮想マシンマネージャ)、オペレーティングシステム、ドライバが攻撃された場合もコードが公開されたり変更されたりするのを防ぐという考え方に基づいて設計されています。これによって、プログラムがチップのリージョンを安全な飛び地としてコードを実行する目的で確保し、オペレーティングシステムがアクセスしたり、変更したりできないようにできます。したがって、コンピュータそのものが攻撃された場合も、プライベートデータ用の安全な場所が存在します。SGX は、認証キーと呼ばれる仕組みを使って重要な整合性チェックを実行できるようにしており、Spectre や Meltdown ではこの方法がうまく機能しますが、これは、Foreshadow にも該当します。さらには、この SGX の機能を利用するユーザは少ないため、ほとんどの一般ユーザにとって、現実的にこれが大きな問題となることはありません。

Spectre/Meltdown のパッチを適用していれば、Foreshadow についても同様に保護されます。また、SGX を利用していないのであれば、現実として問題はありません。Cascade Lake 次期プロセッサリリースで、この問題がハードウェアレベルで修正されるものと予想されます。インテルは、これらの問題を解決するマイクロコードを発表しており、5 月と 6 月のリリースですでに公開されています。さらには、このリスクを修正するための協議を Microsoft や Linux などの主要開発元と進めています。

この脆弱性でもう 1 つ考えなければならないのは、異なる仮想マシン間の境界を突破される恐れがある点であり、仮想マシンのサービスプロバイダにとっては、これが大きな脅威となります。Hyper-V や ESXi の仮想環境を利用している場合は、一般のエンドユーザより真剣にこの問題の影響について考える必要があります。AMD Epyc プロセッサを使用する環境にはこの問題の影響はなく、AMD は顧客に対して、Foreshadow 関連のソフトウェア対策を実装するべきではないと述べています。

参考資料

Bulck, J. V. 他共著、「Foreshadow:一時的 Out-of-Order 実行でインテル SGX の鍵を取得」
出典:https://foreshadowattack.eu/foreshadow.pdf

Hachman, M. 著(2018 年 8 月 15 日)、「Foreshadow が Spectre に似た戦術でインテル CPU を攻撃(ただし、影響を受けるユーザは限定的)」
出典:https://www.pcworld.com/article/3297419/security/foreshadow-l1tf-is-a-speculative-execution-exploit-targeting-intel-core-chips.html

Newman, L. H. 著(2018 年 8 月 14 日)、「Spectre に似た脆弱性がインテルプロセッサの最もセキュアな要素を攻撃」
出典:https://www.wired.com/story/foreshadow-intel-secure-enclave-vulnerability/