X



【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
0129ニューノーマルの名無しさん
垢版 |
2021/04/07(水) 00:42:39.64ID:0BUgZrds0
こういうの見つけ出す人らって性格捻くれてそう
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
コンパイラを設計するのは人間であって、
そこには設計者のクセや思想が大きく反映される。

ホワイトスミスっていうコンパイラが事の始まり
0138ニューノーマルの名無しさん
垢版 |
2021/04/07(水) 02:39:29.74ID:5Kcaaec80
それでも5600xの値下がり待ちやめない
0139ニューノーマルの名無しさん
垢版 |
2021/04/07(水) 02:42:21.56ID:FFdxynJ80
>>1
早う低電力版SMT付ノートを出してくれや
レノボ以外で
0141ニューノーマルの名無しさん
垢版 |
2021/04/07(水) 02:48:24.56ID:tUx+p/ak0
Intel使ってる奴にとってはかわいいもの
AMD5000番台で組んだ奴にとってはIntelがどうってことないらしいしどうってことない
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
投機的実行って予測変換みたいなもの?
0148ニューノーマルの名無しさん
垢版 |
2021/04/07(水) 05:16:53.23ID:4rdKo75K0
可能性があるというだけの話でまだ確認されてないってのがな
0149ニューノーマルの名無しさん
垢版 |
2021/04/07(水) 05:21:15.08ID:zVbWVe+P0
電源入れたら爆発した!
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/
少しはぐぐって勉強しろ間抜け。
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の脆弱性は発生しない
>セキュリティを確保したい場合、制御ビットを変更することでこの機能無効にできる

最初から対策されてた訳か。
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の該当箇所は訂正した方がいいと思いました。
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
は?
間違ってるというならソース出せよ基地外。
俺は学会論文出しているわけじゃないしお前は査読委員じゃない。

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

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

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

さっさとわかりやすくて専門的に正しい文書けよ。
俺が採点してやるよ。
0173ニューノーマルの名無しさん
垢版 |
2021/04/07(水) 12:47:06.12ID:KVmxm9xQ0
>>168
で?分岐予測に成功したからどうなの?

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

実際の実行効率に影響を与えられるのはかなり限られたケースだけなんだよ。
0175ニューノーマルの名無しさん
垢版 |
2021/04/07(水) 12:54:57.19ID:E2vq683f0
>>172
インテルは10nmプロセスで失敗してるし、
AMDからしたら周回遅れだよ。
まあ、投機的実行のバグはインテルが最先端を走っているけど。
0176ニューノーマルの名無しさん
垢版 |
2021/04/07(水) 12:56:49.63ID:xppIyAQn0
分岐予測は投機実行するために行われる
投機実行しないと命令ウィンドウは分岐命令を超えられないので
アウトオブオーダー実行の効率が大きく落ちる
分岐予測と投機実行は効率を上げるために必須のテクニックであって限られたケースでも何でもない
分岐命令はループの最後に必ず存在するのだから
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況