1 / 14

VM のメモリ暗号化による クラウド管理者への情報漏洩の防止

VM のメモリ暗号化による クラウド管理者への情報漏洩の防止. 田所 秀和 (東工大) 内田 昴志 (九工大) 光来 健一 (九工大 /JST CREST ) 千葉 滋 (東工大). クラウドコンピューティングの普及. ネットワークを通して計算機やソフトウェアなどのサービスを提供 Infrastructure as a Service ( Iaas ) 仮想マシン (VM) を提供 クラウド管理者と ゲスト OS の 管理者は異なる クラウド管理者が信用できるとは限らない 従来はマシンの管理者と OS の管理者は同じ. サービス. クラウド管理者への情報漏洩.

chibale
Download Presentation

VM のメモリ暗号化による クラウド管理者への情報漏洩の防止

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止 田所 秀和(東工大) 内田 昴志(九工大) 光来 健一(九工大/JST CREST) 千葉 滋(東工大)

  2. クラウドコンピューティングの普及 • ネットワークを通して計算機やソフトウェアなどのサービスを提供 • Infrastructure as a Service (Iaas) • 仮想マシン(VM)を提供 • クラウド管理者とゲストOSの管理者は異なる • クラウド管理者が信用できるとは限らない • 従来はマシンの管理者とOSの管理者は同じ サービス

  3. クラウド管理者への情報漏洩 • クラウド管理者はユーザVMのメモリから情報を盗むことが可能 • 例:パスワード、ファイルキャッシュの内容 • ハイパーバイザ型の場合 • クラウド管理者は特権VMを使いユーザVMを管理 • 特権VMはユーザVMのメモリを読み書き可能 サスペンド 特権VM ユーザVM メモリ読み込み 漏洩 メモリ 保存 ディスク 仮想マシンモニタ

  4. VMCrypt: VMメモリの暗号化 • 特権VMによるアクセス時にVMMがユーザVMのメモリを暗号化 • ユーザVMのメモリ内容を特権VMに漏洩させない • 特権VMがアクセスする必要があるページは暗号化しない • 特権VMがユーザVMのサスペンドなどに利用 • 漏えいして困る情報ではない サスペンド 特権VM ユーザVM 暗号化 暗号化メモリ メモリ 保存 ディスク VMCrypt VMM

  5. 安全なサスペンド・レジューム • Xen上の準仮想化Linuxの場合 • 4種類の非暗号化ページ レジュームされたドメインU サスペンドされるドメインU ドメイン0 shared_info shared_info 非暗号化ページ start_info start_info page table page table P2M table P2M table 保存 復元 暗号化メモリ 暗号化メモリ ディスク

  6. VMメモリの暗号化・復号化 • ドメイン0によるメモリマップ時に暗号化、アンマップ時に復号化 • VMMがページテーブルの変更を検出 • ハイパーコール(マップ時) • ページフォールト(アンマップ時) • ドメインUのメモリを上書きして暗号化 • 暗号化鍵はVMM内に保持 • ドメインUの停止中に行う ドメイン0 ドメインU マシンページ VMCrypt VMM

  7. VMメモリの暗号化・復号化 • ドメイン0によるメモリマップ時に暗号化、アンマップ時に復号化 • VMMがページテーブルの変更を検出 • ハイパーコール(マップ時) • ページフォールト(アンマップ時) • ドメインUのメモリを上書きして暗号化 • 暗号化鍵はVMM内に保持 • ドメインUの停止中に行う ドメイン0 マップ時に暗号化 ドメインU マシンページ VMCrypt VMM

  8. VMメモリの暗号化・復号化 • ドメイン0によるメモリマップ時に暗号化、アンマップ時に復号化 • VMMがページテーブルの変更を検出 • ハイパーコール(マップ時) • ページフォールト(アンマップ時) • ドメインUのメモリを上書きして暗号化 • 暗号化鍵はVMM内に保持 • ドメインUの停止中に行う ドメイン0 アンマップ時に復号化 ドメインU マシンページ VMCrypt VMM

  9. 非暗号化ページの識別(1/2) • shared_infoページ • VMMとドメインUの情報共有に使用 • VMMが確保するので容易に識別可能 • start_infoページ • ドメイン0とドメインUの情報共有に使用 • ドメインUを開始するハイパーコールで仮想レジスタを監視 • ブート時はrsiレジスタ、レジューム時はedxレジスタ ドメインU ドメイン0 start_info shared_info VMM

  10. 非暗号化ページの識別(2/2) • P2M(Physical to Machine)テーブル • サスペンド時はshared_infoからテーブルをたどれる • レジューム時に識別するためにテーブル情報を保存 • 暗号化してドメインUの空きメモリに保存 • ページテーブル • サスペンド時はVMMが管理するページタイプで識別 • レジューム時はP2Mテーブルと同様に実装予定 • 現在はドメイン0から通知 ドメイン0 ドメインU P2M ページテーブル shared_info

  11. 再設計:非暗号化ページの識別 • 非暗号化ページを識別するビットマップを管理 • ドメインUの空きメモリ上に用意 • VMMにより暗号化 • ブート時にVMMがビットマップを作成 • ページテーブルはCR3レジスタからたどる • 実行時にビットマップを更新 • 例:ページテーブルの拡張 • ドメイン0に監視させたいページも登録可能 • サスペンド・レジューム時の識別の単純化 • これまではマップ時に毎回非暗号化判定 shared_info start_info page table p2m table 暗号化ページ ビットマップ

  12. 実験 • サスペンド・レジュームの実行時間を測定 • メモリ割り当て量を変化 • XORで暗号化・復号化 • 暗号化サスペンドに時間がかかる • 非暗号化ページの判定がページ数の2乗の計算量 • ビットマップを作ることで改善できる CPU: Xeon 2.67GHz 8コア メモリ: 12Gb VMM: Xen 4.0.1 Dom0: Linux 2.6.32.24 DomU: Linux 2.6.32.25

  13. 関連研究 • Trusted Cloud Computing[Santos et al. HotCloud'09] • VMを管理者が信頼できるサイトにだけ移動させる • 信頼できないサイトでは動かせない • Domain Disaggregation [Murray et al. VEE'08] • ドメイン作成専用のドメインBを用意 • 管理者はドメインBから情報を盗める • Bitvisor [Shinagawa et al. VEE'09] • VMMがディスクやネットワークを暗号化 • メモリは暗号化しない

  14. まとめと今後の課題 • クラウド管理者への情報漏洩を防ぐVMCryptを提案 • 特権VMのアクセス時にVMMがVMのメモリを暗号化 • VMMが非暗号化ページを識別 • Xenへプロトタイプ実装 • 今後の課題 • 非暗号化ページ識別の実装を完成させる • ライブマイグレーションへの対応 • ドメインを動かしたままメモリアクセス • 完全仮想化に対応 • VRAMなど多くのメモリにドメイン0がアクセス

More Related