第二段階
root権限による調査

図12●Red Hat Linuxの/var/logディレクトリの構造
図13●筆者が運用しているコンピュータの/var/log/messagesログの一部
図14●攻撃されたことを示す異常なログ
図15●/var/log/messagesログに残されたサービスの停止・起動を示す記録。
namedの再起動を示している

 この時点で不審点が発見されなくても,決して安心してはならない。続いてroot権限を使い,もう少し詳しくコンピュータを調査する。この段階で必ずコンピュータのバックアップを作成する。また,コンピュータを再起動しないように注意する。不正アクセスを受けたコンピュータは,単なる再起動さえもコンピュータの破壊に結びつく恐れがある。

 第二段階では,まずsuコマンドを使用してroot権限を取得する。ただ,suコマンドの実行に際して,「−(ハイフン)」の使用は避けるべきだ。不正アクセス者によって,シェルのスタートアップ・スクリプトに何らかの罠が仕掛けられているかもしれない。無事にroot権限を取得することができたら,一刻も早くコンピュータの完全なバックアップ・データを作成する。

 もし,そのコンピュータで扱っている(コンピュータに保存した)データの破損が許されないのなら,そのまま何もせずに電源を落とし,ディスク・ドライブだけをほかのコンピュータにマウントしてバックアップする方法も考えられる。この際には,syncコマンドを数度実行しておくとよいだろう。

ログを丹念に確認

 データをバックアップしたら,コンピュータに記録されているログを調査する。/var/logディレクトリを確認してほしい。そもそもディレクトリは存在するだろうか。幼稚な不正アクセス者の場合,/var/logディレクトリ以下をすべて消してしまうことがよくある。同様にsyslogd,klogdのプロセスが正常に動作しているかをpsコマンドで確認する。Red Hat Linuxでなら,/var/logのディレクトリ内は図12[拡大表示]のような構造になっている。

 まずはmessagesを調査する。Red Hat Linuxでは,messagesが最も重要なログである。messagesには,コンピュータ上で発生した重要なイベントが記録される。ログインの記録やデーモンで発生した異常なども,ほとんどがmessagesに記録される。messagesが信頼できるのなら,注意深く調査することで不正アクセスの痕跡のほとんどを発見できる。例えば,ftpやtelnetなどへのログインに失敗した記録が残っていた場合は,何者かがコンピュータに不正アクセスを試みたと考えることもできる。

 図13[拡大表示]は,筆者が運用しているコンピュータのログの一部である。いくつか不正にアクセスを試みたと思われる記録が残っている。数多くのftpへのアクセス拒否の記録が残っているが,これらのほとんどはftpdの振る舞いを調べるための下見だと思われる。

 不正アクセスの手法にもよるが,一部の攻撃手法では図14[拡大表示]のような明らかに異常なログが記録されている場合がある。このような場合,そのコンピュータには不正アクセス者が侵入している可能性が高い。もちろん,ログに何の痕跡も残さない攻撃手法は多い。ログに異常がないからといって安心してはならない。

 messagesを調査する際には,このようなログの異常はもちろんだが,図15[拡大表示]のようなサービスの停止・起動を示すログにも注意する。重要なサービスが再起動していないか,または運用したはずのないサービスが起動していないかなどを調べる。

 利用者のログイン状況にも注意しなければならない。ログインの時間帯や接続元のネットワークに不審点はないか,そもそも利用者を登録した覚えはあるかなどだ。ログインに関する情報は,/var/log/secureに記録されている(図16[拡大表示])。  次にboot.logとdmesgを調査する。これらのログには,コンピュータの起動・停止に関する情報が記録される。覚えのない再起動は存在しないか,また起動時に見知らぬモジュールを読み出していないかなどを確認する。正しいカーネルで起動しているか,不審なメッセージが記録されていないかも注意深く調査する。

 コンピュータへのログイン情報はwtmpファイルにも記録される。これはlastコマンドを使用することで確認できる(図17[拡大表示])。このほか,/var/log/lastlogには,すべての利用者について最後にコンピュータにログインした日時が記録される。また,utmpには現在のログイン情報が記録され,wやwhoコマンドで確認することができる。しかし,wtmpとutmpはいずれも改ざんされる傾向が強い。


図16●利用者のログイン状況について記録した/var/log/secureログの例
図17●lastコマンドで/var/log/wtmpログを確認できる

渡辺 勝弘
汎用計算機のプログラマ・SE、原子力関係機関のネットワーク管理者を経て、現在は独立行政法人理化学研究所において、コンピュータセキュリティをテーマとした研究・開発に携わる。また同研究所のコンピュータセキュリティ環境の整備も担当するほか、執筆、セミナー講師などの活動も行う。1965年生まれ。東京都在住。家族は妻一人、犬一匹。趣味はギターの演奏と模型飛行機。Webサイトはhttp://www.hawkeye.ac/micky