slide - KSL

九州工業大学大学院
情報工学府 情報創成工学専攻
13675019 重田一樹

IaaS型クラウドの普及
◦ ユーザの仮想マシン(ユーザVM)をクラウド内で実行
 サーバの維持・管理・導入コストの削減

二種類の攻撃者への対策を考える必要がある
◦ 外部攻撃者
◦ 内部攻撃者
 クラウド管理者は信頼できるとは限らない
管理VM
ユーザVM
クラウド

ネットワーク経由でユーザVMに侵入される
◦ VM内のIDSは侵入と同時に無効化される恐れがある

IDSオフロード手法が提案されている
◦ 管理VMにIDをオフロードし、ユーザVMを外から監視
 Livewire [Garfinkel et al.’03], …
 例:ユーザVMのメモリ上のシステム情報を直接取得
◦ ユーザVMに侵入されてもIDSを無効化されない
管理VM
ユーザVM
IDS
メモリ
ディスク
ネットワーク

ユーザVMに侵入されなくても攻撃を受ける
◦ VMのメモリ、ディスク、ネットワークの情報を直接盗む

ユーザVMを安全に実行する機構が提案されている
◦ VMのメモリを暗号化したり、アクセスを制限したりすること
で管理VMへの情報漏えいを防ぐ
 CloudVisor [Zhang et al.’11], VMCrypt [Tadokoro et al.12], SSC
[Butt et al .’12]
管理VM
ユーザVM
暗号化
アクセス制限
メモリ
仮想マシンモニタ(VMM)など
クラウド

内部攻撃者が存在する状況ではIDSオフロードの安
全性を保証するのは難しい
◦ オフロードしたIDSは内部攻撃者に容易に無効化される
 IDSを停止・改ざんしてからユーザVMに侵入
◦ VMの安全な実行機構を共存させることができない
 メモリ上のデータを取得できないと、オフロードしたIDSはユーザVM
の情報を取得できない
管理VM
ユーザVM
IDS
クラウド

クラウド外部の監視ホストにIDSをオフロードし、ネッ
トワーク経由でユーザVMを監視する
◦ クラウド管理者からIDSを無効化されるのを防ぐ
◦ VMの安全な実行機構と共存できる
 監視ホストにのみユーザVMのメモリへのアクセスを許可
IDS
ユーザVM
監視ホスト
クラウド

IDSリモートオフロードを実現するシステム
◦ 監視ホスト上でIDSを動作させ、クラウド内のVMMを経由
してユーザVMを監視
◦ VMMがユーザVMの情報を取得
◦ 管理VMでの情報漏洩や改ざんを防ぐ
IDS
管理VM
ユーザVM
VMM
監視ホスト
クラウド

既存技術を用いてVMMの正しさを保証
◦ 起動時のリモートアテステーション
 起動時にVMMのハッシュ値を計算し検証サーバで検証
 信頼できる上級クラウド管理者が正しいハッシュ値を登録
 ハードウェア(TPM)による担保
◦ VMM自身による実行時の保護
 VMMのメモリ保護機能によりVMM実行時の改ざんを防ぐ
管理VM
ユーザVM
VMM
TPM
ハードウェア
クラウド
検証
サーバ

VMMからユーザVMのメモリ情報を取得
◦ リクエスト:IDSが必要とするメモリのアドレスとサイズ
◦ レスポンス:暗号化されたメモリデータ

管理VMなどでの改ざんを防ぐ
◦ RTモジュールで<リクエスト,レスポンス>のMACを計算
◦ そのMAC値とRTランタイムが計算したMAC値と比較
IDS
RTランタイム
管理VM
リクエスト
ユーザVM
データ
RTサーバ
レスポンス
VMM
RTモジュール
監視ホスト
クラウド

VMMでキャプチャしたパケットを取得
◦ ユーザVMが送受信するパケットはVMMを経由
◦ 監視ホスト上のtapデバイスに書き込み
◦ IDSはtapから従来通りにパケットを取得

RTモジュールで<パケット、連番>のMACを計算
◦ RTランタイムで検証
IDS
tap
管理VM
RTランタ
イム
RT
サーバ
RTモジュール
監視ホスト
ユーザVM
パケット
パケット
パケット
クラウド
VMM

NBDを用いてユーザVMのディスク情報を取得
◦ NBD:リモートのディスクを仮想的なブロックデバイスとして
見せるツール

ディスクはユーザVM内のOSが暗号化
◦ RTランタイムで暗号化されたディスクを復号し、IDSに参照させ
る
IDS
復号
管理VM
NBD
サーバ
ユーザVM
暗号化
ディスク
暗号化
ディスク
監視ホスト
暗号化
VMM
クラウド

VM Shadow
[飯田ら’10]をRemoteTransに対応
◦ 既存のIDSをオフロードするための実行環境
◦ ディスク監視機構を用いてファイルシステムを提供
◦ メモリ監視機構を用いてprocファイルシステムを提供
 ユーザVM内の実行中のプロセス情報など
◦ ネットワーク監視機構を用いてtapデバイスを提供
VM Shadow
tap
IDS
ユーザVM
shadow
procfs
RTランタイム
監視ホスト
クラウド

RemoteTransの性能を調べる実験を行った
◦ Shadow procfsの構築時間を測定
比較対象
◦ 実際のIDSの性能を測定
・管理VMへの従来のオフロード
・オフロードせずユーザVMで実行
CPU Intel Xeon E3-1290
メモリ 16GB
Linux 3.13.0
CPU Intel Xeon E3-1270
メモリ 16GB
ギガビット
イーサネット
(LAN)
管理VM
Linux 3.2.0
メモリ 8GB
ユーザVM
Linux 2.6.27.35
メモリ 4GB
Xen 4.1.3
監視ホスト
監視対象ホスト

ユーザVMのメモリ情報を取得してShadow procfs
を構築する時間を測定
◦ 従来のIDSオフロードの3.5倍程度の時間がかかった
◦ メモリアクセスと通信が大きなボトルネックとなっている
 実運用環境では通信が最大のボトルネックとなる
構築時間,
1.28
実行時間
従来のIDSオフロード
1.2
RemoteTrans
4.3
Shadow procfsの構築時間(秒)
データ取得,
通信, 1.09
復号, 0.27
暗号化,
0.19
1.00
MAC検証,
0.47
Shadow procfs構築時間の内訳(秒)

chkrootkitとTripwireの実行時間を測定
◦ chkrootkitはメモリとファイルを監視
◦ Tripwireはディスク監視のみ
◦ RemoteTransが最も性能がよくなった
 ディスク読み込み性能が高いため
70
63.4
50
40
50.0
38.9
30
20
10
25
実行時間(分)
実行時間(秒)
60
27.8
30
20
15
15.7
19.1
従来のオフロード
10
オフロードなし
5
0
0
chkrootkitの実行時間(秒)
RemoteTrans
Tripwireの実行時間(秒)
Snortが攻撃を検知するまでにかかる時間を測定
◦ ユーザVMに対してポートスキャンを実行
◦ RemoteTransでは2.3秒程度検知が遅くなった
 パケットを監視ホストに送る必要があるため
 異常検知が少し遅れてもさほど問題ではない
3
2.611
2.5
検知時間(秒)

2
RemoteTrans
1.5
従来のオフロード
オフロードなし
1
0.5
0
0.373
0.364

CloudVisor
[Zhang et al.’11]
◦ 信頼できないVMMの下で動くセキュリティモニタによりVM
のメモリを保護
◦ VMの外から監視を行うことはできない

VMCrypt
[Tadokoro et al.’12]
◦ ユーザVM内の特定のデータだけを管理VMに見せられる
◦ 監視したいが見せたくないデータには対処できない

Self-Service Cloud
[Butt et al.’12]
◦ クラウド管理者が干渉できない各ユーザ専用の管理VMに
IDSをオフロード可能
◦ その管理VM内のシステムの脆弱性が攻撃される恐れ

IDSをクラウド外部の監視ホストにオフロードする
IDSリモートオフロードを提案
◦ 内部攻撃者によるIDSの無効化を防ぐ
◦ VMの安全な実行機構との共存が可能

IDSリモートオフロードを実現するシステム
RemoteTransを開発
◦ 実際のIDSを効率よく動作させることができた

今後の課題
◦ IDSリモートオフロードのオーバヘッド削減