おすすめ記事

【AMD】Ryzen 5000などに「Spectre」に似た投機実行の脆弱性

引用元: 【AMD】Ryzen 5000などに「Spectre」に似た投機実行の脆弱性 [樽悶★]



画像引用元: AMD Ryzen 5 5600X with Wraith Stealth cooler 3.7GHz | Amazon

1: 名無しさん 2021/04/06(火) 19:52:08.29 ID:x2aYyrzP9
 AMDが3月に公開したホワイトペーパーにおいて、Zen 3アーキテクチャのCPU(Ryzen 5000やEPYC 7003シリーズ)に新たに実装された「Predictive Store Forwarding」(PSF)機能に、分岐予測を悪用したサイドチャネル攻撃手法「Spectre」に似た潜在的な脆弱性があることが明らかにされた。

 PSFはハードウェアベースによるマイクロアーキテクチャレベルの最適化機能で、ロード/ストア間の依存関係を予測し、コード実行のさいの性能を向上させられる。しかしこの予測が外れた場合、Spectre v1/v2/v4と同じようなサイドチャネル攻撃の手法が悪用できてしまう可能性があるという。

 CPUは、ストア命令で最近書き込まれたアドレスに対し、ロード命令を実行するのが一般的。このため、最近の多くのプロセッサでは「Store-To-Load-Forwarding(STLF)」と呼ばれる手法を実装していて、ストア命令のデータを待機せずにロードを行なう。このさいにロードとストアの両方のアドレスを比較して一致を判断するのだが、PSFではこの関係を待たずに推測を行なう。

 ほとんどの場合、PSFによる予測は正確なのだが、いくつかのケースにおいて正確ではない推測をしてしまう。1つはプログラムの実行中にストアとロードのいずれかのアドレスが変更された場合、もう1つはPSF予測の子構造に依存関係のないエイリアスがある場合だ。このため分岐予測が外れたさいに、セキュリティコントロールを回避でき、Spectreのようなサイドチャネル攻撃が行なえてしまう。

 このような攻撃に対し、サンドボックスのようなソフトウェアによる保護機構では対策が不十分で、データが漏洩するおそれがある。一方でハードウェアのメカニズムを使い、アドレス空間を完全に分離させた場合、PSFの脆弱性は発生しない。

 それでもソフトウェアサンドボックスの手法を使いつつ、セキュリティを確保したい場合、制御ビットを変更することでこの機能無効にできる。「MSR 48h bit 2」は投機的ストアバイパス無効(SSBD)の制御、「MSR 48h bit 7」はPSF無効(PSFD)で、値を1にすることで無効にされる。

 PSFの実装は性能向上と引き換えにセキュリティにも影響するが、現在このような攻撃を行なうコードは確認されておらず、セキュリティリスクの可能性は低い。セキュリティ対策が必要な場合、アドレス空間分離などの手法を使えばよいため、AMDは引き続きPSF機能を有効にすることを推奨している。

Impress Watch 4/6(火) 10:36配信
https://headlines.yahoo.co.jp/hl?a=20210406-00000042-impress-sci
https://amd-pctr.c.yimg.jp/r/iwiz-amd/20210406-00000042-impress-000-1-view.jpg

23: 名無しさん 2021/04/06(火) 20:04:09.34 ID:5DzxmsMu0
>>1,11
元のSpectreのほうがヤバいよ
早く対策しきってね

65: 名無しさん 2021/04/06(火) 20:41:37.10 ID:rxBY2Oge0
>>1
Ryzen3 2200Gで粘るわ

3: 名無しさん 2021/04/06(火) 19:53:14.45 ID:xrbsMRhW0
Apple Siliconしか勝たん

4: 名無しさん 2021/04/06(火) 19:53:17.94 ID:oNk5qQyl0
アマゾンで激安ででてたやつだよな、これ
そんで買ったやつが歓喜してた

6: 名無しさん 2021/04/06(火) 19:53:37.19 ID:0/rbASxS0
わかりやすく通訳お願いします

11: 名無しさん 2021/04/06(火) 19:56:25.32 ID:LoZuoEQh0
>>6
AMDerが必死にintel sageしてたネタがそっくりそのまま帰ってきた

41: 名無しさん 2021/04/06(火) 20:18:29.13 ID:aLTXg3sV0
>>11
違う
インテルはアウトだがAMDのは可能性があるかな…ぐらいのレベル

42: 名無しさん 2021/04/06(火) 20:18:56.95 ID:QwN/bEaZ0
>>6
CPUが仕事をする時に複数のコアを使う。コアは言ってみれば仕事をするチームで、チームは流れ作業で仕事をしている。

でも現実のCPUの中では現実の会社と同様に前の段階が終わるまでも待ちとか、他のチームが終わるまでの待ちで暇してる奴が大量に発生している。

そこで、役に立つかどうかわからないけど、とりあえず先々にやるかもしれないことを先にやらしておこうという考えが出る。
これは投機的実行と呼ばれる。実際に役に立つのは十回に一回もない(amdはそのくらいあると言っているがない〕けど、逆に言えば、統計的には余ってるリソースで1割近い能力向上ができるので、使われている。

で、この時実行される作業は実際のプログラムからの指示で実行するものではないので、プログラムの指示だった場合になされる諸々のチェックが回避されることがある。
で、悪意のプログラムを分解して少しづつ投機的実行で実行すると悪意のプログラムが普通ならなされるチェックを回避して実行ができる。

理論的には可能だし、一部検証サンプルも作られている。

ただ、現実の脅威にはなっていないし、性能は上がるから次のCPUにもつけときました。嫌ならお客様の方で切ってねという話。

50: 名無しさん 2021/04/06(火) 20:25:00.92 ID:0/rbASxS0
>>42
ありがとう優しい人

おすすめ記事

52: 名無しさん 2021/04/06(火) 20:26:41.24 ID:UjqvWYPJ0
>>42
なるほど

61: 名無しさん 2021/04/06(火) 20:37:53.44 ID:IRwfY2dK0
>>42
わかりやすい
ありがとうパソコンのおじさん

74: 名無しさん 2021/04/06(火) 20:59:59.39 ID:kth5c7W80
>>42
頭いいひとありがとう~

85: 名無しさん 2021/04/06(火) 21:22:22.80 ID:njzyZ4dk0
>>42
こういうもっともらしいデタラメ書いて何が楽しいんだろ

87: 名無しさん 2021/04/06(火) 21:24:24.28 ID:tlyO8mJk0
>>85
全く解らんけど、デタラメなん?

104: 名無しさん 2021/04/06(火) 22:19:54.40 ID:OcO8tYQB0
>>87
訂正が必要なほど間違いは無いと思うよ。
これで間違った解釈をするなら読み手の問題だ。

107: 名無しさん 2021/04/06(火) 22:36:45.74 ID:T0uhwe940
>>104
わかりやすい説明と思う。

ただ、投機的実行が10回に1回というのは本当に?って思うなあ。(自分も統計は知らないけど)
同時発行命令を増やしたり、動的レジスタリネームしてるんだから、プログラム中で投機実行される命令はもっと沢山あるとは思う。

あるいは、この記事の投機的ストアフォワーディングのことを言ってるのかな?

7: 名無しさん 2021/04/06(火) 19:54:10.25 ID:0PQgTPJL0
雷禅おわた

10: 名無しさん 2021/04/06(火) 19:56:06.00 ID:3W/kdavP0
やっぱIntelのほうが信頼できるな

12: 名無しさん 2021/04/06(火) 19:57:28.88 ID:BtCZ7iqO0
今度はIntelを買えばいいの?

14: 名無しさん 2021/04/06(火) 19:59:01.42 ID:zquktOwk0
intelみたくパッチあててダウンスペックになるんかな~

16: 名無しさん 2021/04/06(火) 20:00:01.46 ID:fNoi1yN20
カクカク動くようになるよ!

20: 名無しさん 2021/04/06(火) 20:03:31.57 ID:fNoi1yN20
そんなCPUで大丈夫か?

132: 名無しさん 2021/04/07(水) 01:04:51.54 ID:EC2IOXHZ0
>>20
大丈夫だ、問題ない

22: 名無しさん 2021/04/06(火) 20:04:08.77 ID:fBeVYcyD0
2600の俺に隙はなかった。

24: 名無しさん 2021/04/06(火) 20:04:18.38 ID:dakgsuTr0
ブーメラン

26: 名無しさん 2021/04/06(火) 20:05:16.01 ID:GLyAnwp60
どうやって何を起こしたら、何が可能なのかさっぱりわからん

27: 名無しさん 2021/04/06(火) 20:07:36.49 ID:hNxT3W6k0
そんなんより、RYZEN系のノートPCでのスリープバグ(スリープ中で高発熱)が
よっぽど実害あったわ

33: 名無しさん 2021/04/06(火) 20:14:17.78 ID:qmJ6CSy10
グラボ買えねえんだよな

34: 名無しさん 2021/04/06(火) 20:15:09.97 ID:q+T6DSdG0
じゃあ同じとこで作ってるM1も…

43: 名無しさん 2021/04/06(火) 20:21:36.26 ID:PeImQJgK0
天下取ったメーカーが受ける洗礼だな

44: 名無しさん 2021/04/06(火) 20:22:04.79 ID:raKeszAa0
珍しいな
セキュリティ脆弱と言えばインテルなのに

53: 名無しさん 2021/04/06(火) 20:27:08.03 ID:XqTMZErs0
きじゃくせい

56: 名無しさん 2021/04/06(火) 20:30:39.88 ID:Jh1oGCVx0
パフォーマンス上げたらだいたいこの手の脆弱性が出てくるな

63: 名無しさん 2021/04/06(火) 20:39:45.57 ID:UnnY85cu0
インテルの投機命令が問題になったことと同じ過ちを繰り返してる

学習効果ないのか?😂

66: 名無しさん 2021/04/06(火) 20:42:16.61 ID:ZWnEp/Oi0
結局あれだけ騒いだintelの脆弱性でも有効に使える攻撃には繋がらなかったからな
原理がわかっていれば有効に使えるものか否かはすぐに理解できたはずなのに
馬鹿が騒ぎまくったお蔭で安くシステムを一新することができて嬉しい限りですわ

67: 名無しさん 2021/04/06(火) 20:43:36.38 ID:7OHVj60s0
インテル最高

81: 名無しさん 2021/04/06(火) 21:17:52.02 ID:VdXdzLWs0
投機実行は必ず脆弱性がある

84: 名無しさん 2021/04/06(火) 21:21:56.37 ID:cSu+kHXZ0
ゲームしかしない人はどうでもいいのか?

103: 名無しさん 2021/04/06(火) 22:19:30.44 ID:QwN/bEaZ0
>>84
むしろそういう連中が一番被害に遭いやすい。

現実的な攻撃が有ればだが。

89: 名無しさん 2021/04/06(火) 21:28:21.00 ID:k14A+Sgw0
仮想通貨マイニングで相手のPCを乗っ取りが発生した
この時、使われた言語 JAVAだった
横浜地裁が無知でOSの欠陥を突いてきた問題を見落とし無罪にした経緯がある
MSが苦労してパッチを当てたが、今回の欠陥はかなり苦労しそうだ

92: 名無しさん 2021/04/06(火) 21:30:13.82 ID:5DzxmsMu0
>>89
すでに他社のCPUがSpectreで大穴あいてるってことになるぞ

94: 名無しさん 2021/04/06(火) 21:32:49.61 ID:k14A+Sgw0
>>92
インテルの欠陥 パッチすら出ていない

98: 名無しさん 2021/04/06(火) 21:42:16.32 ID:r9PkEbOF0
ざまぁw
優位になったとたんにぼったくり値上げ調子に乗りやがって
信者もAMDくたばれやぁw

99: 名無しさん 2021/04/06(火) 21:43:51.64 ID:Nu6ZeKk60
と、敗北者のインテル汚物たちが喚いておりますw

いつまで14nmやってんねん、昭和脳かな?

100: 名無しさん 2021/04/06(火) 21:48:13.04 ID:r9PkEbOF0
と、ブランドや企業を信仰する愚かで醜いカルト害児が喚いておりますw

105: 名無しさん 2021/04/06(火) 22:24:02.94 ID:z+21GlOe0
ユーザーで切れるなら問題ねえじゃん

インテルは脆弱性爆盛だから勝負になってない

129: 名無しさん 2021/04/07(水) 00:42:39.64 ID:0BUgZrds0
こういうの見つけ出す人らって性格捻くれてそう

実害出たら教えて

おすすめ記事

You may also like...

『【AMD】Ryzen 5000などに「Spectre」に似た投機実行の脆弱性』へのコメント

※コメントは自動承認、スパムは自動削除されます。節度を持って楽しくコメントをお願いします。

コメントを残す

CAPTCHA