全体ミーティング 03/04 澤崎 純也. 紹介する論文 Stealthy Malware Detection Through VMM- based "Out-of-the-Box" Semantic View Reconstruction[Xuxian Jiang et al., CCS'07]

Slides:



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

九州工業大学大学院 情報工学府 情報創成工学専攻 塩田裕司.  仮想マシン( VM )は必要なときだけ動かすこと が多い ◦ クラウドでもデスクトップでも ◦ 長期間使わない VM が存在する  VM の再開時に攻撃を受ける可能性が高くなる ◦ 停止中に OS やアプリケーションの脆弱性が発見されるこ.
Virtual Editionのご紹介 2012年12月12日.
ファイルキャッシュを考慮したディスク監視のオフロード
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
クラウド上の仮想マシンの安全なリモート監視機構
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
Xenを用いたクラウドコンピュー ティングにおける情報漏洩の防止
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
KVMにおけるIDSオフロードのための仮想マシン監視機構
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
XenによるゲストOSの解析に 基づくパケットフィルタリング
ファイルシステムキャッシュを 考慮したIDSオフロード
ネストした仮想化を用いた VMの安全な帯域外リモート管理
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
VMマイグレーションを可能にするIDSオフロード機構
クラウドの内部攻撃者に対する安全なリモートVM監視機構
アスペクト指向プログラミングを用いたIDSオフロード
サスペンドした仮想マシンの オフラインアップデート
Virtual Editionのご紹介 2012年7月26日.
型付きアセンブリ言語を用いた安全なカーネル拡張
卒業論文に向けて(5) 学部4年生 島本 大輔 2004年12月14日.
踏み台攻撃だけを抑制できる VMMレベル・パケットフィルタ
KVMにおける仮想マシンの 内部監視機構の実装と性能評価
仮想マシン間にまたがる プロセススケジューリング
Xenによる ゲストOSの監視に基づく パケットフィルタリング
仮想計算機を用いて OSを介さずに行う安全な ファイルアクセス制御
セキュリティ機構のオフロードを考慮した 仮想マシンのスケジューリング
分散IDSの実行環境の分離 による安全性の向上
仮想マシンモニタによる きめ細かい パケットフィルタリング
VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止
VMのメモリ暗号化による クラウド管理者への情報漏洩の防止
IaaS型クラウドにおける インスタンス構成の動的最適化手法
仮想マシン間プロセススケジューリングの 実環境への適用にむけて
リモートホストの異常を検知するための GPUとの直接通信機構
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
全体ミーティング 6月6日 島本 大輔(M2) 2006年6月6日(火).
データ構造と アルゴリズム 第五回 知能情報学部 新田直也.
IaaS環境におけるVMのメモリ暗号化による情報漏洩の防止
クラウドにおけるVMリダイレクト攻撃を防ぐためのリモート管理機構
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
仮想マシンを用いた 既存IDSのオフロード
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
セキュリティ機構のオフロード時の 性能分離
VMMのソフトウェア若化を考慮した クラスタ性能の比較
信頼できないクラウドにおける仮想化システムの監視機構
仮想環境を用いた 侵入検知システムの安全な構成法
Cell/B.E.のSPE Isolationモードを用いた監視システム
仮想マシンの監視を継続可能なマイグレーション機構
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
Cell/B.E. のSPE上で動作する 安全なOS監視システム
Mondriaan Memory Protection の調査
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
卒業論文に向けて(3) 学部4年生 島本 大輔 2004年11月11日.
強制パススルー機構を用いた VMの安全な帯域外リモート管理
プログラムの一時停止時に 将来の実行情報を提供するデバッガ
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
L4-Linux のメモリ管理における問題点とその解決策
Virtual Machine Introspectionを可能にするVMCryptの拡張 田所秀和 光来健一 (九州工業大学)
強制パススルー機構を用いた VMの安全な帯域外リモート管理
管理VMへの キーボード入力情報漏洩の防止
Presentation transcript:

全体ミーティング 03/04 澤崎 純也

紹介する論文 Stealthy Malware Detection Through VMM- based "Out-of-the-Box" Semantic View Reconstruction[Xuxian Jiang et al., CCS'07] – 卒論で関連研究として取り上げた論文

卒論の内容 ( 概略 ) VMM 側で Linux2.6 の fork(),exec() を Kernel 修 正なしに検出する手法 具体的には Page Table の特徴を利用して検 出 fork の時の page directory exec の時の page directory Page Table

本論文の対象 ステルス性を持った malware, bot への対策 – Anti-malware software を無効化してしまうよう な malware, bot が多数存在する Anti-malware software を VM の外側に配置し て攻撃耐性を高めたい – ところがそううまくはいかない

In-the-box Approach 従来の Anti-malware software の手法 VM の内側 (OS 内 ) から検出、駆除 malware から攻撃された場合の耐性は低い 参照できる情報 – プロセス、ファイル、カーネルモジュール等

Out-of-the-box Approach VM の外側から検出、駆除などを行う malware からの攻撃耐性は高い 参照できる情報 – メモリ、レジスタ、ディスクブロックなど、 低レベルの情報のみ

Semantic Gap VM の内側と外側からでは取得できる情報 が異なる – VM の外側からは OS 内部の情報 ( プロセスなど ) は直接は参照できない 従って In-the-box から Out-of-the-box への Approach の移行がスムーズでない

Guest view casting VM の内側の情報を外側で再構築する これにより、前述の Semantic gap を埋める 具体的には、 Guest OS が利用するデータの 構造をテンプレートとして用い、 VM の外側で解釈してしまう

実装方針 VM 内のシステムに対して干渉しない – 低レベルの情報を用いることで malware に対し て Anti-malware software の活動を認知させない Semantic gap の縮小 – VM の外側からでも Anti-malware software が動 作できるようにしたい 様々な VMM に適用できること – 完全 / 準仮想化の両方式で動作すること – close-source の VMM でも動作すること

実装 Semantic gap を埋める VMwatcher というシステ ムを筆者らは提案、その prototype を以下の VM 上に実装した – VMware Server – QEMU – Xen – UML 対象 Guest – Windows 2000/XP – Red Hat Linux 7.2/8.0/9.0 – Fedora Core 1/2/3/4

Semantic View Reconstruction (1/5) Disk 情報を再構成する VM 内部の Disk のファイルシステムが分 かっていればそれを読み込むだけでよい Windows 上では ext2/ext3 filesystem を読み 込めないので筆者らは ext2/ext3 用 driver を 実装した

Semantic View Reconstruction (2/5) メモリ情報の再構成 ここでは 32bit Linux に限定する Windows の場合は後述

Semantic View Reconstruction (3/5) Linux では各プロセスの情報を task_struct 構造 体によって管理している 各構造体は連結リストで辿ることができる 構造体リストの先頭アドレス (init_task_union) はファイルとして保存されている (System.map) Kernel 空間 (0xC 以降 ) は物理メモリの 0 番地以降にストレートマッピングされている 以上からプロセスの情報が復元できる

Semantic View Reconstruction (4/5)

Semantic View Reconstruction(5/5) Windows の場合は Linux のように明示的なア ドレスが分からないので、メモリのフル スキャンを行うことによりプロセス情報 を取得する 特定の値を signature として用いる – GREPEXEC: Grepping Executive Objects from Pool Memory[bugcheck, 2006]

評価 1-1 : プロセス隠蔽型 rootkit Windows/Linux 用の rootkit 各 10 種を導入 rootkit によって隠蔽されたプロセス、ファ イルを VM の外側から検出できた 次ページの図は Windows 用 rootkit (kernel-level FU rootkit) の検出例 – タスクマネージャから任意のプロセスを参照 できないようにしてしまう

図 :FU rootkit VM の外側から見た プロセスリスト (PID=336 は見える ) VM の内側から見た プロセスリスト (PID=336 が隠蔽済 ) VM 内で PID=336 を隠蔽

評価 1-2 : ファイル隠蔽型 rootkit ファイルを隠してしまう rootkit(Hacker Defender, NTRootkit) を WindowsXP 上に導入 VM 内の Anti-malware software は隠蔽された rootkit を見逃してしまう VMwathcer を経由して VM の外側から Anti- malware software を走らせることで隠蔽さ れた rootkit を検出できた

ファイルが隠されているので VM の内側の Anti-Virus software では 検出できなかった VM の外側から Anti-Virus software を 実行すると検出できた

評価 1-3 : Linux kernel rootkit カーネル上の関数ポインタを書き換える ことでファイル、プロセスを隠蔽する rootkit (adore-ng) を導入 同様に隠蔽されたファイル、プロセスを 検出できた

VM の外側 VM の内側 "backdoor" のファイル、プロセスを隠 蔽

評価 2 : "Out-of-the-box" malware detection VM の外側から Anti-malware software を実行、 VM 内の rootkit の検出実験を行った Windows 版 Symantec AntiVirus が VM 内 (Linux) の rootkit を検出できた – Windows/Linux 版が存在するから MS Windows Defender では rootkit を検出で きなかった – Windows 向けに特化しているから

評価 3-1 : 検出 Performance(1) 7 種の anti-virtus software を VM の内側と外側 から実行した場合の時間を比較 外側から実行した方が速かった

評価 3-1 : 補足 Anti-virus softwareVMHost Symantec AntiVirus, MS Windows Defender, MS Malicious Software Removal Tool WindowsXP Mem:256MB Disk:6GB WindowsXP Mem:2GB Disk:120GB Kaspersky AntiVirusRed Hat 8.0 Mem:1GB Disk:4GB Scientific Linux 4.4 Mem:2GB Disk:180GB F-PROT AntiVirusDebian 3.1 Linux (Xen) Scientific Linux 4.4 Mem:4GB Disk:330GB McAfee AntiVirus Scan, Sophos Anti-Virus Red Hat 7.0 Mem:128MB Disk:512MB (UML) Red Hat Enterprise 4 Mem:2GB Disk:135GB

評価 3-2 : 検出 Performance(2) メモリイメージに対してウィルスチェッ クを実行 Linux に対してはメモリサイズに関わらず 0.5 秒程度で終了した – メモリの意味的構造を復元できているため Windows に対してはメモリサイズに対して 線形に処理時間が増加 – Close-source なので現状メモリ構造を 復元できていないため

課題 rootkit が独自の Scheduler, 独自の Process list を 管理するようになった場合は対処できない – OS の Scheduler, Process list を仮定しているため – Scheduler の変更自体は Hash 等を利用することで検 出はできる – より広範な監視が必要 ( システムコールテーブ ル,IDT など ) rootkit が VM 上で実行されていることを検出、 挙動を変えるような可能性 – VM の挙動をより実機に近いものに似せるなどの 対策が必要

関連研究 侵入検知 – Livewire system [T. Garfinkel et al, USENIX'02] – IntroVirt [A. Joshi et al, SOSP 2005] 仮想化を悪用した malware – SubVirt [King et al, IEEE Symposium on Security and Privacy, 2006] – Blue Pill [Rutkowska et al, Blackhat 2006] – Vitriol [D. D. Zovi, Blackhat 2006]

まとめ VM の外側から malware を検出するため、 VMWatcher を複数の VMM 上に実装し Semantic gap を解決した VM の外側に Anti-malware software を 配置することで、 Anti-malware software に 対する攻撃耐性を高めることができた