【AMD】Ryzen 5000などに「Spectre」に似た投機実行の脆弱性 [樽悶★]
■ このスレッドは過去ログ倉庫に格納されています
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 3g4コアあればもう十分じゃね?
グラボも1070で後5年は戦えそうだし >>85
バクチ回路ってのがi486からあるんよ。
YパイプとVパイプがあって、例えば繰り返し処理があった場合、片方へ直前の繰り返しを実行するんよ。 >>97
コンパイラを設計するのは人間であって、
そこには設計者のクセや思想が大きく反映される。
ホワイトスミスっていうコンパイラが事の始まり 予測の基礎ロジックに問題がある?
意図的な組み合わせで、誘導されちゃうとか? >>1
早う低電力版SMT付ノートを出してくれや
レノボ以外で Intel使ってる奴にとってはかわいいもの
AMD5000番台で組んだ奴にとってはIntelがどうってことないらしいしどうってことない どうせ意味判らんから読んでもないけど、対策せんと「アカン!」て事やろ? ちょっとアメリカ様ー、
チップへの仕込みに執着するのは何か理由が? これ原理的にはできるけど実装して特定の場所狙うのはなかなか大変そう。
Spectreほどやさしくないように見える 可能性があるというだけの話でまだ確認されてないってのがな >>117
出典ときたよ、何かよほどへっぽこ君をイライラさせるようなことがあったようだ。
間抜け、他の連中はそれで納得してるんだ、お前か。アホウでわからないなら聞き方があるだろうが。
間抜けはその歳になっても難癖つけてごねることしか知らないか?
アホが。 >>108
ああ、阿保が噛み付いてきたから、お前にも噛み付いておこう。
メルトダウンとスペクターの区別もつかない間抜けが偉そうに何言ってんだよ。
>>108
>「チェックを回避して実行できる」わけではない
>実行されるはずがないコードが投機的に実行された結果
>キャッシュメモリ上にデータがある/ないに影響が出る可能性があって
>どのアドレスがキャッシュされているかはロード命令の遅延時間で測定可能だから
>それによって本来読む権限のないメモリ上の値を推定するのがSpectre等のサイドチャネル攻撃だ
それはメルトダウンであってスペクターではない。
だが前半はメルトダウンとしてはおかしな書き方だ。
メルトダウンの実行シーケンスがわからないから適当に自分で変に作ったのだろうが、その程度の理解で噛み付いてくるとはみっともないことだ。
https://www.fujitsu.com/jp/solutions/business-technology/security/secure/column/201802-1/
少しはぐぐって勉強しろ間抜け。 >>42
ジャムおじさんクラスの優しさだな
ありがとう >>152
質問に回答いただけないので、私の考えを書きます。
まず、”統計的には余ってるリソースで”という表現は、僅かな修正で投機実行が実現できるという誤解を生むと思います。
投機実行で性能を出すには、各種OoO実行/InO完了機構や、それ相応のフロントエンド機構(高度な分岐予測や命令フェッチ機構など)が専用で必要です。
上記機構は高コストで、InOスーパスカラプロセッサに僅かな機能追加でできるレベルではないので、”余ってるリソース”という表現は説明として適切でないと思います。
また、”1割の性能向上”というのは、投機実行の性能効果としては少なすぎでは?と思います。(そもそも何と何の比較かがわからないですが、、)
例えば身近な(?)ヘネパタには、Atom 230のコアとi7 930のコアとで、SPECIntのCPIに3倍の開きがあると書いてあります。これらはキャッシュなどのメモリシステムも違うので単純比較はできないですが、あなたのおっしゃる”1割”というのは少なすぎるかと思います。 「一方でハードウェアのメカニズムを使い、アドレス空間を完全に分離させた場合、PSFの脆弱性は発生しない。」
はい解散 >>155
お前の言ってることでは
>>6
とかはわからないだろう。
6にわかるように書いてくれ。
俺はお前のような間抜けのためにわかりやすく書いたんじゃない。
まずは同じ土俵に上がってこいよ間抜け。 >ハードウェアのメカニズムを使い、アドレス空間を完全に分離させた場合、PSFの脆弱性は発生しない
>セキュリティを確保したい場合、制御ビットを変更することでこの機能無効にできる
最初から対策されてた訳か。 あまぞん様。
俺が1/18に頼んだ5900Xはどうなってますか? この手の脆弱性は現在のどのCPUにもあるよ。
Intelが叩かれていたときのにAMDが安全なCPUを宣伝しなかったのもそういう理由。何百個もある脆弱性の一つにすぎない。
たしかに他のソフトからデータを推測したり一部を読み取りできるんだが、それを行うためにはそのためのプログラムを管理者権限で常時実行する必要がある。
外部へ送信するならネットワークのセキュリティも超えていく必要がある。
それができる状況ってもうセキュリティ崩壊してると思う。
だからIntelもAMDも普通に使う限りは気にしなくていいよ。 >>158
私の意見に反論がないなら、>>42の該当箇所は訂正した方がいいと思いました。 >>163
どこがどう間違ってる、正しくはこうだと書けないチキン インテルなんか第三者がmicrocode書き換える方法上がってたし キャッシュを汚染させてヒット/ミスヒットで値を推定するって基本が分かってない奴が偉そうにしてるスレ そもそも投機実行が役に立つのが10回に1回もないとかネタで言ってるのかと
これはIntelとAMDのCPUで分岐予測のミス率を測定したものだが
数字はどれも10%以下だ
つまり10回に1回どころか100回に90回は投機実行は役に立っているのである
https://pbs.twimg.com/media/Eq-E_cvXUAE6U-U.png これってこれからはウィルスソフトがAMDに最適化してくれるってことだよね。AMDを使えばこんな機能があります。やったじゃん。 すでにハードウェア対応済みか
サンドボックスがソフト処理をしてるところをハードウェアを利用するようにしたら良いんだね
そしたら安全で処理も速くなるわけだ >>162
は?
間違ってるというならソース出せよ基地外。
俺は学会論文出しているわけじゃないしお前は査読委員じゃない。
素人にわかりやすく書いた文に専門的な内容が省略してあるからどうだというんだよ間抜け。
わかりやすく書いたものに専門性を求めるならお前がかけと言ったが何故書かないんだ?
さっさとわかりやすくて専門的な文出せよ間抜け。
どうしたの?
わかりやすく書くことができないくせにわかりやすく書いたものを専門性が足りないってお前が文句言ったんだろうがよ。
さっさとわかりやすくて専門的に正しい文書けよ。
俺が採点してやるよ。 AMD終了のお知らせ、Intel大勝利!
ネトウヨさんは、火病脱糞食糞ぱよぱよちーん! >>168
で?分岐予測に成功したからどうなの?
分岐予測は単なるコントロールの話で、それだけでは効率は良くならないよ。
間抜け。
実際の実行効率に影響を与えられるのはかなり限られたケースだけなんだよ。 付け焼き刃でデタラメ書いて素人だまして
ドヤ顔してたのがバレて逆切れ実に面白い >>172
インテルは10nmプロセスで失敗してるし、
AMDからしたら周回遅れだよ。
まあ、投機的実行のバグはインテルが最先端を走っているけど。 分岐予測は投機実行するために行われる
投機実行しないと命令ウィンドウは分岐命令を超えられないので
アウトオブオーダー実行の効率が大きく落ちる
分岐予測と投機実行は効率を上げるために必須のテクニックであって限られたケースでも何でもない
分岐命令はループの最後に必ず存在するのだから ■ このスレッドは過去ログ倉庫に格納されています