Kodama's home / tips.

ウイルス(Linux.RST.B)を検出する

ウイルス検知ソフトを使うのが普通だが, 検知ソフトが無い場合どうするか?

使用している Linux マシンでウイルスが発見された. 最初の発見は Linux マシンから手元の windows マシンにファイルを転送したときに windows 上のウイルス検知ソフトが警告を発した事による. そこで, ディスク上のファイルを走査して, 感染ファイルを探す事にした.

検出方法

http://securityresponse.symantec.com/ , http://www.trendmicro.co.jp/ などで当該のウイルスに関する情報をしらべる. ウイルス Linux.RST.B に感染したファイルには "snortdos" という文字列が含まれるので, 検出するには strings で文字列を抽出して, grep すると良い. これで疑いのあるファイルを取り出して, 必要なら更に詳しくしらべる.
  1. 対象となるウイルスの種類を前もって固定できるなら, 特別なウイルス検知ソフトを使用しなくても検出できる.
  2. 複数種類のウイルスの検知を行うには, 性能の問題もあるので, 専用の検知ソフトを使うのが良い.

特定のディレクトリ内の検査

特定のディレクトリを調べるだけなら, 以下で良い.
strings -f *|grep snortdos
または, ファイルが多い場合,
ls|xargs strings -f|grep snortdos

ファイルシステム全体の検査

ファイルシステム全体を走査するには, find を使う. 実行属性がついたファイルに関して strings で文字列を抽出し, grep で文字列を探す. マウントポイントで行うのが良いだろう.
find -xdev -type f -perm +111|xargs strings -f|grep snortdos

注意

  1. NFS マウントしているファイルシステム上では行わない. 性能上の問題があるので.
  2. 意図しないファイルシステムまで走査することを避けるために -xdev オプションをつける.

実行例

はい, そりゃもう, しっかりと, /bin に入り込んでましたよ. すぐに電源断ですね.
$ find /bin -xdev -type f -perm +111|xargs strings -f|grep snortdos
/bin/mktemp: snortdos
/bin/chgrp: snortdos
/bin/chmod: snortdos
/bin/df: snortdos
/bin/mkdir: snortdos
/bin/mknod: snortdos
/bin/sync: snortdos
/bin/cat: snortdos
/bin/sort: snortdos
/bin/sed: snortdos
/bin/ps: snortdos
  1. こんな事になるまえに, tripwire のような侵入検知ソフトを入れておくのが良い.
  2. /home 以下で, 作業用に C からコンパイルした物にも感染していた. そのような部分には tripwire は向かない.

推奨する調査手順

Knoppix で CD から linux を立ち上げて, そこから, 対象となるディスクを調べるのが良いでしょう. CD で起動してから, 適当にマウントして調査します.

それができない場合は, 書き込み可能なコマンドがあると感染してしまうので, そのような物を持たない作業用のユーザがあれば好都合です.

まず一般ユーザで(root ではなく), /bin, /usr/bin を確認します.

$ find /bin -xdev -type f -perm +111|xargs strings -f|grep snortdos
$ find /usr/bin -xdev -type f -perm +111|xargs strings -f|grep snortdos
特に, この作業につかう find, xargs, strings, grep 自体に異常が無い事を確認します. 幾つか, アクセス許可が無いファイルがあるので, Permission denied が出ますが, とりあえずこれは気にしないことにします.

/bin, /usr/bin に問題が無いなら, root になってそれ以外の部分も含めて調査します.

# find / -xdev -type f -perm +111|xargs strings -f|grep snortdos
# find /home -xdev -type f -perm +111|xargs strings -f|grep snortdos

Kodama's home / tips.