Xenによる ゲストOSの監視に基づく パケットフィルタリング

Slides:



Advertisements
Similar presentations
ファイルキャッシュを考慮したディスク監視のオフロード
Advertisements

セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
クラウド上の仮想マシンの安全なリモート監視機構
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
KVMにおけるIDSオフロードのための仮想マシン監視機構
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
仮想計算機を用いたファイルアクセス制御の二重化
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
XenによるゲストOSの解析に 基づくパケットフィルタリング
ファイルシステムキャッシュを 考慮したIDSオフロード
ネストした仮想化を用いた VMの安全な帯域外リモート管理
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
VMマイグレーションを可能にするIDSオフロード機構
クラウドの内部攻撃者に対する安全なリモートVM監視機構
アスペクト指向プログラミングを用いたIDSオフロード
サスペンドした仮想マシンの オフラインアップデート
型付きアセンブリ言語を用いた安全なカーネル拡張
SAccessor : デスクトップPCのための安全なファイルアクセス制御システム
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
踏み台攻撃だけを抑制できる VMMレベル・パケットフィルタ
KVMにおける仮想マシンの 内部監視機構の実装と性能評価
仮想マシン間にまたがる プロセススケジューリング
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
仮想計算機を用いて OSを介さずに行う安全な ファイルアクセス制御
セキュリティ機構のオフロードを考慮した 仮想マシンのスケジューリング
セキュリティ(6) 05A2013 大川内 斉.
分散IDSの実行環境の分離 による安全性の向上
他のプロセスに あたえる影響が少ない 実行時ミラーリングシステム
仮想マシンモニタによる きめ細かい パケットフィルタリング
VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止
VMのメモリ暗号化による クラウド管理者への情報漏洩の防止
IaaS型クラウドにおける インスタンス構成の動的最適化手法
仮想マシン間プロセススケジューリングの 実環境への適用にむけて
リモートホストの異常を検知するための GPUとの直接通信機構
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
シャドウデバイスを用いた 帯域外リモート管理を継続可能なVMマイグレーション
インターネットにおける真に プライベートなネットワークの構築
セキュリティ 05A2013 大川内 斉.
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
IaaS環境におけるVMのメモリ暗号化による情報漏洩の防止
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
アスペクト指向言語のための 独立性の高いパッケージシステム
仮想マシンを用いた 既存IDSのオフロード
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
セキュリティ機構のオフロード時の 性能分離
VMMのソフトウェア若化を考慮した クラスタ性能の比較
片方向通信路を含む ネットワークアーキテクチャに於ける 動的な仮想リンク制御機構の設計と実装
信頼できないクラウドにおける仮想化システムの監視機構
仮想環境を用いた 侵入検知システムの安全な構成法
仮想マシンの監視を継続可能なマイグレーション機構
IDSとFirewallの連携によるネットワーク構築
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
Cell/B.E. のSPE上で動作する 安全なOS監視システム
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
強制パススルー機構を用いた VMの安全な帯域外リモート管理
nチャネルメッセージ伝送方式のためのjailによる経路制御
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
Virtual Machine Introspectionを可能にするVMCryptの拡張 田所秀和 光来健一 (九州工業大学)
強制パススルー機構を用いた VMの安全な帯域外リモート管理
管理VMへの キーボード入力情報漏洩の防止
Presentation transcript:

Xenによる ゲストOSの監視に基づく パケットフィルタリング 理学部 情報科学科 学籍番号: 04-12926 安積 武志 指導教員: 千葉 滋 准教授 XenによるゲストOSの監視に基づくパケットフィルタリングというタイトルで、千葉研究室の安積が発表します。

仮想マシンによるホスティング 仮想マシン単位での貸し出し 仮想マシンモニタから通信を遮断することで即座に攻撃に対処できる を貸し出す 仮想マシン単位での貸し出し ホストをソフトウェア的に管理 仮想マシンモニタで一括管理 仮想マシンモニタから通信を遮断することで即座に攻撃に対処できる 例:踏み台攻撃を受けて外部に大量にssh 仮想マシンモニタ管理者がフルタイムですべての仮想マシンを管理していれば良い VM VM VM OS OS OS ・・・ 仮想マシンモニタ

通信制御の粗粒度 仮想マシンモニタ管理者にはきめ細かい通信制御ができない 仮想マシンモニタにはプロセスやユーザといった情報は分からない OSの持つ内部の情報だから 例:攻撃に使われているプロセスや攻撃しているユーザのsshだけを止めることはできない すべてのsshができなくなる FreeBSDのipfwを使えば可能 結局、ゲストOS管理者もフルタイムで管理せざるを得ない

提案:xFilter 仮想マシンモニタからゲストOSの細粒度な通信制御を行えるようにする ゲストOSのプロセスID、ユーザIDを指定してパケットフィルタリング ゲストOSのメモリを調べてプロセス、ユーザの情報を取得 使用例:仮想マシンモニタ管理者がsshを使った踏み台攻撃を検知 ゲストOSで攻撃を行っているユーザを特定 xFilterの提供するプロセス情報一覧表示機能を利用 攻撃しているユーザを指定してsshを遮断する

通信の制御 ドメイン0でiptablesを使ってゲストOSのプロセスやユーザが行っている通信を遮断するルールを追加 ドメインUのメモリを調べて対象となるプロセスやユーザが使っているポート番号を取得 ポーリングを行ってフィルタリングルールを更新 ドメインUのメモリを見てルールにマッチする通信があるかチェック メモリをチェックするときはドメインを停止する あればポート番号を取得してiptablesのルールに追加 iptables ドメイン0 ドメインU 監視 パケットの流れ Xen VMM

プロセス情報の取得(1) ドメインUのメモリをドメイン0のメモリにマッピング Xenの提供するメモリ操作するための関数を利用 指定したアドレスからページサイズ分のメモリをマッピング 参照したい構造体の先頭アドレスを指定してマッピング 参照したいメンバがポインタ 型であればそのアドレスを 計算してさらにマッピング ゲストOSのメモリ操作に必 要な型情報はデバッグ情報 から取得 ドメイン0 ドメインU 情報が見られるようになる 参照したい 情報 マッピング Xen VMM

プロセス情報の取得(2) カレントプロセスから順番にすべてのプロセスの情報を得る 指定したIDと一致したらさらに詳しい情報をマッピングする カレントプロセスのメモリ上の位置はドメインのCPUのGSレジスタからたどる 指定したIDと一致したらさらに詳しい情報をマッピングする ポート番号を取得 GSレジスタ task_struct task_struct task_struct ・・・ files プロセスID ユーザID files_struct fdtab fdtable fd file f_dentry ポートやIPアドレスなどの情報 dentry socket_alloc d_inode socket sk sock inode

実験 ポーリングの間隔を変えてオーバーヘッドを測定した ポーリングごとにドメインを停止させる時間を調べた メモリをマップしてドメインUのプロセスを調べるのにかかる時間 10000回繰り返して最大値、最小値、平均値を計算 ポーリングの間隔を変えてオーバーヘッドを測定した httperfを使って実験 毎秒150リクエスト 実験環境 CPU:Athlon™ 64 Processor 3500+ Mem:1Gbyte (Dom0/DomU 512Mbyte/256Mbyte) VMM:Xen3.1.0 (x86_64) OS:Linux Kernel 2.6.18

実験結果 ドメインのポーズ時間[ミリ秒] ポーリングの間隔とオーバーヘッド ポーリング間隔を短くすれば処理時間は長くなった 最大値:52,最小値:15,   平均値:19 スループットとしては1%のオーバーヘッド 常にオーバーヘッドが発生しているわけではない xFilterは管理者が危険であると判断したときのみ使用する ポーリングの間隔とオーバーヘッド ポーリング間隔を短くすれば処理時間は長くなった スループットには影響なかった サーバにまだ余裕があった

関連研究 Antfarm [Jones et al. ’06] Geiger [Jones et al. ’06] [田所ら ’07] 仮想マシンモニタ上からドメインに手を加えずにプロセスの情報を取得する技術 取得できる情報はプロセスの状態の変化だけ Geiger [Jones et al. ’06] 仮想マシンモニタ上からドメインに手を加えずにバッファキャッシュの状態を取得する技術 [田所ら ’07] ドメイン間にまたがるプロセスのスケジューリングを実施 仮想マシンモニタ上からゲストOSのランキューを操作

まとめ xFilterを提案 今後の課題 フィルタリングの精度が上がる 仮想マシンモニタ管理者によるプロセス単位、ユーザ単位のパケットフィルタリングを可能にするシステム ゲストOSのメモリをマッピングすることでゲストOS内のプロセス情報を仮想マシンモニタ上から取得 プロセスID、ユーザIDからポート番号を取得し、iptablesを用いて通信を制御 今後の課題 デバイスドライバを改造して、パケットの到着毎にプロセス情報を参照してルールを更新できるようにする フィルタリングの精度が上がる もっと負荷を大きくして実験する