VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止 田所 秀和(東工大) 内田 昴志(九工大) 光来 健一(九工大/JST CREST) 千葉 滋(東工大) クラウドコンピューティングの普及 VMメモリの暗号化・復号化 ネットワークを通して計算機やソフトウェアなどのサービ スを提供 Infrastructure as a Service (Iaas) 仮想マシン(VM)を提供 クラウド管理者とゲストOSの管理者は異なる クラウド管理者が信用できるとは限らない 従来はマシンの管理者とOSの管理者は同じ ドメイン0によるメモリマップ時に暗号化、アンマップ時に 復号化 VMMがページテーブルの変更を検出 ハイパーコール(マップ時) ページフォールト(アンマップ時) ドメインUのメモリを上書きして暗号化 暗号化鍵はVMM内に保持 ドメインUの停止中に行う クラウド管理者への情報漏洩 ドメイン0 クラウド管理者はユーザVMのメモリから情報を盗むことが 可能 例:パスワード、ファイルキャッシュの内容 ハイパーバイザ型の場合 クラウド管理者は特権VMを使いユーザVMを管理 特権VMはユーザVMのメモリを読み書き可能 サスペンド ユーザVM メモリ 漏洩 仮想マシンモニタ ディスク VMCrypt: VMメモリの暗号化 特権VMによるアクセス時にVMMがユーザVMのメモリを暗 号化 ユーザVMのメモリ内容を特権VMに漏洩させない 特権VMがアクセスする必要があるページは暗号化しない 特権VMがユーザVMのサスペンドなどに利用 漏えいして困る情報ではない 特権VM 暗号化 暗号化 メモリ 保存 ディスク ユーザVM メモリ VMCrypt VMM 安全なサスペンド・レジューム 非 暗 号 化 ペ ー ジ レジュームされた ドメインU ドメイン0 shared_info VMCrypt VMM 非暗号化ページの識別 VMM shared_info P2M(Physical to Machine)テーブル サスペンド時はshared_infoからテーブルをたどれる レジューム時に識別するためにテーブル情報を保存 暗号化してドメインUの空きメモリに保存 ページテーブル サスペンド時はVMMが管 ドメイン0 ドメインU 理するページタイプで識別 P2M レジューム時はP2Mテー ページテーブル ブルと同様に実装予定 shared_info 現在はドメイン0から 通知 実験:サスペンド・レジュームの実行時間 Xen上の準仮想化Linuxの場合 4種類の非暗号化ページ サスペンドされる ドメインU マシン ページ shared_infoページ VMMとドメインUの情報共有に使用 VMMが確保するので容易に識別可能 start_infoページ ドメイン0とドメインUの情報共有に使用 ドメインUを開始するハイパーコールで仮想レジスタを 監視 ドメインU ドメイン0 start_info メモリ読み込み 保存 マップ時に暗号化 shared_info start_info サスペンド:暗号化なし レジューム:暗号化なし 暗号化サスペンドに時間がかかる 60 非暗号化ページの判定が 50 ページ数の2乗の計算量 40 メモリ割り当て量を変化 30 20 XORで暗号化・復号化 サスペンド:暗号化あり レジューム:暗号化あり 実行時間(秒) 特権VM ドメインU shared_info 10 0 page table page table P2M table P2M table 暗号化 メモリ 保 存 ディスク 復 元 暗号化 メモリ 0 50 100 150 メモリ割り当て(Mb) 今後の課題 非暗号化ページ識別の実装を完成させる ライブマイグレーションへの対応 ドメインを動かしたままメモリアクセス 完全仮想化に対応 VRAMなど多くのメモリにドメイン0がアクセス 200
© Copyright 2024 ExpyDoc