クラウド上の仮想マシンの安全なリモート監視機構

Slides:



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

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

クラウド上の仮想マシンの安全なリモート監視機構 九州工業大学 重田一樹 光来健一

クラウド IaaS型クラウド(Infrastructure as a Service) クラウド管理者が信頼できるとは限らない ユーザの仮想マシン(VM)をクラウド内で実行 例:Amazon EC2、Rackspace Cloud クラウド管理者が信頼できるとは限らない VMが悪意のあるクラウド管理者から攻撃される可能性 情報漏洩、改ざん 管理VM ユーザVM 攻撃

ユーザVMの安全な実行 クラウド管理者からユーザVMへの攻撃を防ぐ手法が 提案されてきた セキュアな実行環境 [Li et al.’10], CloudVisor [Zhang et al.’11], VMCrypt [Tadokoro et al.12], SSC [Butt et al .’12] VMのメモリを暗号化したり、アクセスを制限したりすることで 管理VMなどからの攻撃を防ぐ 管理VM ユーザVM 仮想マシンモニタ(VMM)

IDSの安全な実行 IDSオフロード手法が提案されてきた 監視対象VM 管理VM オフロード IDS Livewire [Garfinkel et al.’03], … IDSを管理VMで動かし監視対象VMを監視 VMのメモリ、ディスク、ネットワークなど 監視対象VMに侵入されてもIDSを無効化されにくい 攻撃 監視対象VM 管理VM オフロード IDS プロセス情報等

クラウド内でのIDSオフロード ユーザVMやIDSが管理VMからの攻撃を受ける危険 性が増す IDS 管理VM 監視対象VM

提案:RemoteTrans クラウド外にIDSをオフロードし、ネットワーク経由で安 全にVMを監視するためのシステム クラウド 監視ホスト クラウド内の信頼できるVMMから安全に監視データを取得 監視対象VM IDS RTサーバ RemoteTrans RTランタイム VMM RTモジュール クラウド 監視ホスト

脅威モデル クラウド内の管理VMが悪用されることを想定 監視ホスト クラウド 監視対象VMはVMCrypt [Tadokoro et al.’12]により管理VM に対してメモリを暗号化 VMMはリモートアテステーションにより信頼する クラウド内のハードウェアは物理的に守られていると仮定 監視ホストは攻撃を受けないと仮定 管理VM 監視対象VM VMM ハードウェア 監視ホスト クラウド

リモートのVMの監視 ネットワーク経由で監視対象VMのデータを取得 監視ホスト クラウド内ホスト RTランタイムがRTサーバにリクエストを送信 仮想アドレス、データサイズ RTモジュールを呼び出し、VMの暗号化されたデータを取得 RTランタイムにレスポンスを返す 取得データ IDS RTサーバ レスポンス リクエスト 監視対象VM 仮想アドレス データサイズ データ データ RTランタイム RTモジュール 監視ホスト クラウド内ホスト

既存のIDSのリモート実行 RemoteTrans上でVM Shadow [飯田ら’10]を提供 既存のIDSをオフロードするための実行環境 システムコールをエミュレート 監視対象VMのファイルシステムを提供 IDSに監視対象VMの情報を返す VM Shadow 管理VM 監視対象VM 監視対象VM 管理VM IDS IDS IDS データ RemoteTrans 監視ホスト クラウド

クラウド内での監視データの改ざん RTランタイムとRTモジュール間のリクエストやレスポ ンスを管理VMで改ざんされる恐れ 監視ホスト 例:プロセスリストをたどる際に攻撃プロセスを隠蔽 攻撃プロセスへのリンクをその次のプロセスに変更 管理VM 監視対象VM 偽のプロセスリスト 改ざんされたRTサーバ IDS 真のプロセスリスト RTランタイム 偽リクエスト RTモジュール 監視ホスト クラウド内ホスト

改ざんの検出手法 送信元で計算したMACを一緒に送り、送信先で整合 性をチェックすればよい 暗号鍵はRTランタイムとRTモジュールだけで共有 管理VMは正しいMACを計算できない リクエスト MAC 管理VM 監視対象VM RTランタイム RTサーバ リクエスト、MAC ハッシュ関数 ハッシュ関数 VMM 共有鍵 共有鍵 RTモジュール 監視ホスト 監視対象ホスト

クラウド内でのリプレイ攻撃 MACも含めてリクエストやレスポンスを再利用するリ プレイ攻撃が可能 例:過去のプロセス情報を返す 1ずつ増えるシーケンス番号を用いる手法が一般的 RTモジュールが状態を持たなければならない リクエスト シーケンス番号 RTランタイム RTモジュール 最新の シーケンス番号

RemoteTransにおける改ざん検出 RTランタイムがリクエスト単位で整合性をチェック リクエストにノンス(乱数)を含める RTモジュールでリクエストとレスポンスのMACを計算 RTランタイムでも同様にMACを計算し、受信したMACと比較 ノンスによりリプレイ攻撃も検出可能 RTランタイム リクエスト ノンス レスポンス MAC 管理VM 監視対象VM RTサーバ データ レスポンス MAC リクエスト ノンス ハッシュ関数 RTモジュール ハッシュ関数 共有鍵 共有鍵 VMM 監視ホスト 監視対象ホスト

鍵管理 MACの計算に用いる暗号鍵を安全に共有 電子証明書などを用いて監視ホストを認証 RTランタイムが生成した暗号鍵をVMMの公開鍵で暗号化し てRTモジュールに送信 VMMの秘密鍵で復号化 RTランタイム 監視対象VM RTサーバ 共有鍵 共有鍵 秘密鍵 鍵サーバ 公開鍵

VMMの完全性チェック クラウド内のVMMが信頼できることを保証 検証サーバ VMM TPM ハードウェア 起動時のリモート・アテステーション クラウド外部の検証サーバが正しいVMMであることを確認 ハードウェア(TPM)による担保 VMM自身による実行時の保護 VMMを改ざんしたり、共有鍵を盗んだりすることはできない 検証サーバ VMM TPM ハードウェア

実装:RTランタイム RTランタイムをLinux 3.2上に実装 IDSに対して2つのAPIを提供 監視ホスト rt_get_data(addr, size) 監視対象VMのカーネルデータの取得 rt_get_proc_data(addr, size, pgd) 監視対象VMのプロセスデータの取得 IDS RTランタイム 監視ホスト

実装:Transcallの移植 VM Shadowを提供するTranscall [飯田ら’10]をRTラ ンタイム上に移植 監視対象は完全仮想化Linux 2.6.27.35 現在はShadow procfsのみサポート 監視対象VMのprocファイルシステムと同じ内容を提供 40行程度の修正 VM Shadow IDS 監視対象VM shadow procfs IDS データ Transcall RTランタイム 監視ホスト クラウド

実装:RTモジュール RTモジュールをXen 4.1.3に実装 クラウド内ホスト ページテーブルをたどることで仮想アドレスをマシンフレーム 番号(MFN)に変換してデータを取得 rt_get_dataからのリクエストの場合 CR3レジスタが指す現在のページテーブル rt_get_proc_dataからのリクエストの場合 PGDが指すプロセスのページテーブル ページテーブル データ RTモジュール クラウド内ホスト

実験 RemoteTransの有効性を確かめる実験を行った 管理VMにおける攻撃の検知 既存のIDSの動作確認 リクエスト・レスポンスの改ざん、リプレイ攻撃 既存のIDSの動作確認 Shadow procファイルシステム構築時間の測定 現在の実装ではデータの暗号化は行っていない Linux 3.2.0 CPU Intel core i7 メモリ 8GB CPU Intel Core i7 メモリ 16GB 管理VM Linux 3.2.0 メモリ 15GB 監視対象VM Linux 2.6.27.35 メモリ 512MB ギガビットイーサネット Xen 4.1.3 監視ホスト 監視対象ホスト

攻撃検知 リクエスト・レスポンスの改ざん リプレイ攻撃検知 RTサーバでリクエストとレスポンスのどちらかを改ざんした RTランタイムにおいてMACが一致せず、改ざんを検知でき た リプレイ攻撃検知 RTサーバでリクエストとレスポンスを保存 同じリクエストを受け取ったときにそのレスポンスを返した リクエストのノンスが異なるためMACが一致せず、リプレイ攻 撃を検知できた

監視ホストにおけるnetstatコマンド実行結果 既存のIDSの動作確認 監視ホスト上のVM Shadow内でpsコマンド、netstat コマンドを実行 procファイルシステムを参照してプロセス情報、ネットワーク 情報を返す 比較のために、管理VM上のVM Shadow内でも実行 Shadow procfsでinitプロセスを隠蔽 監視ホストでは監視対象VMの情報が正しく表示できることを 確認した 監視ホストにおけるnetstatコマンド実行結果

管理VMにおけるpsコマンド実行結果 隠蔽されたinitプロセス 監視ホストにおけるpsコマンド実行結果

Shadow procfsの構築時間(秒) 監視対象VMのprocfsのデータを取得してShadow procfsを構築する時間を測定 管理VMで構築する従来システムと比較 約15倍の時間がかかった 通信回数の多さが原因 34210回 実行時間 従来システム 1.1 RemoteTrans 16.4 Shadow procfsの構築時間(秒) 構築時間の内訳(秒)

関連研究 Copilot [Petroni et al.’04], HyperCheck [Wang et al.’10] PCIカードやSMMを使ってメモリをリモートに送る メモリ全体を送信するので通信量が多くなる HyperSentry [Azab et al.’10] IPMIとSMMを用いてリモートからIDSを実行し、結果を返す インストールされたIDSしか実行できず、柔軟性に欠ける Self-Service Cloud [Butt et al.’12] クラウド管理者が干渉できない管理VMを各ユーザに提供 その管理VM内の脆弱性が攻撃される恐れ VMCrypt [Tadokoro et al.’12] 特定のカーネルデータだけを管理VMに見せられる 監視したいが見せたくないデータには対処できない

まとめ クラウド内のVMを安全に監視するためのシステム RemoteTransを提案 今後の課題 クラウドの外の信頼できる監視ホストにIDSをオフロード VM Shadowを用いて既存のIDSを実行可能 クラウド内の信頼できるVMMにより監視データの改ざん防止 VMを安全に実行する機構との共存が可能 今後の課題 リモートからの監視の高速化 複数データの一括取得 VMM内でのデータ取得エージェントの実行 ファイルシステム、ネットワークの監視への対応