Spectre V2の亜種Retbleedについて
3月にV2の亜種Spectre BHB(BHI)について説明していますが、
今回はSpectre BHB(BHI)を緩和する為の方法Retpolineを悪用
したV2と同様な攻撃方法、Retbleedが公表されました。
【関連記事】
1:New Retbleed speculative execution CPU attack bypa
sses Retpoline fixes
2:New ‘Retbleed’ Attack Can Swipe Key Data From Int
el and AMD CPUs
3:RETBLEED: Arbitrary Speculative Code Execution wit
h Return Instructions(論文PDF)
【問題の詳細】
【Spectre V2の亜種Spectre BHB(BHI)について】でも触れて
いますが、RetpolineはSpectre V2のBTB(Branch Target Bu
ffer)とBHB(Branch History Buffer)を悪用した攻撃を防ぐ為
にReturn命令でBTBではなくRSB(Return Stack Buffer)を使
用して間接分岐を処理する様にするのですが、
今回公表された脆弱性は、Return命令を意図的に差し込んで間違
った分岐処理をさせてアンダーフローを起こさせ、問題が起きた
時にBTBを使用する様に切り替わる事を悪用したり、
BTBに入力がある時にReturn命令でRSBにも同じ分岐予測を作
成する事を悪用してカーネルデータのあるアドレスを特定でき、
データも取得できる脆弱性です。
カーネルの使用している記憶領域を特定してroot hash passwo
rdを取得できる様子を動画にしています。
【対象のCPU】
【Intel】
Coffee Lake:Core i-8xxx、Pentium G5xxx、Celeron G4
xxx以前のCPU全て(Xeon等のサーバCPUも含む)
尚、Alder Lake:Core i-12xxxまではReturn命令による攻撃
自体は出来ますが、カーネルの場所を特定する為の履歴汚染が有
効化しなかったので、Coffee Lake Refresh:Core i-9xxx以降
はデータ漏洩まではいきません。
【AMD】
Zen1:Ryzen 1xxx、Threadripper 19xx、Ryzen 2xxxG、
EPYC 7001
Zen+:Ryzen 2xxx、Threadripper 29xx、Ryzen 3xxxG
Zen2:Ryzen 3xxx、Threadripper 39xx、Ryzen 4xxxG
EPYC 7002
尚、Zen3:Ryzen 5xxx、Threadripper 59xx、Ryzen 5xxx
GはReturn命令による攻撃自体有効にならなかった為、被害を受
けません。
【現状の対策】
既に対策が出ているので、被害を受ける可能性は低い状態です。
Intelの場合、間接分岐の投機的実行をカーネルモード時だけに限
定するIBRS(Indirect Branch Restricted Speculation)をハ
ードウェア実装したeIBRSを有効化する事で緩和できるとしてい
ます。
因みにSkylake以前はハード実装していませんが、現在のWindo
wsはデフォルトでIBRSを使用する様になっているので問題あり
ません。
但しLinux等は自分で設定する必要があるので注意が必要です。
AMDの方はReturn命令の関数にjmp __ x86_return_thunk
やカーネルモード時に__x86_return_thunkを使用して攻撃を
防ぐJmp2Retと言う緩和策を充てる事で緩和できるとしています。
因みに、今回の攻撃はCPU毎に攻撃に転用できるReturn命令を特
定する必要がある為、攻撃までの工程が複雑なので一般向けPCに
対する攻撃ではなく、サーバに対する攻撃主体になると考えられ
ています。
Intelの場合デフォルトで緩和が当っている様なものなのと、AM
Dの場合Retpoline自体オプションなので。
今回の脆弱性はWindowsを使用している場合は影響を受ける可能
性が低いですが、Linux等の別のOSを使っている場合は手動で緩
和策を充てる必要があるので注意して下さい。
【SpectreとMeltdown関連】
【Intel CPUの致命的な設計不良によるセキュリティ問題】
【Spectre PrimeとMeltdown Primeについて】
【SpectreとMeltdown用調整BIOSの配布リスト】
【IntelのハードウェアセキュリティSGXの脆弱性BranchScopeについて】
【Spectre Next Generationについて】
【Spectre Next Generationについて2】
【Intel CPU及びARM対象のSpecterの新しい亜種について】
【SpectreRSBについて】
【NetSpectreについて】
【Intel CPUの新たな脆弱性L1 Terminal Faultについて】
【SpectreとMeltdownに関係する新たな攻撃方法について】
【SplitSpectreについて】
【SWAPGS Attackについて】
【Spectre V2の亜種Spectre BHB(BHI)について】
このBlogはBlogランキングに参加しています。
役に立ったと思った方はクリックをお願いします。


総合情報に戻る
TOPに戻る
| ハードウェア | 22:00 | comments:0 | trackbacks:0 | TOP↑