パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

AMD、CPUとGPUが同じメモリ空間を共有可能になる新技術「hUMA」を発表」記事へのコメント

  • この仕組の穴をついて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で認識を共通化させる役割を持たせるとかもあるのかも。

          • by epgrec (43527) on 2013年05月03日 0時00分 (#2374541)

            >今のマルチコア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でも問題ないといってるので、どうなってるかは
            気になるところです。

            親コメント
            • by 90 (35300) on 2013年05月03日 1時17分 (#2374569) 日記

              AMDはメモリコントローラ統合の次にCPUとGPU統合を進めていて、APUのGPUというのはCPUと同じダイに焼かれてオンダイのメモリコントローラを通して外部のSDRAMに繋がるわけですけど、そこでページが書けるかどうかもチェックしないGPUをCPUとなんの連携もせずに載っけちゃうってことがどのくらいありえるんでしょう…

              GPUの起こした例外はとりあえずそのプログラムを投げたプロセスの例外でいいのでは…

              親コメント
            • by Anonymous Coward
            • by Anonymous Coward

              メモリに対してはアドレス変換がGPUでできるようになったという違いがあるだけなので、
              アドレス変換なしでメモリへアクセスできていた時点でやれることはやれてしまっています。
              特に危険は変わったわけじゃない

            • by Anonymous Coward

              今のGPUもAMDなどが提供しているドライバがOSに組み込まれる形で動いているわけで、
              hUMAもそのドライバ階層がOSと連携して仮想記憶をサポートする形になるんじゃないかな。

              まさか、素のGPUをユーザプログラムに開放するとは思えない。

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

処理中...