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

■ このスレッドは過去ログ倉庫に格納されています
0001樽悶 ★2021/04/06(火) 19:52:08.29ID: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

0127ニューノーマルの名無しさん2021/04/07(水) 00:32:33.41ID:/OJg9kmA0
INTELは逝ってる

0128ニューノーマルの名無しさん2021/04/07(水) 00:42:25.64ID:sMsnw2vm0
Intel狂ってる

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

0130ニューノーマルの名無しさん2021/04/07(水) 00:43:53.77ID:EKY8lZY40
俺の3700xは大丈夫そうだ

0131ニューノーマルの名無しさん2021/04/07(水) 00:48:39.92ID:VZJtRh970
3600で良かった

0132ニューノーマルの名無しさん2021/04/07(水) 01:04:51.54ID:EC2IOXHZ0
>>20
大丈夫だ、問題ない

0133ニューノーマルの名無しさん2021/04/07(水) 01:18:11.56ID:SIGJuHjz0
3g4コアあればもう十分じゃね?
グラボも1070で後5年は戦えそうだし

0134ニューノーマルの名無しさん2021/04/07(水) 01:41:00.37ID:EfJDsNP80
>>85
バクチ回路ってのがi486からあるんよ。
YパイプとVパイプがあって、例えば繰り返し処理があった場合、片方へ直前の繰り返しを実行するんよ。

0135ニューノーマルの名無しさん2021/04/07(水) 01:47:49.18ID:EfJDsNP80
>>97
コンパイラを設計するのは人間であって、
そこには設計者のクセや思想が大きく反映される。

ホワイトスミスっていうコンパイラが事の始まり

0136ニューノーマルの名無しさん2021/04/07(水) 01:49:31.60ID:KMFcdOV50
予測の基礎ロジックに問題がある?
意図的な組み合わせで、誘導されちゃうとか?

0137ニューノーマルの名無しさん2021/04/07(水) 02:11:00.56ID:5BNiqb8+0
3950セーーフ

0138ニューノーマルの名無しさん2021/04/07(水) 02:39:29.74ID:5Kcaaec80
それでも5600xの値下がり待ちやめない

0139ニューノーマルの名無しさん2021/04/07(水) 02:42:21.56ID:FFdxynJ80
>>1
早う低電力版SMT付ノートを出してくれや
レノボ以外で

0140ニューノーマルの名無しさん2021/04/07(水) 02:45:57.23ID:2Mqy37R+0
5000系がダメでそれ以前のは大丈夫なのか?

0141ニューノーマルの名無しさん2021/04/07(水) 02:48:24.56ID:tUx+p/ak0
Intel使ってる奴にとってはかわいいもの
AMD5000番台で組んだ奴にとってはIntelがどうってことないらしいしどうってことない

0142ニューノーマルの名無しさん2021/04/07(水) 03:24:57.95ID:pu1MIY2t0
zen4が楽しみだわ
全力で買うからはよ出てくれ

0143ニューノーマルの名無しさん2021/04/07(水) 03:35:18.81ID:kboQuR8k0
どうせ意味判らんから読んでもないけど、対策せんと「アカン!」て事やろ?

0144ニューノーマルの名無しさん2021/04/07(水) 03:43:11.79ID:uUlNC3Ru0
ちょっとアメリカ様ー、
チップへの仕込みに執着するのは何か理由が?

0145ニューノーマルの名無しさん2021/04/07(水) 04:08:02.37ID:7KhOcTVf0
これ原理的にはできるけど実装して特定の場所狙うのはなかなか大変そう。
Spectreほどやさしくないように見える

0146ニューノーマルの名無しさん2021/04/07(水) 04:18:18.38ID:8UUv+w1+0
投機的実行って予測変換みたいなもの?

0147ニューノーマルの名無しさん2021/04/07(水) 05:03:30.61ID:XWJh1szu0
intelしかないわウチ
こっちの方が怖い

0148ニューノーマルの名無しさん2021/04/07(水) 05:16:53.23ID:4rdKo75K0
可能性があるというだけの話でまだ確認されてないってのがな

0149ニューノーマルの名無しさん2021/04/07(水) 05:21:15.08ID:zVbWVe+P0
電源入れたら爆発した!

0150ニューノーマルの名無しさん2021/04/07(水) 05:42:34.66ID:b1u9OVw80
パッチ当てない宣言?

0151ニューノーマルの名無しさん2021/04/07(水) 06:14:20.90ID:yopzUISV0
>>1
やっぱりサイリックスが最高やな

0152ニューノーマルの名無しさん2021/04/07(水) 06:16:50.95ID:KVmxm9xQ0
>>117
出典ときたよ、何かよほどへっぽこ君をイライラさせるようなことがあったようだ。

間抜け、他の連中はそれで納得してるんだ、お前か。アホウでわからないなら聞き方があるだろうが。

間抜けはその歳になっても難癖つけてごねることしか知らないか?
アホが。

0153ニューノーマルの名無しさん2021/04/07(水) 06:28:31.92ID:KVmxm9xQ0
>>108
ああ、阿保が噛み付いてきたから、お前にも噛み付いておこう。
メルトダウンとスペクターの区別もつかない間抜けが偉そうに何言ってんだよ。
>>108
>「チェックを回避して実行できる」わけではない
>実行されるはずがないコードが投機的に実行された結果
>キャッシュメモリ上にデータがある/ないに影響が出る可能性があって
>どのアドレスがキャッシュされているかはロード命令の遅延時間で測定可能だから
>それによって本来読む権限のないメモリ上の値を推定するのがSpectre等のサイドチャネル攻撃だ

それはメルトダウンであってスペクターではない。
だが前半はメルトダウンとしてはおかしな書き方だ。

メルトダウンの実行シーケンスがわからないから適当に自分で変に作ったのだろうが、その程度の理解で噛み付いてくるとはみっともないことだ。

https://www.fujitsu.com/jp/solutions/business-technology/security/secure/column/201802-1/
少しはぐぐって勉強しろ間抜け。

0154ニューノーマルの名無しさん2021/04/07(水) 07:12:40.10ID:FpvFIyf90
>>42
ジャムおじさんクラスの優しさだな
ありがとう

0155ニューノーマルの名無しさん2021/04/07(水) 08:38:47.74ID:e1D7IQzN0
>>152
質問に回答いただけないので、私の考えを書きます。

まず、”統計的には余ってるリソースで”という表現は、僅かな修正で投機実行が実現できるという誤解を生むと思います。
投機実行で性能を出すには、各種OoO実行/InO完了機構や、それ相応のフロントエンド機構(高度な分岐予測や命令フェッチ機構など)が専用で必要です。
上記機構は高コストで、InOスーパスカラプロセッサに僅かな機能追加でできるレベルではないので、”余ってるリソース”という表現は説明として適切でないと思います。

また、”1割の性能向上”というのは、投機実行の性能効果としては少なすぎでは?と思います。(そもそも何と何の比較かがわからないですが、、)
例えば身近な(?)ヘネパタには、Atom 230のコアとi7 930のコアとで、SPECIntのCPIに3倍の開きがあると書いてあります。これらはキャッシュなどのメモリシステムも違うので単純比較はできないですが、あなたのおっしゃる”1割”というのは少なすぎるかと思います。

0156ニューノーマルの名無しさん2021/04/07(水) 08:54:12.23ID:iHfDABU80
AMD\(^o^)/オワタ

0157ニューノーマルの名無しさん2021/04/07(水) 08:55:42.10ID:LR7TM0UL0
「一方でハードウェアのメカニズムを使い、アドレス空間を完全に分離させた場合、PSFの脆弱性は発生しない。」


はい解散

0158ニューノーマルの名無しさん2021/04/07(水) 09:00:37.33ID:KVmxm9xQ0
>>155
お前の言ってることでは
>>6
とかはわからないだろう。

6にわかるように書いてくれ。
俺はお前のような間抜けのためにわかりやすく書いたんじゃない。

まずは同じ土俵に上がってこいよ間抜け。

0159ニューノーマルの名無しさん2021/04/07(水) 09:02:16.14ID:aiPHjCqA0
>ハードウェアのメカニズムを使い、アドレス空間を完全に分離させた場合、PSFの脆弱性は発生しない
>セキュリティを確保したい場合、制御ビットを変更することでこの機能無効にできる

最初から対策されてた訳か。

0160ニューノーマルの名無しさん2021/04/07(水) 09:09:13.88ID:xTPEmsXK0
あまぞん様。
俺が1/18に頼んだ5900Xはどうなってますか?

0161ニューノーマルの名無しさん2021/04/07(水) 09:38:52.16ID:m/yP+uxw0
この手の脆弱性は現在のどのCPUにもあるよ。
Intelが叩かれていたときのにAMDが安全なCPUを宣伝しなかったのもそういう理由。何百個もある脆弱性の一つにすぎない。

たしかに他のソフトからデータを推測したり一部を読み取りできるんだが、それを行うためにはそのためのプログラムを管理者権限で常時実行する必要がある。
外部へ送信するならネットワークのセキュリティも超えていく必要がある。
それができる状況ってもうセキュリティ崩壊してると思う。

だからIntelもAMDも普通に使う限りは気にしなくていいよ。

0162ニューノーマルの名無しさん2021/04/07(水) 09:59:24.05ID:eJDXKoAQ0
>>158
私の意見に反論がないなら、>>42の該当箇所は訂正した方がいいと思いました。

0163ニューノーマルの名無しさん2021/04/07(水) 10:07:16.75ID:qd6AfBm/0
>>108

間違ってるw

0164ニューノーマルの名無しさん2021/04/07(水) 10:12:18.80ID:sMsnw2vm0
>>163
どこがどう間違ってる、正しくはこうだと書けないチキン

0165ニューノーマルの名無しさん2021/04/07(水) 10:15:40.45ID:tbatJTL20
まあインテルよりマシなんで問題ない

0166ニューノーマルの名無しさん2021/04/07(水) 11:11:21.97ID:6V9B6eP00
インテルなんか第三者がmicrocode書き換える方法上がってたし

0167ニューノーマルの名無しさん2021/04/07(水) 11:17:23.98ID:xppIyAQn0
キャッシュを汚染させてヒット/ミスヒットで値を推定するって基本が分かってない奴が偉そうにしてるスレ

0168ニューノーマルの名無しさん2021/04/07(水) 11:39:35.78ID:xppIyAQn0
そもそも投機実行が役に立つのが10回に1回もないとかネタで言ってるのかと
これはIntelとAMDのCPUで分岐予測のミス率を測定したものだが
数字はどれも10%以下だ
つまり10回に1回どころか100回に90回は投機実行は役に立っているのである
https://pbs.twimg.com/media/Eq-E_cvXUAE6U-U.png

0169ニューノーマルの名無しさん2021/04/07(水) 12:28:40.28ID:xMEiPrOr0
これってこれからはウィルスソフトがAMDに最適化してくれるってことだよね。AMDを使えばこんな機能があります。やったじゃん。

0170ニューノーマルの名無しさん2021/04/07(水) 12:44:07.67ID:UGzv/Y960
すでにハードウェア対応済みか
サンドボックスがソフト処理をしてるところをハードウェアを利用するようにしたら良いんだね
そしたら安全で処理も速くなるわけだ

0171ニューノーマルの名無しさん2021/04/07(水) 12:44:33.39ID:KVmxm9xQ0
>>162
は?
間違ってるというならソース出せよ基地外。
俺は学会論文出しているわけじゃないしお前は査読委員じゃない。

素人にわかりやすく書いた文に専門的な内容が省略してあるからどうだというんだよ間抜け。

わかりやすく書いたものに専門性を求めるならお前がかけと言ったが何故書かないんだ?
さっさとわかりやすくて専門的な文出せよ間抜け。

どうしたの?
わかりやすく書くことができないくせにわかりやすく書いたものを専門性が足りないってお前が文句言ったんだろうがよ。

さっさとわかりやすくて専門的に正しい文書けよ。
俺が採点してやるよ。

0172ニューノーマルの名無しさん2021/04/07(水) 12:45:23.26ID:jK1/7Tmh0
AMD終了のお知らせ、Intel大勝利!
ネトウヨさんは、火病脱糞食糞ぱよぱよちーん!

0173ニューノーマルの名無しさん2021/04/07(水) 12:47:06.12ID:KVmxm9xQ0
>>168
で?分岐予測に成功したからどうなの?

分岐予測は単なるコントロールの話で、それだけでは効率は良くならないよ。
間抜け。

実際の実行効率に影響を与えられるのはかなり限られたケースだけなんだよ。

0174ニューノーマルの名無しさん2021/04/07(水) 12:54:13.11ID:701Wk0dJ0
付け焼き刃でデタラメ書いて素人だまして
ドヤ顔してたのがバレて逆切れ実に面白い

0175ニューノーマルの名無しさん2021/04/07(水) 12:54:57.19ID:E2vq683f0
>>172
インテルは10nmプロセスで失敗してるし、
AMDからしたら周回遅れだよ。
まあ、投機的実行のバグはインテルが最先端を走っているけど。

0176ニューノーマルの名無しさん2021/04/07(水) 12:56:49.63ID:xppIyAQn0
分岐予測は投機実行するために行われる
投機実行しないと命令ウィンドウは分岐命令を超えられないので
アウトオブオーダー実行の効率が大きく落ちる
分岐予測と投機実行は効率を上げるために必須のテクニックであって限られたケースでも何でもない
分岐命令はループの最後に必ず存在するのだから

0177ニューノーマルの名無しさん2021/04/07(水) 13:54:37.98ID:AaRUmJ0q0
間違いなくIntelの仕業

■ このスレッドは過去ログ倉庫に格納されています