エンタープライズ:ニュース 2003/08/02 04:14:00 更新


Linuxとフリーのツールで実現するComputer Forensic

たとえば不正アクセスを受けたとして、実際に何が起きたのかを知るには状況調査と証拠の検出が不可欠だ。Computer Forensicはそのための手段である。

 昨日に引き続き、2日目に突入したBlack Hat Briefingsの会場からレポートをお届けする。

 Black Hat Briefingsの各セッションは、大まかなテーマごとに5つの「セクション」に分けて行われている。7月31日には「Incident Response & Computer Forensics」というセクションが設けられていた。その中からLinuxをベースとしたフリーのツールによるComputer Forensicsの手法を詳細に解説した「Forensics With Linux 101」の内容を紹介する。講師は、数年にわたってこの分野に取り組んできたチャック・ウィリス氏だ。

 まず、ここでいう「Computer Forensics」について説明しておこう。これは、「コンピュータ犯罪に対する科学的調査。コンピュータシステムや監査ログの改ざん、破壊など、これまでの手法では証拠を検出することが困難な被害を受けたコンピュータに対し、技術的な高度な手法によってコンピュータの深部を調査・分析することにより、不正アクセスの追跡を行なう手法」と定義される。元々は司法関係者による証拠解析技術であったが、最近ではその技術が不正アクセスの検出などに利用できることから、システム管理者や内部の調査員が使用するようになってきている。

 Computer Forensicsではさまざまな情報をもとに調査を行うのだが、今回はその中でも、侵害されたハードディスクに対する保存・調査方法を対象としていた。また、かつてはComputer Forensics用のツールは有償のものが主に用いられていたが、最近ではフリー(無償)のツールだけでも調査を行えるようになってきている(ただし、フリーのツールは、商用製品のEnCaseや法執行機関向けに提供されているiLookといった多機能なツールが搭載しているすべての機能を持っているわけではない)。このことから、同セッションでは、Linuxをはじめとするフリーのツールを使ってのConputer Forensicsが話題となった。

5ステップで進めるComputer Forensics

 調査の流れは次の通りとなる。

  1. イメージ取得の準備
  2. イメージ取得の前に
  3. イメージ取得
  4. 解析の準備
  5. 解析処理

 以下、各ステップごとに説明していこう。

1.イメージ取得の準備

o イメージを記録するハードディスクドライブ

 あらかじめデータをすべて消去しておく。そしてext3ファイルシステムを使い、フォーマットする。このときパーティションサイズは、証拠ディスクデータの3倍以上を用意しておく。

 さらに、イメージを保存するためのディレクトリを作成しておく。そこに、次のような情報をテキストファイルで保存する。

  • 名前と所属
  • 今回の作業を識別する番号など
  • 証拠ハードディスクを識別する番号など
  • イメージを作成する日時
  • コンピュータのモデルやシリアル番号
  • コンピュータのIPアドレスとホスト名
  • ハードディスクの出所と調査を行っている理由

o F.I.R.E. Forensic and Incident Response Environment Bootable CD

 F.I.R.E.は、Linuxベースで構築された、フォレンジックとインシデントレスポンスのための環境だ。CDからのブートも可能である。これを使用すれば、証拠ディスクをマウントせずにイメージを取得することができる。

 なお同様のツールとして、Knoppix、Penguin Sleuthといったものもある。

o イメージ保存用のコンピュータ

 証拠ディスクとイメージ記録用ディスクをコンピュータに接続する。次にBIOSの設定で、CDからのみブートするよう設定を変更する。

2.イメージ取得の前に

 以上の準備ができたら、F.I.R.Eを起動し、rootアカウントでログインする。ここで注意しておくことがある。イメージ保存用のディスクは、データを書き込むためにマウントしなければならないが、証拠ディスクはマウントしてはいけない。

 マウント後、証拠ディスクの情報を取得しておく。dmesg、hdparm、sfdiskといったコマンドが使えるだろう。取得したデータと証拠ディスクのデータについて、ハッシュ値も記録しておく。

3.イメージ取得

 イメージ取得のために利用されるツールとしては「dd」「rda」「dcfldd」などがある。

 このうちddは、ディスクイメージを取得するために古くから使われているツールだ。今回のセッションでは、ddの機能を米国防総省向けに拡張した「Dcfl-dd」が紹介されていた。ちなみに、Forensic Focusのアンケートによると、ddの人気はEnCase(商用の解析ツール)に次いで高いようだ。

 dcflddを用いる際には、ifパラメータとofパラメータは絶対に間違えないよう注意が必要だ。if=<証拠ディスクのデバイス>であり、of=<保存ディスク上のファイル名>である。これを逆にすると、自分で証拠を破壊してしまうことになる。

 イメージの取得が終わったらコンピュータをシャットダウンし、証拠ディスクは別の場所に保管しておく。

4.解析の準備

 解析を行うためのコンピュータを用意する。このコンピュータには、解析用のツールを導入するため、Linuxをインストールする。ほとんどがソースファイルで提供されているため、コンパイル環境をインストールしておいたほうがよいだろう。

 解析用のツールとしては、以下のようなものが紹介された。

o NASA enhanced loopback driver

 先ほど取得したディスクイメージをマウントするためのループバックドライバー。後述のSleuth Kitは、複数のパーティションを含んだイメージファイルを読み取ることができないので、各パーティションごとにアクセスできるようにループバックデバイスを作成してくれる便利なドライバーだ。

o National Software Reference Library

 OSやアプリケーションのファイルのハッシュ値を集めたもの。

o The Sleuth Kit、The Autopsy Forensic Browser

 オープンソースのファイルシステムフォレンジックツール。ddで作成されたイメージを解析し、割り当てられているファイル名や削除されたファイル名の表示、ファイルシステム構造の表示、NTFSファイルの属性値の表示、ハッシュ値の確認などの機能を持つ。AutospyはブラウザベースのGUIフロントエンド。

 なおThe Sleuth Kitについては、たかはしもとのぶ氏による日本語ヘルプが公開されている。

Autospy

説明の中で登場したAutospyのインタフェース


o Foremost

 ディスクイメージイメージから既知のヘッダやフッタを探してファイルを抜き出すツール。

o F-prot

 ウイルス検査のためのソフトウェア。

o Bitdefender

 同じくウイルス検査用ソフトウェア。

o strings

 ファイル中に含まれている文字列を抜き出して出力するツール。OSに標準でインストールされているだろう。

 なおstringsの日本語対応バージョンとして、はせがわ氏作の「jstrings」、たかはしもとのぶ氏作の「jstrings」が公開されている。

5.解析処理

 まず、取得してあるディスクイメージを読み込み専用にしておく。次にNASAのドライバーを使いディスクイメージをループバックデバイスとしてアクセスできるようにする。さらに、ループバックデバイスをファイルシステムにマウントすると、ディスクイメージに保存されているそれぞれのファイルにアクセスできるようになる。この状態で、上記ツールを駆使して解析を行っていくことになる。

 こうした手順を経て、ツールを使いこなすことにより、ある程度は不審なファイルを見つけ出すことができるだろう。しかし、決定的な証拠を突き止めるには、高度な技術と多くの手間がかかる。

 日本でのComputer Forensicの動向だが、日本語対応のツールが登場してきたり、一部で「コンピュータフォレンジック」という用語が聞かれるようになってきた。だがまだ、十分浸透しているとは言い難い。また米国では、こうして収集された証拠をどう扱うかについて、それなりの法整備が進んでいるのに対し、日本では明確な判例が存在せず、法律面でも課題が残る。

 それでも、不正アクセスが起きたのか起きていないのか、起きたとすれば具体的にどんな事象が発生したのかを知り、さらには、これを証拠として何らかの措置を取るにも、正確な状況把握は不可欠だ。そうした意味で、Computer Forensicsは必須の技術になっていくだろうと思う。今後も技術と法律の両面から注目の話題の1つとなるだろう。

関連リンク
▼BlackHat
▼三井物産ITサービス事業部 GTI Project Center

[国分 裕(三井物産ITサービス事業部, GTI Project Center),ITmedia]