アカウント名:
パスワード:
どうやって対策すればいいの?レンタルサーバとか詰みじゃない?
sysret実行時のrcxにnon canonical addressを渡すのが原因だから事前にチェックすればいいのでは?
そのnoncanonical addressのチェックタイミングが問題 [facebook.com]なのだが…
sysret実行前にOS側でチェックしろと言ってるんだけど。
OSってゲストの? マルウェアがいるかもしれない?
それが簡単にできる状態なら、とっくに対策してると思うぞ。(RCXはring3の仮想アドレスで、チェックするカーネルはring0で動いているんだから、MMUのアドレス変換/チェックロジックをソフトで実行して初めて確認できる。しかも、本来はリターン後にハードウェアが処理してくれるロジックだ)
そのコードを書くよりも、IRET命令で復帰する方が、実行サイクル的にも有利だから、結果的にIRETを使用するようにパッチが出ている。
#そのせいで、Fast syscall/retのメリットが無くなるという本末転倒な話だが
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
あのさぁ・・・ (スコア:0)
どうやって対策すればいいの?
レンタルサーバとか詰みじゃない?
Re: (スコア:0)
sysret実行時のrcxにnon canonical addressを渡すのが原因だから事前にチェックすればいいのでは?
Re:あのさぁ・・・ (スコア:1)
sysret実行時のrcxにnon canonical addressを渡すのが原因だから事前にチェックすればいいのでは?
そのnoncanonical addressのチェックタイミングが問題 [facebook.com]なのだが…
Re: (スコア:0)
sysret実行前にOS側でチェックしろと言ってるんだけど。
Re: (スコア:0)
OSってゲストの? マルウェアがいるかもしれない?
Re: (スコア:0)
それが簡単にできる状態なら、とっくに対策してると思うぞ。
(RCXはring3の仮想アドレスで、チェックするカーネルはring0で動いているんだから、MMUのアドレス変換/チェックロジックをソフトで実行して初めて確認できる。しかも、本来はリターン後にハードウェアが処理してくれるロジックだ)
そのコードを書くよりも、IRET命令で復帰する方が、実行サイクル的にも有利だから、結果的にIRETを使用するようにパッチが出ている。
#そのせいで、Fast syscall/retのメリットが無くなるという本末転倒な話だが