エンタープライズ:特集 | 2002/12/06 18:35:00 更新 |
第5回 Tripwireを運用するときの注意点 (3/4)
rootkitの検出について
なんらかの方法で侵入に成功したクラッカーは、その痕跡を消そうとしたり、再度侵入するためのバックドアを設置するなど、存在を知られないためにコマンドファイルをすり替える。例を挙げれば「ps」、「netstat」、「ls」などのコマンドファイルがそれにあたる。実際には、こういった改ざんされたコマンドファイルを、侵入に成功した際に1つ1つ入れ替えるのではなく、それらのツールやバックドアなどをひとつにまとめ、侵入時にはすぐに使えるようなキットを用いて改ざんすることが多い。このようなものは「rootkit」と呼ばれている。rootkitについての概要や、検出方法については機会を改めて解説する予定だが、興味のある方は下記のリンクを参照していただきたい。
ここでは仮に2つのタイプのrootkitがあるとしよう。単純に既知のコマンドファイルなどをすり替えることで存在を隠そうとしたり、バックドアを仕掛けるタイプ(仮に「Application Rootkit」)と、カーネルレベルで動作するタイプ(仮に「Kernel Rootkit」)だ。
Tripwireでは、Application Rootkitを使用したコマンドファイルなどのすり替えは、当然違反として検出される。しかし、カーネルレベルで動作するKernel Rootkitが使用された場合、ディレクトリ情報をKernel Rootkitに操作されてしまい、Tripwireではその変更が検出されない。
つまり、Tripwireを導入し、整合性チェックを定期的に行っている場合でも、このようなKernel Rootkitが組み込まれたときや、ポリシーファイルで整合性チェックの対象としてないディレクトリでのファイル変更や改ざんは検出されない、ということも覚えておく必要があるだろう。
【参考になるリンク】
■カーネル基盤ルーツキット分析報告書
■rpc.statdを利用した攻撃とt0rnkit トロイの木馬設置
Application Rootkitが組み込まれた場合の整合性チェックの結果の例
# tripwire --check Parsing policy file: /etc/tripwire/tw.pol *** Processing Unix File System *** Performing integrity check... Wrote report file: /var/lib/tripwire/report/linux-20021106-042241.twr Tripwire(R) 2.3.0 Integrity Check Report Report generated by: root Report created on: Wed Nov 6 04:22:41 2002 Database last updated on: Wed Nov 6 04:17:36 2002 =============================================================================== Report Summary: =============================================================================== Host name: linux Host IP address: 127.0.0.1 Host ID: None Policy file used: /etc/tripwire/tw.pol Configuration file used: /etc/tripwire/tw.cfg Database file used: /var/lib/tripwire/linux.twd Command line used: tripwire --check =============================================================================== Rule Summary: =============================================================================== ------------------------------------------------------------------------------- Section: Unix File System ------------------------------------------------------------------------------- Rule Name Severity Level Added Removed Modified --------- -------------- ----- ------- -------- Invariant Directories 66 0 0 0 Temporary directories 33 0 0 0 Tripwire Data Files 100 0 0 0 Critical devices 100 0 0 0 * User binaries 66 2 0 7 Tripwire Binaries 100 0 0 0 Kernel Administration Programs 100 0 0 0 * Networking Programs 100 0 0 1 Libraries 66 0 0 0 * Operating System Utilities 100 0 0 4 File System and Disk Administraton Programs 100 0 0 0 System Administration Programs 100 0 0 0 Hardware and Device Control Programs 100 0 0 0 System Information Programs 100 0 0 0 Application Information Programs 100 0 0 0 (/sbin/genksyms) Shell Related Programs 100 0 0 0 Critical Utility Sym-Links 100 0 0 0 Critical system boot files 100 0 0 0 * Critical configuration files 100 0 0 1 * System boot changes 100 0 0 1 * OS executables and libraries 100 0 0 1 Security Control 100 0 0 0 Login Scripts 100 0 0 0 Shell Binaries 100 0 0 0 Root config files 100 0 0 0 Total objects scanned: 12378 Total violations found: 17 =============================================================================== Object Summary: =============================================================================== ------------------------------------------------------------------------------- # Section: Unix File System ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Rule Name: User binaries (/usr/sbin) Severity Level: 66 ------------------------------------------------------------------------------- Added: "/usr/sbin/in.fingerd" Modified: "/usr/sbin" "/usr/sbin/nscd" ------------------------------------------------------------------------------- Rule Name: User binaries (/usr/bin) Severity Level: 66 ------------------------------------------------------------------------------- Modified: "/usr/bin" "/usr/bin/du" "/usr/bin/find" "/usr/bin/top" ------------------------------------------------------------------------------- Rule Name: User binaries (/sbin) Severity Level: 66 ------------------------------------------------------------------------------- Added: "/sbin/xlogin" Modified: "/sbin" ------------------------------------------------------------------------------- Rule Name: Networking Programs (/sbin/ifconfig) Severity Level: 100 ------------------------------------------------------------------------------- Modified: "/sbin/ifconfig" ------------------------------------------------------------------------------- Rule Name: System boot changes (/var/run) Severity Level: 100 ------------------------------------------------------------------------------- Modified: "/var/run/inetd.pid" ------------------------------------------------------------------------------- Rule Name: Critical configuration files (/etc/rc.d) Severity Level: 100 ------------------------------------------------------------------------------- Modified: "/etc/rc.d/rc.sysinit" ------------------------------------------------------------------------------- Rule Name: OS executables and libraries (/bin) Severity Level: 100 ------------------------------------------------------------------------------- Modified: "/bin" ------------------------------------------------------------------------------- Rule Name: Operating System Utilities (/bin/login) Severity Level: 100 ------------------------------------------------------------------------------- Modified: "/bin/login" ------------------------------------------------------------------------------- Rule Name: Operating System Utilities (/bin/ls) Severity Level: 100 ------------------------------------------------------------------------------- Modified: "/bin/ls" ------------------------------------------------------------------------------- Rule Name: Operating System Utilities (/bin/netstat) Severity Level: 100 ------------------------------------------------------------------------------- Modified: "/bin/netstat" ------------------------------------------------------------------------------- Rule Name: Operating System Utilities (/bin/ps) Severity Level: 100 ------------------------------------------------------------------------------- Modified: "/bin/ps" =============================================================================== Error Report: =============================================================================== No Errors ------------------------------------------------------------------------------- *** End of report *** Tripwire 2.3 Portions copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, Inc. This software comes with ABSOLUTELY NO WARRANTY; for details use --version. This is free software which may be redistributed or modified only under certain conditions; see COPYING for details. All rights reserved. Integrity check complete. |
[TTS,ITmedia]