poster

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