ファイルシステムキャッシュを 考慮したIDSオフロード

Slides:



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

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

ファイルシステムキャッシュを 考慮したIDSオフロード 土田賢太朗(九州工業大学) 光来 健一(九州工業大学/JST CREST)

侵入検知システム(IDS) IDSはサーバへの攻撃者の侵入を検知するために 用いられる 攻撃者はまずIDSを攻撃するようになってきた 例:ディスクを監視してファイルの改ざんを検知する 攻撃者はまずIDSを攻撃するようになってきた IDSが侵入を検知できなくなる 例:Haxdoor 攻撃者 攻撃者 IDS 監視 仮想ディスク

仮想マシンを用いたIDSのオフロード サーバを仮想マシンで動かし,IDSだけを別の仮想 マシンで動かす手法 IDSが仮想ディスクを監視 サーバVMではIDSは動いていない IDS-VMでは不要なサービスを動かさないので侵入され ない IDS VM サーバVM IDS 監視 仮想ディスク

IDSオフロードにおけるディスクの監視 ディスクに書き戻されていないファイルシステム内 部のキャッシュを監視できない 仮想ディスクを直接見ている ページキャッシュ アプリケーション等で作成・修正されたファイルが一時的 に保存される領域 一定時間が経過しないとディスクに書き戻されない サーバVM アプリケーション ファイル ページ キャッシュ IDS-VM 監視 IDS 仮想ディスク

ページキャッシュを利用した攻撃 ページキャッシュからディスクへの書き戻しまでの時 間を長くする /proc/sys/vm/dirty_writeback_centisecsなどの 値を大きくする ファイルキャッシュ上のファイルを不正に書き換えられ ても検知できない サーバVM 閲覧者 改ざんされたwebページ webサーバ 攻撃者 改ざんされたwebページ ページ キャッシュ IDS-VM 監視 webページ IDS 仮想ディスク

CacheShadowファイルシステム 仮想ディスクとファイルシステムキャッシュを統合し て監視を行えるようにするファイルシステム IDSが最新のファイルにアクセスできるようにする VMイントロスペクションを用いてサーバVMのOSカー ネルのメモリを解析 サーバVM CacheShadow ファイルシステム 仮想ディスク キャッシュ IDS VM IDS

統合するファイルシステムキャッシュ ページキャッシュ ディレクトリキャッシュ メタデータキャッシュ ファイルデータのキャッシュ ファイルの改ざんの検知 ディレクトリキャッシュ ディレクトリエントリのキャッシュ 追加されたファイルやディレクトリの検知 メタデータキャッシュ 時刻やアクセス権などのメタデータのキャッシュ 更新時刻を最新に保つことができアクセス権の変更も検 知可能になる ファイルシステム キャッシュ

VMイントロスペクション サーバVMの外からサーバVMの情報を取得する カーネルのデバッグ情報からサーバVMのメモリにア クセス プロセスを解析する場合:init_task サーバVMのメモリページをIDS VMにマップして解析 する IDS VM サーバVM CacheShadow ファイルシステム 仮想メモリ 擬似物理メモリ マシンメモリ

ページキャッシュの解析 サーバVMのメモリを管理しているpage構造体を解 析 page構造体を順番に調べるだけでよい ぺージキャッシュはファイル単位で管理されている ファイルごとに見るのは面倒 IDS-VM サーバVM page構造体 ファイル CacheShadow ファイルシステム radix_tree ディレクトリエントリ ページキャッシュ

ページキャッシュの判別 page構造体の用途を示すフラグで判別 ディスクに書き戻されていないページキャッシュだけ を選別 ページキャッシュを直接指すフラグがない いくつかのフラグを組み合わせて消去法で判別する ディスクに書き戻されていないページキャッシュだけ を選別 PageDirtyフラグで判定 page構造体 PG_slab ページをスラブで使用 PG_reserved 予約済みページ PG_swapcache スワップキャッシュとして使用 ページキャッシュ

キャッシュとファイルの対応付け ページ構造体から順にたどってキャッシュされてい るファイル情報を取得 単純に構造体をたどるだけでいい 得られた情報はハッシュ表に格納 オフセット,inode番号,デバイス番号からページ キャッシュのページ番号を返す page構造体 inode構造体 super_block構造体 adress_space構造体 inode番号 デバイス番号

ページキャッシュとディスクの統合 ハッシュ表を用いてファイルの読み込み先を切り替 える 読み込もうとしているファイルのinode番号とデバイス 番号,オフセットを調べる ハッシュ表を検索 登録されていればページキャッシュ,無ければ仮想ディ スクから読み込む ページ キャッシュ CacheShadow ファイルシステム ハッシュ表 仮想ディスク

その他のキャッシュの解析 ディレクトリキャッシュ メタデータキャッシュ ファイルやディレクトリのパス名からディレクトリキャッ シュを探索 ファイルやディレクトリのinode構造体はdentry構造 体からたどることができる dentry構造体 inode構造体 更新時刻 アクセス保護 所有者のUID ファイルの大きさ

スナップショットの解析・監視 VMのメモリとディスクのスナップショットをとって解 析する 現在の実装ではサーバVMを停止している メモリの解析中や解析した情報を使う前に更新が行 われるのを防ぐ 現在の実装ではサーバVMを停止している サーバVMの スナップショット サーバVM IDS VM メモリ CacheShadow ファイルシステム 仮想ディスク

実装 Xen上に実装 IDS VM:ドメイン0 サーバVM:ドメインU FUSEを用いた サーバVMのOS:Linux ドメイン0 CacheShadow ファイルシステム ファイルシステム キャッシュ FUSE 仮想ディスク

実験 ページキャッシュを利用した攻撃 ページキャッシュ上のデータの読み込み 取得できたページキャッシュのページ数 ぺージキャッシュ情報の解析にかかる時間 実験環境 Xen 4.1.1 ドメイン0/ドメインUカーネル:Linux 2.6.39 CPU:Intel Core i7 2.93GHz メモリ:4GB HDD:SATA 500GB

ページキャッシュを利用した攻撃 ページキャッシュを利用した攻撃は可能 ページキャッシュの書き戻しまでの時間を長く設定 ディスク上にファイルを追加 ディスク上のファイルを書き換える ディスク上のファイルの実行権限を変更 ディスクを直接マウントしただけではディスクから読み 込むだけ サーバVM ページ キャッシュ IDS VM 仮想ディスク

ページキャッシュ上のデータの読み込み ページキャッシュ上のファイルの書き換えが検知で きることを確認 CacheShadowファイルシステムでページキャッシュ 上のファイルを読み込めた サーバVMのページキャッシュの書き戻しまでの時間を 長く設定 IDS VM サーバVM ページキャッシュからデータが読み込めるかどうか実験を行いました。ページキャシュの書き戻しまでの時間を長くした状態で、ディスク上の青い画像を赤いものに書き換えて、ディスクとキャッシュ で違う画像になるようにしました。そしてCacheShadowファイルシステムを用いた所、赤い画像が開けることが確認できました。 blue.bmp blue.bmp ページ キャッシュ CacheShadow ファイルシステム blue.bmp 仮想ディスク

取得できたページキャッシュのページ数 CacheShadowファイルシステムが取得したぺージ キャッシュのページ数とサーバVM上で見たのペー ジキャッシュの数を比較 2つのページ数は一致したので正しくページキャッ シュを取得できたと考えられる

ぺージキャッシュ情報の解析にかかる時間(1/2) ページキャッシュがほぼ0の場合 解析にかかる最低のオーバーヘッド 1 秒程度で 1GB のメモリ を解析できている

ぺージキャッシュ情報の解析にかかる時間(2/2) ページキャッシュを増やした場合 解析するキャッシュの大きさに比例して処理時間も増 加 解析にかかるオーバーヘッドが大きすぎる page構造体 処理時間[s] inode構造体 super_block構造体 adress_space構造体 inode番号 デバイス番号

関連研究 Storage IDS [Adam et al. ‘03] VMwatcher [Jiang et al. ‘07] NFSサーバなどのディスク側でIDSを動作させ監視 NFSクライアントのキャッシュを監視できない VMwatcher [Jiang et al. ‘07] 既存のアンチウィルスでサーバVMを外から監視可能 サーバVMの仮想ディスクを参照するのみ HyperSpector [Kourai et al. ‘05] OSの仮想化機能を利用したIDSオフロード IDS VMはサーバVMとキャッシュを共有

まとめ CacheShadowファイルシステムを提案 ファイルシステムキャッシュと仮想ディスクを統合して 監視が行える 監視対象OSからぺージキャッシュ,ディレクトリキャッ シュ,メタデータキャッシュに関する情報を取得 ページキャッシュからファイルを読み込めた

今後の課題(1/2) CacheShadowファイルシステムの実装を完成 ページキャッシュの解析にかかる時間の改善 ディレクトリキャッシュ・メタデータキャッシュへの対応 FUSEを用いた実装の完成 現在はページキャッシュについてファイルの読み込みや 解析ができているだけ ページキャッシュの解析にかかる時間の改善

今後の課題(2/2) ぺージキャッシュを解析するよりよい方法の検討 現在の実装はすべてのキャッシュを解析 ディスク全体を監視したい時には有効 少数のファイルだけを監視する場合には非常に効率が 悪い 目的のページキャッシュだけを解析する手法 少数のファイルの監視には適している すべてを監視する場合にはオーバーヘッドが大きい 実装が複雑になる