1 / 25

Detecting Intrusions on Windows Operating Systems by Monitoring System Services

Detecting Intrusions on Windows Operating Systems by Monitoring System Services. 米澤研究室 島本 大輔 2005 年 2 月 8 日. 現在のセキュリティ事情. インターネットの成長による attack による 危険性の増大 ウィルス、不正侵入、スパイウェア、など ⇒ Intrusion Detection System ( IDS )の重要性. Intrusion Detection System(IDS). 侵入検知システム

caron
Télécharger la présentation

Detecting Intrusions on Windows Operating Systems by Monitoring System Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Detecting Intrusions on Windows Operating Systems by Monitoring System Services 米澤研究室 島本 大輔 2005年2月8日

  2. 現在のセキュリティ事情 • インターネットの成長による attack による危険性の増大 • ウィルス、不正侵入、スパイウェア、など ⇒ Intrusion Detection System (IDS)の重要性

  3. Intrusion Detection System(IDS) • 侵入検知システム • Signature based = 既存のデータベースとの パターンマッチ • アンチウィルスソフト、など • Anomaly based = 通常と異なる、 異常な動作を検知

  4. 既存の IDS • 既存のWindows 用 IDS • Signature based が主流=新種への対応が困難 • Linux、UNIX における IDS の研究 • 新種への対応を含めた先進的な研究が多数

  5. Linux、UNIX における IDS • プロセスの様々な情報を監視 • [Forrest 96] の System Call の監視 • [Feng 03] のスタックの監視 • [Sekar 01] のプログラムカウンタの監視 • これらのWindows への応用が少ない • ブラックボックスなOS • 公式に提供されているモジュールでは不十分

  6. モチベーション • 『Linux、UNIX における先進的なIDS の研究を Windows へ応用したい』 Windows における System Call などの情報を使って異常を検出

  7. 研究内容 • Windows 用先進的な IDS への第一歩 • Windows 版 System Call であるSystem Service を Intercept • System Service のパターンを調査

  8. System Service • Windows の根本的な機能を提供 • ファイル操作、レジストリ操作、プロセス操作、など 例:NtWriteFile ― ファイルへの書き込みはすべて これを利用 • UNIX 系 OS の System Call に対応

  9. System Service の動作 System Service のコード アドレスを引く Kernel Mode User Mode アプリケーション

  10. System Service の Interception • 主に2通りの手法が存在 • System Service のアドレステーブル(System Service Descriptor Table)を書換 • System Call Table の書き換えと同等 • Kernel mode へスイッチする瞬間にIntercept • Windows 2000 以前ではソフトウェア割り込み • Windows XP 以降は SYSENTER 命令

  11. System Service の Interception System Service のコード アドレスを引く 1番の手法 アドレスを書換 Kernel Mode 2番の手法 スイッチした後のJUMP先を変更 User Mode アプリケーション

  12. System Service の Interception • 2番の SYSENTER 命令を利用したInterception を採用 • 既存研究が少数 • 監視する System Service の追加・削除が容易 • 一箇所において監視可能 ※SYSENTER 命令 • Fast System Call・・・System Call への遷移を1命令で完了

  13. System Service の Interception System Service のコード アドレスを引く 挿入したコード Kernel Mode User Mode SYSENTER アプリケーション

  14. 実装内容 • Interception はデバイスドライバとして動作 • 記録の出力のために別途、User Modeプログラムを開発 • System Service の記録を出力 • 検出もこのプログラムで行う予定

  15. System Service のパターンの取得 • 取得方法 • VMWare上でウィルスと今回のプログラムを実行 • 様々なウィルスのパターンを取得 • WORM_MUMU.B, WORM_NETSKY.Z,WORM_BEGLE.AT, WORM_SASSER.B など • 今後、より多くのパターンの調査が必要

  16. 出力の例(WORM_MUMU.B) 0112 0112 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 00b7 0112 = NtWriteFile, 0074 = NtOpenFile, 00b7 = NtReadFile

  17. まとめ • モチベーション • Windows における先進的なIDSの実装 • 今回の研究内容 • Interception の手法を調査・実装 • ウィルスなどのパターンを取得 • 今後の予定 • IDS への拡張

  18. 以上です。 ご清聴ありがとうございました。

  19. 概要 • 背景 • 関連研究 • 研究内容 • 実験内容 • まとめ

  20. SYSENTER で Interception • 次の IP を自分のコードへ変更 • WRMSR 命令で変更 • 自分のコードが終了後に本当のコードへJump⇒引き続き元の動作を実行

  21. SYSENTER • Fast System Call • System Call をするために必要な権限の移行に特化した命令 • セグメントセレクタ、インストラクションポインタ(IP)、スタックポインタを1命令であらかじめ設定された値に変更

  22. コード例 sti mov ecx, 176h rdmsr mov SYSENTER_EIP_MSR_H, edx mov SYSENTER_EIP_MSR_L, eax cli mov ecx, 176h xor edx, edx mov eax, stub wrmsr sti jmp endasm stub: pushad cmp eax, 30h /* CreateProcess の Service ID */ je log normal: popad jmp [SYSENTER_EIP_MSR_L] log: jmp normal endasm: ここにコードを追加する ことにより拡張可能

  23. 実験 • ウィルスに感染した状態でログを収集 • VMWare 上でウィルスを実行 • 〃    監視プログラムを実行 • ログを抽出

  24. これからの予定 • パターンの収集 • ウィルスのパターン • 侵入のパターン • 通常の操作によるパターン • パターンを実装し、IDSを完成させる

More Related