コンピューター セキュリティ研究者らは、最新の CPU に対する新たな一連の一時実行攻撃を発見しました。この攻撃により、ローカルの攻撃者が特権データにアクセスできるようになります。これは、今年初めに Spectre と Meltdown の脆弱性が報告された際になされた予測を裏付けるものです。
つまり、これらのプロセッサのセキュリティ欠陥は、脆弱なマシン上の悪意のあるユーザーやマルウェアによって悪用され、パスワード、暗号鍵、その他の機密情報を、本来アクセスできないはずのメモリから盗み出す可能性があります。現時点では、これらの脆弱性を悪用した悪質なソフトウェアは確認されていませんが、それでも半導体業界にとって警鐘となり、シリコンの再設計とツールチェーンの変更を迫っています。
これらの最新の脆弱性を発見したビットの専門家には、グラーツ工科大学、ルーヴェン・カトリック大学の imec-DistriNet、ウィリアム・アンド・メアリー大学の Claudio Canella、Jo Van Bulck、Michael Schwarz、Moritz Lipp、Benjamin von Berg、Philipp Ortner、Frank Piessens、Dmitry Evtyushkin、Daniel Gruss などが含まれており、その中にはオリジナルの Spectre および Meltdown の脆弱性を発見したコンピューター科学者も含まれています。
彼らは、Spectre、Meltdown、および Foreshadow 攻撃を説明するには、「投機的実行」などの他の用語よりも「一時実行」という用語の方が適していると主張しています。
「『投機的実行』は、特定のイベント(条件分岐、戻りアドレス、メモリの曖昧性解消など)の結果の推測に基づく攻撃、アウトオブオーダー実行、パイプライン化の総称として誤って使用されることが多い」と、彼らは火曜日にArXivで配布された論文で説明している。
しかし、SpectreとMeltdownはCPUの根本的に異なる特性を悪用します。CPUはSpectreに対して脆弱であってもMeltdownに対して脆弱ではない場合があり(例:AMD)、その逆も同様です。両方の攻撃に共通する唯一の特性は、一時的な実行ドメイン、つまりコミットされない実行内の副作用を悪用することです。
それほど壮大ではない7つ
研究者らは、7つの新たな一時実行攻撃について説明しました。これらの攻撃は、2つの新たなMeltdown亜種(Intel版Meltdown-PK、IntelおよびAMD版Meltdown-BR)と、Spectre-PHT(境界チェックバイパス)およびSpectre-BTB(分岐ターゲットインジェクション)として知られる、既に公開されている脆弱性に対する5つの新たなSpectre分岐予測器誤学習戦略で構成されています。研究者らは、チップベンダーに対し、調査結果を責任を持って開示したと述べています。
Spectre が分岐予測を利用して一時データにアクセスするのに対し、Meltdown は CPU 例外の後に一時的な順序外命令を評価してカーネル メモリを読み取ることで、アプリケーションとオペレーティング システム間の分離を回避します。
これまで、Meltdown の亜種として、Meltdown-US (Meltdown)、Meltdown-P (Foreshadow)、Meltdown-GP (Variant 3a)、Meltdown-NM (Lazy FP)、Meltdown-RW (Variant 1.2) の 5 つが公開されていました。
研究者らはさらに2つの方法、Meltdown-PK と Meltdown-BR を提案している。
Meltdown-PK 攻撃は、Intel Skylake-SP サーバー チップのユーザー空間のメモリ保護キー (PKU) と呼ばれる防御を破ることができます。PKU により、プロセスはシステム コールやハイパー コールを使用せずに、ユーザー空間からメモリのページのアクセス許可を変更できます。
カーネルメモリリークを引き起こすインテルプロセッサの設計上の欠陥により、LinuxとWindowsの再設計が必要に
続きを読む
「メルトダウンPKは、攻撃者が(ブラックリストなどによって)命令を実行できない場合でも、攻撃者が包含プロセスでコード実行権限を持っている場合、PKU分離を回避できることを示していますwrpkru
」と研究者らは説明しています。「さらに、権限レベルをまたぐメルトダウン攻撃の亜種とは異なり、ソフトウェアによる回避策はありません。Intelは、新しいハードウェア、あるいはマイクロコードのアップデートによってのみ、メルトダウンPKを修正できます。」
Meltdown-BRは、境界チェックを回避する手段を提供します。境界チェックは、境界外の値が見つかった場合に例外を発生させます。Meltdown-BRは、このような例外発生後の一時的な実行を利用して、通常はアクセスできない境界外の秘密情報を取得します。
研究者らは、MPX対応のIntel Skylake i5-6200U CPU、AMD 2013 E2-2000、AMD 2017 Ryzen Threadripper 1920Xに対して攻撃を実証しました。研究者らによると、メルトダウン型の一時実行攻撃がAMDハードウェアの遅延例外処理を悪用できることが示されたのは今回が初めてとのことです。
Spectre-PHT 攻撃および Spectre-BTB 攻撃における分岐予測器の誤学習に対する新しいアプローチについては、研究者らは、Intel Skylake i5-6200U および Haswell i7-4790、AMD Ryzen 1950X および Ryzen Threadripper 1920X、Arm ベースの NVIDIA Jetson TX1 で概念実証エクスプロイトをテストしました。
全てのベンダーがこれらの亜種に対して脆弱なプロセッサを提供していると彼らは主張している。Spectre-BTBについても同様だが、潜在的な攻撃シナリオははるかに限定的だと考えている。現在、これらの問題に対するCVEは割り当てられていない。
ラララ、聞こえないよ!
インテルの広報担当者は、 The Register宛ての電子メールによる声明で、今回の調査結果を一蹴した。「この論文で指摘されている脆弱性は、スペクターとメルトダウンに対する既存の緩和策を適用することで完全に対処できます。これには、本稿で既に指摘されているものや、他のチップメーカーが他の場所で指摘しているものも含まれます」とインテルの広報担当者は述べた。
「顧客保護は当社にとって引き続き重要な優先事項であり、グラーツ工科大学、imec-DistriNet、ルーヴェン・カトリック大学、ウィリアム・アンド・メアリー大学のチームによる継続的な研究に感謝しています。」
Armの広報担当者は、「学術研究者によって最近特定されたSpectreとMeltdownの脆弱性は、ここにあるArmのホワイトペーパーで以前説明されている既存の緩和策を適用することで対処できます」と述べた。
AMDはコメント要請にすぐには応じなかった。
チップベンダーは影響を受けないと主張しているが、これは研究者らの発表内容と矛盾している。「すべての緩和策を有効にした状態でも、Meltdown-BR、Meltdown-PK、Meltdown-RWを実行することができた」と研究者らは論文で述べており、「一部の一時実行攻撃は公開されたパッチでは効果的に緩和されず、また他の攻撃は見落とされていたために緩和されていない」と付け加えている。
セキュリティ状況を複雑にしているのは、既存の緩和策がパフォーマンスを著しく低下させるという理由で無効化する人もいることです。研究者の一人であるグラーツ工科大学のダニエル・グルス助教授は、この論文の論点の一つは、一時実行攻撃の根本原因を解決するためのより良い修正を推進することだとTwitterで述べています。
PortSmash攻撃によりインテルのハイパースレッディングCPUに穴が開き、秘密の暗号鍵が流出
続きを読む
SpectreとMeltdownが初めて公開された際に示唆されたように、より適切な修正にはハードウェアの再設計が必要になる可能性があります。HackerOneのセキュリティ研究者であるCody Brocious氏は、 The Register宛ての電子メールで次のように述べています。「プロセッサで投機的実行が行われる限り、この種のバグは発見され続けるでしょう。ハードウェアレベルで副作用のない操作を実行することは不可能であり、そのような操作が副作用がないと見せかける抽象化は常にセキュリティ問題を引き起こします。」
NetSpectre と呼ばれるリモート Spectre 攻撃が他の研究者によって提案されていますが、これらの最新の手法は今のところローカルな脅威であると思われます。
「今のところ、リモート攻撃を仕掛けるのは非常に困難だ」とグラス氏はThe Registerへの電子メールで述べた。
「この公開によって、一時実行攻撃の脅威には何ら変化はありません。私たちがコミュニティに貢献しようとした主な点は、新たな亜種を分析・分類するための明確な方法、そして防御技術を検証・分析するための明確な方法を提供することでした。つまり、具体的な防御技術が何を提供するのかをより適切に評価できるようになったのです。」®