アカウント名:
パスワード:
この仕組の穴をついてGPUの並列処理機能を活用したクラッキング。あるいは、CPU側プロセスのメモリ領域を覗けたりとか……マルウェアを送り込めたらマシン上でのブルートフォースがはかどってしまうとか?まぁマルウェア送り込まれた段階で、十分ダメな状況なので単にクラッカーのプログラミングの手間が省けるとかなのかな
# アプリケーション側からは、アーキテクチャの違うマルチCPUマシンって見える# としたら……TeraDriveみたいなものなのかな?
しかし、hUMAでは、ページフォルトがGPU側のMMUでもサポートされているために、シームレスに仮想メモリ空間全体にアクセスができる。つまり、ページフォルトになったら、MMUが割り込みをかけて、ストレージ上にあるメモリ内容を物理メモリに書き戻す。
こういう事だから、問題無いね。
その話と元コメントのセキュリティ上の懸念はあまり関係ないかと。
たとえば、CPUの特権レベルの枠外でGPUが動作しているならGPUが悪さをすることができるのではないか、という懸念ですね。これは私も考えました。
たとえば特権レベルとは無関係にGPUが物理メモリページをマップできるとかだと、コンピュータのセキュリティ上はかなり問題があるわけですが、GPUというのは実行できるコードにかなりの制約があるので、おそらくはGPU側からページテーブルを弄るといったことはできないようにしているとは思います。そもそもGPUコードをキックスタートさせるのはCPUからだけになると思うので、
CPUに繋がるメモリと並列に別のCPUとしてGPUが繋がってればCPUの扱うコードをいじることが当然できそうですが、それは今のマルチコアCPUでも同じことで、現実の脅威にはなってなさそうですね。AMDは少し前にARMのライセンスを取ってCPU内部にセキュリティプロセッサとして組み込むって言ってたので、CPUとGPUで認識を共通化させる役割を持たせるとかもあるのかも。
>今のマルチコアCPUでも同じことで、現実の脅威にはなってなさそう
それは当然ですね。CPUのコード実行はOSの管理下で、CPUコアがいくつあろうともOSにプロテクトされた領域をユーザーモードからあれこれしたりはできないようになってます。CPUには特権モードがあるからで、そのおかげでユーザーランドからカーネルランドにちょっかいは出せませんし、他のプロセスを妨害することもできません。
しかし、既存のOSにはGPUのコード実行を管理する仕組みはないので、つまりGPUのはOSの管理外にあるCPUコアのようなもの、になります。
従来はGPUはローカルメモリにしかアクセスできない、いわば檻の中の虎のようなものだったのでGPUがシステムのセキュリティを脅かすことはなかったわけです。しかしhUMAによって仮想アドレス空間全域にアクセス可能になるわけですから、OSから管理されない虎が野に放たれる形になります。
なので、ユーザーモードから実行されたGPUコードが悪さをしようとした時、たとえば仮想アドレス空間中のカーネル領域にちょっかいを出そうとした時には例外を投げてコードの実行が中断される、というような仕組みが必要でしょう。そのためにはGPUが特権モードを持っている(GPUもCPUの特権モードにしたがって動いている)必要があろうかと思うのです。
ただ、CPUの例外は例外処理に、つまりOSのカーネルに実行が飛ぶわけですけどGPUが例外はどうなんだ? みたいなことを考えると、hUMAのような仕組みを持つGPUはOSレベルでのサポートが必要な気がします。けど、AMDはとりあえず既存のOSでも問題ないといってるので、どうなってるかは気になるところです。
AMDはメモリコントローラ統合の次にCPUとGPU統合を進めていて、APUのGPUというのはCPUと同じダイに焼かれてオンダイのメモリコントローラを通して外部のSDRAMに繋がるわけですけど、そこでページが書けるかどうかもチェックしないGPUをCPUとなんの連携もせずに載っけちゃうってことがどのくらいありえるんでしょう…
GPUの起こした例外はとりあえずそのプログラムを投げたプロセスの例外でいいのでは…
つ http://ja.wikipedia.org/wiki/IOMMU [wikipedia.org]
メモリに対してはアドレス変換がGPUでできるようになったという違いがあるだけなので、アドレス変換なしでメモリへアクセスできていた時点でやれることはやれてしまっています。特に危険は変わったわけじゃない
今のGPUもAMDなどが提供しているドライバがOSに組み込まれる形で動いているわけで、hUMAもそのドライバ階層がOSと連携して仮想記憶をサポートする形になるんじゃないかな。
まさか、素のGPUをユーザプログラムに開放するとは思えない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
思いついたこと (スコア:1)
この仕組の穴をついてGPUの並列処理機能を活用したクラッキング。
あるいは、CPU側プロセスのメモリ領域を覗けたりとか……
マルウェアを送り込めたらマシン上でのブルートフォースがはかどってしまうとか?
まぁマルウェア送り込まれた段階で、十分ダメな状況なので
単にクラッカーのプログラミングの手間が省けるとかなのかな
# アプリケーション側からは、アーキテクチャの違うマルチCPUマシンって見える
# としたら……TeraDriveみたいなものなのかな?
Re: (スコア:2)
こういう事だから、問題無いね。
Re: (スコア:2)
その話と元コメントのセキュリティ上の懸念はあまり関係ないかと。
たとえば、CPUの特権レベルの枠外でGPUが動作しているならGPUが
悪さをすることができるのではないか、という懸念ですね。
これは私も考えました。
たとえば特権レベルとは無関係にGPUが物理メモリページをマップできるとかだと、
コンピュータのセキュリティ上はかなり問題があるわけですが、GPUというのは
実行できるコードにかなりの制約があるので、おそらくはGPU側からページテーブルを
弄るといったことはできないようにしているとは思います。
そもそもGPUコードをキックスタートさせるのはCPUからだけになると思うので、
Re: (スコア:2)
CPUに繋がるメモリと並列に別のCPUとしてGPUが繋がってればCPUの扱うコードをいじることが当然できそうですが、それは今のマルチコアCPUでも同じことで、現実の脅威にはなってなさそうですね。AMDは少し前にARMのライセンスを取ってCPU内部にセキュリティプロセッサとして組み込むって言ってたので、CPUとGPUで認識を共通化させる役割を持たせるとかもあるのかも。
Re:思いついたこと (スコア:5, 参考になる)
>今のマルチコアCPUでも同じことで、現実の脅威にはなってなさそう
それは当然ですね。
CPUのコード実行はOSの管理下で、CPUコアがいくつあろうとも
OSにプロテクトされた領域をユーザーモードからあれこれしたりは
できないようになってます。CPUには特権モードがあるからで、そのおかげで
ユーザーランドからカーネルランドにちょっかいは出せませんし、
他のプロセスを妨害することもできません。
しかし、既存のOSにはGPUのコード実行を管理する仕組みはないので、
つまりGPUのはOSの管理外にあるCPUコアのようなもの、になります。
従来はGPUはローカルメモリにしかアクセスできない、いわば檻の中の
虎のようなものだったのでGPUがシステムのセキュリティを脅かすことは
なかったわけです。
しかしhUMAによって仮想アドレス空間全域にアクセス可能に
なるわけですから、OSから管理されない虎が野に放たれる形になります。
なので、ユーザーモードから実行されたGPUコードが悪さをしようとした時、
たとえば仮想アドレス空間中のカーネル領域にちょっかいを出そうとした時には
例外を投げてコードの実行が中断される、というような仕組みが
必要でしょう。そのためにはGPUが特権モードを持っている(GPUもCPUの特権モードに
したがって動いている)必要があろうかと思うのです。
ただ、CPUの例外は例外処理に、つまりOSのカーネルに実行が飛ぶわけですけど
GPUが例外はどうなんだ? みたいなことを考えると、hUMAのような仕組みを持つGPUは
OSレベルでのサポートが必要な気がします。
けど、AMDはとりあえず既存のOSでも問題ないといってるので、どうなってるかは
気になるところです。
Re:思いついたこと (スコア:2)
AMDはメモリコントローラ統合の次にCPUとGPU統合を進めていて、APUのGPUというのはCPUと同じダイに焼かれてオンダイのメモリコントローラを通して外部のSDRAMに繋がるわけですけど、そこでページが書けるかどうかもチェックしないGPUをCPUとなんの連携もせずに載っけちゃうってことがどのくらいありえるんでしょう…
GPUの起こした例外はとりあえずそのプログラムを投げたプロセスの例外でいいのでは…
Re: (スコア:0)
つ http://ja.wikipedia.org/wiki/IOMMU [wikipedia.org]
Re: (スコア:0)
メモリに対してはアドレス変換がGPUでできるようになったという違いがあるだけなので、
アドレス変換なしでメモリへアクセスできていた時点でやれることはやれてしまっています。
特に危険は変わったわけじゃない
Re: (スコア:0)
今のGPUもAMDなどが提供しているドライバがOSに組み込まれる形で動いているわけで、
hUMAもそのドライバ階層がOSと連携して仮想記憶をサポートする形になるんじゃないかな。
まさか、素のGPUをユーザプログラムに開放するとは思えない。