エンタープライズ:特集 2003/03/11 17:23:00 更新

rootkitによるハッキングとその防御
第3回 rootkit検出ツールによる検査 (5/6)

RootkIDを利用する

 chkrootkit以外のrootkit検出ツールも利用してみることにしよう。「RootkID」は、「The CyberAbuse Rootkit ID project」の作成したrootkit検出ツールだ。既知のrootkitに含まれるトロイの木馬やファイルなどの「SHA1値」をデータベースとして持っており、感染したシステムファイルのSHA1値と、データベースを比較することで異常を検出する。つまり既知のトロイの木馬などのファイルに対しての検出ツールということになる。そのため感染していてもデータベースにない場合にはまったく異常が検出されないという点には注意したい。RootkIDの導入や利用方法はchkrootkit同様に非常に簡単である。

RootkIDの導入

 RootkIDを利用するには、tarballをダウンロードした後に解凍を行いrootkidディレクトリにてコンパイルを行えばよい。

# wget http://rk.cyberabuse.org/rootkid.tgz
# tar xvzf rootkid.tgz
# cd rootkid
# make

RootkIDによる検査

 RootkIDによる検査には、ノーマル、ベター、ディープの3種類がある。これは、RootkIDのデーターベースにある下記のような種類のファイルから、どれを検査するかという組み合わせの違いである。

Type 1:検査を行うシステム(OS)のバイナリファイル(ex linux)
Type 2:検査を行うシステム以外のバイナリファイル
Type 3:他のタイプのバイナリファイル
Type 4:テキストおよびスクリプトファイル

■ノーマルスキャン [Type 1 のみ]
./rootkid.sh scan normal

■ベタースキャン  [Type 1+3+4] 
./rootkid.sh scan plus

■ディープスキャン [Type 1+2+3+4]
./rootkid.sh scan deep

 また、検査を行う際に、検査対象のサーバがインターネットに接続されていれば、検査時に最新のデータベース(checksumdb.txt)をダウンロードし、それを利用したスキャンが開始される。インターネットに接続されていない場合には、ローカルにあるデーターベースが使用される。

 データーベースのアップデートのみを行いたい場合には

# ./rootkid.sh update

Database downloaded successfully...
Old one saved as checksumdb.txt.bak

とすればよい。

tuxkitをインストールしたRedHat8.0での検査結果

 下記は、RootkIDのベタースキャンにて検査を行った結果だ。疑わしいファイルとして検出されているのはcrontabのみであるが、トロイの木馬を検出し感染を警告している。

# ./rootkid.sh scan plus

Database downloaded successfully...
Old one saved as checksumdb.txt.bak

Found suspicious file : /usr/bin/crontab [crontab]
Results of this scan have been saved to log.txt

 念のためチェックしてみるには、下記のようにすればよい。RootkIDのデーターベースと一致していることがわかるだろう。

■RootkIDのデーターベースにあるcrontabのSHA1値
8baadd81641968d74a2ced9ccba395cd59c112e1 29052 crontab Linux

■tuxkitに含まれるトロイの木馬(crontab)のSHA1値 
# /usr/bin/openssl sha1 /usr/bin/crontab
SHA1(/usr/bin/crontab)= 8baadd81641968d74a2ced9ccba395cd59c112e1

■正常なcrontabのSHA1値
# /usr/bin/openssl sha1 /dev/tux/backup/crontab
SHA1(/dev/tux/backup/crontab)= a591c6b08f55151021bc9435ba1d914811bd6c6d

参考までにtuxkitにより改ざんされるファイルのSHA1値およびファイルサイズを記しておく。

表3■tuxkitにより改ざんされるファイルのSHA1値
ファイル名 サイズ
(バイト)
SHAI値
ps 64652 c9a2ad7943efd2d346e9a170aa14aee145707d7a
ls 42952 1b628c0c3433c6c57fe34f838bd40dc7d12cda47
crontab 29052 8baadd81641968d74a2ced9ccba395cd59c112e1
df 27112 d6bd5134cb6eda80385fd3a131d2c8cbcfc3aa08
dir 42952 dd9081d37fa2287c59a2847fd70e5a45a4c022b9
dmesg 6277 c4499c0f6b114191365e340db29171a52c11ba98
du 25592 ff9eeb69af26eaa78dc8788e930e3d3311a858fa
find 55220 3d7edba3c8ead0d3151ab7be140b9ba98e7f6a14
killall 14400 e2d7e9e3c28f8787f0e22a2f1cad1e9635f42f09
login 25942 e426d07cd94c5e475c08605f017e62110e0ad485
netstat 100858 37cfd4bcf1161924343073fdb288c883e285fbbd
pstree 16421 5538254164f962b3ab73f6627e617faf9072c01b
syslogd 33635 962a9d448bc3dba1fc303ba77ed372cf8d900709
tcpd 33967 03fb5542a25a5bef47e4bb16350a08169437a881
top 56406 c39d57c8c945ac90c65fdc51d429d4a42f6f0a63
vdir 67884 0cf146bedf4a01d12806dcc7741fbe8b1d82861c
ifconfig 36356 753e42786f960f53502c97d7b5f21d3453a9decc

shkit v4での検査結果

 次に先ほどchkrootkitでも検査したshkit v4をインストールしたシステムでの検査結果も見てみよう。tuxkitと比較すると多くのファイルが検出されていることがわかるだろう。

# ./rootkid.sh scan deep

Database downloaded successfully...
Old one saved as checksumdb.txt.bak

Found suspicious file : /usr/bin/dir [crc-ls] Found suspicious file : /bin/netstat [crc-netstat] Found suspicious file : /bin/ls [crc-ls] Found suspicious file : /bin/ps [crc-ps] Found suspicious file : /lib/ldd.so/tks [tks] Found suspicious file : /lib/ldd.so/tksb [r0xsauber]
Results of this scan have been saved to log.txt

 RootkIDは非常にシンプルな機能で検査し、データベースに登録されているファイルも決して多くはない(執筆時点で130ファイル)。しかし、既知のトロイの木馬などがファイルを単純に改ざんしただけならば検出することができるだろう。

前のページ | 1 2 3 4 5 6 | 次のページ

[TTS,ITmedia]