IaaS環境におけるVMのメモリ暗号化による情報漏洩の防止

Slides:



Advertisements
Similar presentations
九州工業大学 塩田裕司 光来健一.  仮想マシンは必要なときだけ動かす使い方が一般 的 ◦ 一台の計算機上に複数の計算機を仮想的に作成できる ◦ デスクトップ  異なる OS を使用するため作成 ◦ サーバ  最大負荷に合わせた数の仮想マシンを作成  長期間使わない仮想マシンも存在する VM.
Advertisements

九州工業大学大学院 情報工学府 情報創成工学専攻 塩田裕司.  仮想マシン( VM )は必要なときだけ動かすこと が多い ◦ クラウドでもデスクトップでも ◦ 長期間使わない VM が存在する  VM の再開時に攻撃を受ける可能性が高くなる ◦ 停止中に OS やアプリケーションの脆弱性が発見されるこ.
ファイルキャッシュを考慮したディスク監視のオフロード
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
Android端末の盗難対策のためのページキャッシュ暗号化
クラウド上の仮想マシンの安全なリモート監視機構
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
Xenを用いたクラウドコンピュー ティングにおける情報漏洩の防止
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
KVMにおけるIDSオフロードのための仮想マシン監視機構
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
Android端末のメモリ暗号化 によるコールドブート攻撃対策
メモリ暗号化による Android端末の盗難対策
仮想計算機を用いたファイルアクセス制御の二重化
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
XenによるゲストOSの解析に 基づくパケットフィルタリング
クラウドにおけるアプリケーション単位での VM構成の動的最適化
帯域外リモート管理を継続可能な マイグレーション手法
大きな仮想マシンの 複数ホストへのマイグレーション
ファイルシステムキャッシュを 考慮したIDSオフロード
ネストした仮想化を用いた VMの安全な帯域外リモート管理
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
VMマイグレーションを可能にするIDSオフロード機構
IaaS型クラウドにおける キーボード入力情報漏洩の防止
クラウドの内部攻撃者に対する安全なリモートVM監視機構
アスペクト指向プログラミングを用いたIDSオフロード
サスペンドした仮想マシンの オフラインアップデート
SAccessor : デスクトップPCのための安全なファイルアクセス制御システム
KVMにおける仮想マシンの 内部監視機構の実装と性能評価
仮想マシン間にまたがる プロセススケジューリング
Xenによる ゲストOSの監視に基づく パケットフィルタリング
仮想計算機を用いて OSを介さずに行う安全な ファイルアクセス制御
仮想マシンモニタによる きめ細かい パケットフィルタリング
VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止
VMのメモリ暗号化による クラウド管理者への情報漏洩の防止
VM専用仮想メモリとの連携による VMマイグレーションの高速化
IaaS型クラウドにおける インスタンス構成の動的最適化手法
仮想マシン間プロセススケジューリングの 実環境への適用にむけて
暗号化された仮想シリアルコンソールを 用いたVMの安全な帯域外リモート管理
シャドウデバイスを用いた 帯域外リモート管理を継続可能なVMマイグレーション
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
仮想シリアルコンソールを用いた クラウドの安全なリモート管理
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
クラウドにおけるVMリダイレクト攻撃を防ぐためのリモート管理機構
クラウドにおけるVM内コンテナを用いた 自動障害復旧システムの開発
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
仮想マシンを用いた 既存IDSのオフロード
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
VMMのソフトウェア若化を考慮した クラスタ性能の比較
信頼できないクラウドにおける仮想化システムの監視機構
仮想環境を用いた 侵入検知システムの安全な構成法
Cell/B.E.のSPE Isolationモードを用いた監視システム
仮想マシンの監視を継続可能なマイグレーション機構
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
Cell/B.E. のSPE上で動作する 安全なOS監視システム
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
仮想化システムの 軽量なソフトウェア若化のための ゼロコピー・マイグレーション
強制パススルー機構を用いた VMの安全な帯域外リモート管理
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
複数ホストにまたがるVMの 高速かつ柔軟な 部分マイグレーション
複数ホストにまたがるVMの メモリ使用状況に着目した高速化
Virtual Machine Introspectionを可能にするVMCryptの拡張 田所秀和 光来健一 (九州工業大学)
強制パススルー機構を用いた VMの安全な帯域外リモート管理
管理VMへの キーボード入力情報漏洩の防止
Presentation transcript:

IaaS環境におけるVMのメモリ暗号化による情報漏洩の防止 田所 秀和(東京工業大学) 光来 健一(九州工業大学) 千葉 滋 (東京工業大学)

IaaSの普及 サービスとして仮想マシン(VM)を提供 ユーザVM管理者とクラウド管理者が存在 クラウド管理者が VM を管理

クラウド管理者による情報漏洩 クラウド管理者が信頼できるとは限らない 特権VMを経由した情報漏洩 VMはどのデータセンタで動くか不明 悪意ある管理者、怠慢な管理者 特権VMへ侵入を許してしまう 特権VMを経由した情報漏洩 サスペンドによりメモリ内容が漏洩 特権VM ディスク ユーザVM 保存 VMM メモリ読み込み メモリ サスペンド サスペンドプログラム

VMメモリからの情報漏洩 メモリ中には機密情報が存在 メモリ上の情報は暗号化すると正しく動かない パスワード ファイルキャッシュ ディスク暗号化では情報漏洩を防げない メモリ上の情報は暗号化すると正しく動かない 暗号化ディスク メモリを覗くだけで 機密情報取得可能 ユーザVM /etc/shadow web app パスワード .ssh/id_dsa

VMCrypt:VMのメモリ暗号化 特権VMには暗号化したメモリを見せる 管理に必要なメモリは暗号化せずに見せる 漏えいして困る情報ではない 特権VM ディスク ユーザVM 保存 VMCrypt VMM 暗号化メモリ メモリ 暗号化 サスペンド メモリ

VMCryptが想定する脅威モデル 特権VMは信頼しない VMMを信頼する ハードウェアを信頼する root権限奪取、カーネルの入れ替えもありうる VMMを信頼する Remote Attestationで正しさを証明 ハードウェアを信頼する マシンは物理的に隔離 ハードウェア VMM 特権VM ユーザVM TCB マシンルーム 信頼できる 第三者が検査

ページ単位の暗号化(Xen) ドメイン0によるページマップ時に暗号化 アンマップ後に復号化 VMMがページテーブルの書き換えを検出 ドメイン0によるページマップ時に暗号化 アンマップ後に復号化 VMMがページテーブルの書き換えを検出 ページフォールト、ハイパーコール メモリを直接書き換えて暗号化 ドメインが一時停止中を想定 ドメイン0によるマップを検出 ドメイン0によるアンマップ VMCryptによる暗号化 VMCryptによる復号化 ドメイン0 ドメインU ページ Xen

非暗号化ページ 非暗号化ページをビットマップで管理 非暗号化ページ: Shared Info サスペンド・レジュームでは4種類のページを暗 号化しない 非暗号化ページ: Shared Info ドメインUとXenの通信に使われる 仮想CPUの割り込み、時間など Xenが管理 ビットマップへの登録は容易 ドメインU Xen ドメイン0 shared info bitmap

非暗号化ページ: P2Mテーブル 疑似物理フレーム番号からマシンフレーム番号 への対応表 1 2 3 4 kernel VMM 5 疑似物理メモリ マシンメモリ Shared Infoからたどり、ビットマップに登録 ドメイン0がShared Infoをマップした時 ドメインU P2Mテーブル ドメイン0 Xen shared info

非暗号化ページ: Start Info ドメイン0とドメインUの情報共有に使われる ドメインUのレジスタを調べることでビットマッ プに登録 ブート時:rsiレジスタ 疑似物理アドレスからマシンフレームを求める M2Pテーブルを利用 レジューム時:edxレジスタ ドメインU Xen ドメイン0 start_info

非暗号化ページ: ページテーブル ページテーブルの変化を実行時に常に追跡 ページテーブル用のページが追加されたらビット マップに追加 ページ属性を設定するハイパーコールをチェック Xenはページがどう使われるかの属性を管理 ドメインU ページテーブル ドメイン0 ビットマップ ドメイン0 MFN32 … 1 … 32 Xen

VMCryptを用いた起動 ドメインUの作成時はメモリを暗号化しない 最初のunpauseハイパーコール後から暗号化 ビットマップの更新のみ行う 機密情報は漏洩しない 最初のunpauseハイパーコール後から暗号化 ゲストOSの起動は暗号化で保護 DomUのメモリ 起動後はドメイン0には 暗号化したメモリが見える ドメインの作成 カーネル書き込み ページテーブル設定 unpauseでOS起動 start info設定 kernel kernel ページテーブル start info kernel ページテーブル kernel ページテーブル start info kernel ページテーブル start info ビットマップ ディスク ページテーブルを登録 shared infoを登録 start infoを登録 1 1 1 1 Xen shared info …

VMCryptを用いたサスペンド ドメインUのメモリをファイルに保存 VMCryptが自動で暗号化 Shared InfoとP2Mテーブルを読み込み ドメインUのメモリ全体を取得するため ドメインUのページテーブルを書き換え 疑似物理フレーム番号に変換して保存 DomUのメモリ P2Mテーブルを使い メモリ全体のMFNを取得 kernel ページテーブル P2M kernel ページテーブル start info P2M ページテーブルなら書き換えて保存 通常のメモリはVMCryptが暗号化して保存 ディスク

ビットマップの埋め込み ビットマップをドメインUのメモリに埋め込む e820を操作し埋め込み用のメモリを確保 サスペンド時には暗号化されて保存 e820を操作し埋め込み用のメモリを確保 メモリ領域がreservedならゲストOSが使わない e820はBIOSのメモリマップ DomUのメモリ reserved として確保 bitmap bitmap ビットマップをコピー ディスク Xen bitmap

VMCryptを用いたレジューム ドメイン0がサスペンドイメージをメモリに戻す 最初の再開時にまとめて復号化 この時点では復号化しない ドメインUの非暗号化ページにアクセス ページテーブル書き換え、コンソールMFN設定 最初の再開時にまとめて復号化 ドメインUのメモリからビットマップを取得 DomUのメモリ kernel ページテーブル start info kernel ページテーブル start info bitmap kernel ページテーブル start info kernel ページテーブル start info bitmap bitmapを取得 unpause時に復号化 サスペンドイメージをメモリに戻す ページテーブルの書き換え start infoへ設定 ドメインの作成 ディスク Xen bitmap

実験 VMCryptによるオーバーヘッドを測定 情報漏洩防止の確認 vanilla Xen、null暗号化、AES暗号化 メモリマップ サスペンド・レジューム 情報漏洩防止の確認 Xen 4.0.2 Dom0/DomU Linux 2.6.32.27 Xeon 2.67GHz 8core 12GB

マップ・アンマップ時間 ドメイン0からドメインUのメモリをマップ ドメインU内から自身のメモリをマップ null:45%劣化 AES:295%劣化 ドメインU内から自身のメモリをマップ 18%劣化

サスペンド・レジューム時間 サスペンド・レジュームにかかる時間を測定 速度低下の大部分はAESによる暗号化 ドメインUのメモリ量を変化

パスワード漏洩防止の確認 攻撃 VMCryptを使った場合 VMCryptを使わなかった場合 サスペンドイメージからシャドウパスワード取得 文字列を抽出し特徴的な文字列を探索 VMCryptを使った場合 パスワードを取得できなかった VMCryptを使わなかった場合 パスワードを取得できた root@mach# strings quattro1.img | grep 'root:\$' acroot:$6$aCJuBx5O$5HqjJyEGM.hDUBnczt2J.j6jN41.G02kHlNXHZrurOZpqL/Elnbc489ZrZqLD2gsPDB.yVcK6trNXAquhKFkG0:14879:0:99999:7::: root@mach#

関連研究 TCCP [Santos et al. HotCloud'09] ドメインB [Murray et al. VEE'08] VMを管理者が信用できるサイトにだけ移動させる 信用できないサイトでは動かせない ドメインB [Murray et al. VEE'08] ドメイン作成専用のドメインBを用意 ドメイン0のカーネルとドメインBをTCBに含む OverShadow [Xiaoxin et al. ASPLOS'08] VMMがプロセスのメモリを暗号化し内容を保護 ゲストOSへの情報漏えいを防ぐ

まとめと今後の課題 VMCryptを提案 今後の課題 VMMがVMのメモリを暗号化 IaaS環境でのクラウド管理者への情報漏洩を防ぐ マイグレーションへの対応 暗号化鍵の管理 完全仮想化への対応