アカウント名:
パスワード:
>Retpolineはリターン(return)とトランポリン(trampoline)を組み合わせて作られた造語です完全に理解していないが、大雑把に言うと、トランポリンコードを介在させる(従来から相対JP距離に到達するため等に使われている)事によって、投機実行の状態を攻撃者にとって役に立たないような状態にする、でいいのかなこれは再コンパイルが要るのですが、gcc等にはこれに対応するパッチが出ているそうです
ざっくと言うと retpoline が有効なのは間接ジャンプの学習/投機実行に関する SpectreV2 (間接ジャンプの学習領域のバッティングを悪用して任意コードを投機実行させる攻撃)。
retpoline は「間接ジャンプ」をコンパイル時に「ジャンプ先をスタックに積んで return する」という同等のトランポリン・コードに置き換える。間接ジャンプを使わなければ間接ジャンプに対する攻撃はできないという仕組(パンが無ければお菓子を...)。
もう少しだけ補足するとインテルの新しい世代の CPU だと賢過ぎて return に対して「間接ジャンプ」の学習が働いたりすることがあるので、これを無効化するために追加の工夫が必要だったりする。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
retpoline、対応には再コンパイルが要るそうで (スコア:0)
>Retpolineはリターン(return)とトランポリン(trampoline)を組み合わせて作られた造語です
完全に理解していないが、大雑把に言うと、
トランポリンコードを介在させる(従来から相対JP距離に到達するため等に使われている)
事によって、投機実行の状態を攻撃者にとって役に立たないような状態にする、
でいいのかな
これは再コンパイルが要るのですが、gcc等にはこれに対応するパッチが出ているそうです
Re: (スコア:0)
ざっくと言うと retpoline が有効なのは間接ジャンプの学習/投機実行に関する SpectreV2 (間接ジャンプの学習領域のバッティングを悪用して任意コードを投機実行させる攻撃)。
retpoline は「間接ジャンプ」をコンパイル時に「ジャンプ先をスタックに積んで return する」という同等のトランポリン・コードに置き換える。間接ジャンプを使わなければ間接ジャンプに対する攻撃はできないという仕組(パンが無ければお菓子を...)。
もう少しだけ補足するとインテルの新しい世代の CPU だと賢過ぎて return に対して「間接ジャンプ」の学習が働いたりすることがあるので、これを無効化するために追加の工夫が必要だったりする。