ハッシュデータベースのヘルプ

概要

ハッシュデータベースは既知の両方なファイルや不良なファイルを、MD5 や SHA-1 のチェックサムの値により、高速に識別するために使われる。 Autopsy は、調査員が多くのファイルを確認する手間を削減するために、三通りのタイプのハッシュデータベースを用いている。

NIST National Software Reference Library (NSRL) には、OS やソフトウェアのディストリビューションに含まれるファイルのハッシュが含まれている。 これらのファイルは 既知の問題ないファイル とされ、信頼されるソースから提供され、通常システムによって認証されている。 イメージ中のファイルを処理する際に、このデータベースはすでに既知のファイルであり、興味をひかない(uninteresting)ものを除外するために用いることができる。 データベースの場所は、Autopsy のインストール時に設定する。 NSRL は、NIST www.nsrl.nist.gov から取得する必要がある。

Ignore Database は、調査員が作成する必要があるデータベースである。 これは、既知の問題のないファイル(known to be good)を格納し、利用者が設定すれば、それらのファイルを調査対象外にする(File Type Category Analysisでのみ有効である)という点で NSRL に似ている。 このカテゴリのファイルのサンプルは、普通にビルドした際のシステムバイナリに含まれている。 このデータベースを作成する上での情報については、 Database Creation を参照のこと。 この位置は、ホストの作成時に設定可能であり、ホストの設定ファイルを編集することで変更可能である。

Alert Database は、調査員が作成する必要のあるデータベースである。 これには、既知の bad ファイルのハッシュが含まれる。 ここに含まれるファイルが、調査員がシステムに存在しているかどうかを確認したいファイルとなる。 このファイルのサンプルには、rootkit や認証されていない写真などが含まれている。 ファイルタイプカテゴリの解析を用いる際、これらのファイルは、特別なファイル(special file)に保存される。 このデータベースを作成する上での情報については、Database Creation を参照のこと。 この位置は、ホストの作成時に設定可能であり、ホストの設定ファイルを編集することで変更可能である。

Database Uses

Autopsy は以下の三通りの方法で、ハッシュデータベースを利用する。

データベース生成

現在のところ、Autopsy からはハッシュデータベース内のエントリの検索のみが可能である。データベースを簡単に生成することはできないが、以下にその方法を説明する(これは単純である)。

Autopsy は、検索を行なう際に、 TASK のhfindツールを利用する。 このツールは、(grep のようなツールが行なうような、単純で遅いシーケンシャルサーチではなく)バイナリサーチアルゴリズムを用いた高速な検索を行なうため、索引づけされたデータベースが必要である。 ハッシュデータベースが更新される(もしくは生成される)毎に、データベースは索引づけされる必要がある。Autopsy からこれを行なうには、ハッシュデータベースマネージャを利用する(データベースはあらかじめ設定が行なわれている必要がある)。

NIST NSRL は明示的に生成しておく必要はないが、利用する前に、索引付けをしておくことは必要である。

ハッシュデータベースを作成する際には、md5sunコマンドが利用するのと同じ形式のファイルを生成する。これは MD5 hash/ホワイトスペース/ファイル名からなる。例を以下に示す:
    c4a6761b486de3c6abf7cf2c554289e5     /bin/ps

ファイルの各行を上記の形式に合わせること(ソートを行なう必要はない)。 例えば、トラステッドシステムの場合、以下のようにしてシステムのバイナリのハッシュデータベースを作成する:
    # md5sum /bin/* /sbin/* > bin-md5.db

作成した後で、ハッシュデータベースは索引づけとソートを行なう必要がある(NSRLの場合も同様である)。 データベースの索引づけには、hfindツールを利用する。 NSRL データベースのインデックス作成は、以下のようにして行なう:
    # hfind -i nsrl-md5 PATH_TO_NSRL/NSRLFile.txt

md5sum によって作成されたデータベースは、以下のようにしてインデックス作成を行なう:
    # hfind -i md5sum bin-md5.db

ホストが追加された時点で、設定済のファイルが Autopsy に存在している場合、ハッシュデータベースマネージャにより、これを再インデックス作成することができる。

Autopsy の設定

alert および ignode データベースは、'exclude_db' および 'alert_db' といったヘッダを付けて、ホスト設定ファイルに格納される。以下に一例を示す:
    alert_db    '/usr/local/hash/bad.db'

これらのエントリは任意のタイミングで編集することができる。

NSRL データベースは、Autopsy がインストールされたディレクトリにある conf.pl というファイルによって設定される。 これには、$NSRLDB 変数が存在する。 以下に一例を示す:
    $NSRLDB = '/usr/local/hash/nsrl/NSRLFile.txt';

これは任意のタイミングで編集したり、追加、削除したりすることが可能である(ただし、その際には Autopsy を再起動する必要がある)。


Brian Carrier