- 【AM4】AMD Ryzen 9/7/5/3 Part519
809 :Socket774 (ワッチョイ ebdc-rkQs)[sage]:2022/08/11(木) 16:27:26.20 ID:moh2xd5f0 - アウトオブオーダー実行を行う現代のスーパースカラ・マイクロプロセッサは、その性能を高めるために様々な方法を用いている。
同時マルチスレッド(1つのCPUコアで複数のスレッドコードを実行すること)は、プロセッサの性能を向上させる最も効率的な方法の1つである。 しかし、AMDのSMTの実装は、4096ビットのRSA鍵をかなり迅速に明らかにできる、いわゆるSQUIPサイドチャネル攻撃に対して脆弱なようです。 AMDのZenマイクロアーキテクチャはすべて、実行ユニットごとに個別のスケジューラキューを備えている(AppleのM1シリーズCPUも同様)。 これらのスケジューラはそれぞれ別のキューを保持しており、そこから対応する実行ユニットに対してμopsが発行される。 SMTを有効にしたAMDのスケジューラは、ワークロード間に干渉をもたらし、同じコア上の兄弟スレッド間のパフォーマンスカウンタと シリアライズされていないタイマ読み取りを介して、スケジューラのキュー競合を観察する扉を開いてくれます。 このようなプライミングとプロービングにより、スケジューラキューに対するサイドチャネル攻撃を行うことができます。 研究者は、この手法を「Scheduler Queue Usage (i.e. occupancy) via Interference Probing」、または「SQUIP」と呼んでいます。 この脆弱性は、Zen 1/2/3マイクロアーキテクチャを採用したAMDの既存のRyzenプロセッサすべてに影響を及ぼします。 この脆弱性を悪用して、同じCPUコアで処理されるデータにアクセスするには、犯人はまずそのCPUコアで悪意のある コードを実行する必要がありますが、これは特に簡単なことではありません。 一方、SQUIPを完全に緩和するには、AMDの既存のZenベースのプロセッサすべてでSMT技術を無効にする必要があるかもしれず、これはその性能を著しく低下させることになります。 グラーツ工科大学のコンピュータ研究者であるダニエル・グルス氏は、The Registerとの対話で、 「あなたと同じホストとCPUコアで実行する攻撃者は、AMD CPUの分割スケジューラ設計により、 あなたがどの種類の命令を実行しているかをスパイすることができます」と説明しました。 "AppleのM1(おそらくM2も)も同じ設計を踏襲しているが、まだCPUにSMTを導入していないため影響はない。"
|