フォレンジックの概要

フォレンジックの定義や分類


近年、コンピュータセキュリティの世界で注目を集めている手法の1つに、フォレンジック (= forensic ) というものがある。フォレンジックとは一般的に、セキュリティ事故の発生の際に、コンピュータやネットワークを調査し、証拠となるデータを取得・解析するために用いられる調査手法だ。ただし、比較的新しい概念であるため、これを正しく理解しているユーザーはさほど多くはない。

1.Forensic とは − Forensic の定義

『フォレンジック』はセキュリティ業界ではそれなりに名の知れた技術になってきたが、他領域のエンジニア( SE 、プログラマ、・・・etc )やエンドユーザーにとってはまだまだ耳慣れない言葉、というのが現状だ。本章では、”フォレンジックとは何か”をテーマとして、その定義について解説していく。

まずは、『フォレンジック』という単語から意味について考察するアプローチを試みる。 "forensic" とは『裁判に関する・・・』、『法医学的な・・・』、『科学的犯罪捜査の・・・』といった意味の英語の形容詞で、少し応用的な使い方をすると "forensic science" ( = 『科学捜査手法』、『法医科学』)といったものがある。また、名詞になると "forensics" となり『鑑識課』や『科学捜査研究所』といった特殊な固有名詞へと転ずる。そのため、コンピュータの技術用語と言うよりは司法関係者による解析を行うケースを想定した法廷用語として使われるイメージが一般的に定着している。

とりあえずは、警察の鑑識課の捜査員が事件現場で行っているような調査をコンピュータに対して行うこと、といった認識でかまわない。イギリス人のSF作家 アーサー・C・クラーク の言葉に以下のような言葉がある。

十分に発達した科学は、魔法と区別がつかない
アーサー・C・クラーク

これは、『科学』だけではなく、その応用分野である『技術』にも同様のことが言える。高度化すればするほど、『科学』や『技術』というものはブラックボックス化して『社会』というパッケージに取り込まれて真の姿は見えなくなってきてしまう。その分野の中枢にいる人にしか、どのような科学法則に基づいているかということは分からない。でも、安全性や確実性は科学がきちんと保証してくれているので心配はいらない。

専門特化した技術というものは、一般的な意味として説明できるような明確な定義が未だ確立していないことが多い。よって、大雑把でもよいのであなた自身が理解しやすいイメージを構築しておけば今後、『より高度な』、『より深遠な』知識に出会ったときの理解の手助けとなるだろう。

(1) フォレンジックの目的

フォレンジックは、主に以下に示すような目的を持って行われる。

■コンピュータセキュリティにおけるフォレンジックの目的

現代ではいたるところへコンピュータやネットワークが浸透し、便利になった反面、それらを悪用した犯罪が加速度的に増加している。この類の捜査において従来より科学捜査手法として利用されてきたフォレンジック的なものが導入され始めた。フォレンジックがコンピュータセキュリティにおいて用いられる場合、以下の目的を実現するための手段とされる。

・セキュリティ事故が発生した情報システム上における証拠の保全
・セキュリティ事故が発生した情報システム上の被害状況調査、証拠解析

■企業におけるフォレンジックの目的

2005年の『個人情報保護に関する法律』施行後、世間では情報漏えい事件に対して非常に敏感に反応するようになってきた。そんな状況の中、企業による情報漏えい事件が続発している現状はライバル企業を蹴り落とすチャンスなどではない。どこの企業にとっても同じような爆弾は抱えているもので ”明日はわが身” であり、他人事では済まない非常に厳しい状況だ。

情報漏えい事件を引き起こしてしまった場合、企業としては説明責任を果たさなくてはならない。また、その為には『不正アクセスの調査』や『セキュリティ事故における証拠の保全』が必要となる。これらを可能とする手段としてフォレンジックへの関心が高まっている。現在、企業がフォレンジックを導入する動機・目的としては、以下の2つが考えられる。

・損害賠償請求訴訟などへの対応に用いる
・損害賠償を請求する側が訴訟を起こす準備に用いる

本来の言葉の意味と、上記の『証拠』と『損害賠償』という言葉をキーワードとして考えると、フォレンジックは ”組織におけるコンピュータ犯罪に対する訴訟への対応策” とも言えるが、場合によっては ”不正アクセスに関する調査作業” と、広義に使われることもある。このように適切に日本語で表現できる定義が未だ存在していないが、おおよその定義として『法的問題の解決を図る手段』や『コンピュータの状態や過去に発生した事象の証拠保全や不正アクセスの追跡のための解析手段』と暫定的に定義することが出来る。

(2) セキュリティ対策におけるフォレンジックの位置づけ

以下に※1コンピュータ・セキュリティ・インシデントを中心に、その対策の一部を下記の表のように示した。

長所 対象を直接調査することで、より正確にノードの状況を把握できる。
短所 取得した証拠自体が既に侵入者に対して改ざんされている可能性がある。
調査活動が証拠破壊につながるおそれがある。
表1.セキュリティ対策におけるフォレンジックの位置づけ

上記の表からも分かるように、フォレンジックとはインシデント・レスポンスのプロセスの一部とみなすことが出来る。インシデント・レスポンスを軸に考えてフォレンジック作業を行う必要があり、導入に当たってはまず、インシデント・レスポンスを適切に行うための体制を整備する必要がある。

インシデント・レスポンス体制の下にセキュリティ・マネジメント体制が配置されている必要があるのには、次のような理由がある。それは、企業や組織において、フォレンジックにより保全したデータを基に訴訟を起こすことや、インシデント・レスポンスの実施体制を構築することを考えた場合には、技術的手法の導入に加えて、組織・人・物理的な面での対策も必要となり、それらはすべて組織全体で取り組むセキュリティ・マネジメント体制の下で行われなければならないからだ。

フォレンジックを導入するうえでは、インシデント・レスポンス体制の構築と、インシデント・レスポンス体制の大本の基盤となるセキュリティ・マネジメント体制の構築の2つが必要になるということを正しく理解しておくことが必要だ。

1
情報システムの運用におけるセキュリティ上の問題としてとらえられる事象。コンピュータセキュリティに対して、実際には未だ問題が発生していない事象であっても『何らかの影響を受けた疑いがある』もしくは『放置しておくとセキュリティ状の影響が生じる恐れがある』場合ならば、インシデントとみなす。
インシデントに対して何の対処もせずに放置しておくと、致命的な事件 ( = アクシデント ) へと発展するので、出来るだけインシデントのうちに問題の芽は摘んでおきたいものだ。インシデントへの事後対応をインシデント・レスポンスと呼ぶ。

(3) フォレンジックの分類

コンピュータセキュリティ事故に伴う訴訟に対応するための手段として、フォレンジックが有効な手段として考えられている。システムを構成する各種のノードやネットワークの調査を行って証拠の収集・解析を行うのがフォレンジックだが、調査対象によって『コンピュータ・フォレンジック』と『ネットワーク・フォレンジック』の2タイプに分類することができる。

■調査対象によるフォレンジックの分類

フォレンジックは、情報システムにおいてセキュリティ事故が発生した際に、証拠を確保/解析するために用いる手段だ。収集した証拠となるデータを解析することで、被害状況、侵入経路、実行者の正体などを分析し、訴訟に対応しようというわけだ。

フォレンジックは、調査対象によって以下の2つのタイプに分けることが多い。

コンピュータ・フォレンジック 調査対象 : 情報システムを構成する各ノード
ネットワーク・フォレンジック 調査対象 : ネットワーク上のトラフィック
表2.フォレンジックのタイプ

これらは調査対象が異なるため、作業方法や作業における注意点なども異なる。本稿では、コンピュータ・フォレンジックとネットワークフォレンジックについてそれぞれ解説していく。

2.インシデント・レストポンスとは

『インシデント・レストポンス』とは障害、事件などの事象 ( = インシデント ) が発生した際の対応 ( = レスポンス ) の事をいう。コンピュータセキュリティの分野でインシデントと言えば、コンピュータ・セキュリティ・インンシデントを指すこ。本稿でも、とくに断らないかぎりインシデントはコンピュータ・セキュリティ・インシデントを示すものとして考えて欲しい。日本のセキュリティ団体JPCERT/CCでは、コンピュータ・セキュリティ・インシデントについて、『コンピュータセキュリティに関係する人為的事象で、意図的および偶発的なものまたは、その疑いがある場合を含む。』と定義しており、不正アクセスの意味合いで使われるのが一般的だ。

インシデント・レスポンスでは、インシデントの検知に備えて、事前対策と事後対応が必要とされるため、実行体制を整備しておくことが必要だ。インシデント・レスポンス体制を十分に確立していないと下記のような状態に陥ってしまう。

・インシデントを検知できない
・インシデントを検知したが、インシデントの具体的な内容がわからない
・インシデントを検知したが、何をすればよいかわからない

不正アクセスへの対処として重要なことは、第一に不正アクセスをうけているのか確認することだ。そして本当に不正アクセスをうけているのならば、それに起因する被害状況と適切かつ迅速な対処が必要とされる。

実際の情報漏えい事件でも、インデントを適切に処理できなかったために問題がより深刻化した例は多い。では、どのような点に注意してインシデント・レスポンス体制を構築するべきなのだろうか。

まずは、インシデント・レスポンスの各ステップで必要とされる一般的な作業項目を把握し、それらのうち、対策が不十分な項目への対応から始めるのが効果的だ。

インシデント・レスポンスの作業フローの例を下記に示した。この図にあるように、インシデント・レスポンスで行われる作業はそれなりに多い。これらの作業を正確に実施するためには、インシデント発生時のルールの策定、各種リソースの適切な配置、人員教育などの実行計画、組織整備が不可欠となることは、ご理解いただけることだろう。

インシデント・レスポンスは ”絵に描いた餅” であってはならない。いざ、セキュリティ事故が発生したときに各々が適切に行動できてしかるべきだ、というレベルにまで持って行く必要がある。そのためには防災訓練と同様に、日頃からの心がけとして定期的な訓練を繰り返しておくことで、実行計画で定められた行動・成果が発揮されうるかどうかを確認しておくことが望ましい。緊急訓練を行うことでインシデント・レスポンス体制が期待されたレベルで機能するかどうかを把握すると同時に、問題点を整理することが可能となるのだ。

インシデントが発生した場合、組織的な対応が必要となります。インシデントの対応方法や手順をまとめた資料としては、RFC2195 や JPCERT / CC が公開している資料があるのでそれを参考にして欲しい。

サイトセキュリティハンドブック ( 日本語訳 )
技術メモコンピュータセキュリティインシデントへの対応

これらの資料を読むことでインシデント発生時にどのような対応をとるべきかが分かるが、重要なことはインシデントが実際に発生する前に、体制を整えておくことだ。特にインシデントへ対応する緊急対策チームや連絡体制、対応手順は予め決めておかなくてはならない。いざ、という時に事前の計画や体制作りが重要であることをよく理解しておいていただきたい。

3.不正アクセス調査のためのフォレンジック

従来は司法関係者によって実施されていたコンピューター・フォレンジックが、昨今不正アクセスを検出するための技術として興味関心を集めてきている。不正アクセスを受けた、もしくは受けた可能性がある場合の証拠保全及び追跡を目的としてコンピューター・フォレンジックが活用されるようになってきている。

■ フォレンジックで行われる作業

フォレンジックの目的の1つとして、訴訟に備えた証拠の保全があるため、通常の不正アクセス調査よりも厳密な作業フローが要求される。一般的に、フォレンジックの作業では、『データの収集』、『証拠の保全』、『証拠の解析』という3つのステップを踏むこととなることを覚えておこう。

フォレンジックは作業の対象範囲によって、大きく2つのタイプに分類することができる。1つは ※2 コンピュータ・フォレンジックで、コンピュータ、ネットワーク・デバイスなど情報システムを構成する各種ノードを対象とする。もう1つはネットワーク・フォレンジックで、ネットワークを流れるトラフィックを作業対象とする。

長所 対象を直接調査することで、より正確にノードの状況を把握できる。
短所 取得した証拠自体が既に侵入者に対して改ざんされている可能性がある。
調査活動が証拠破壊につながるおそれがある。
表3.コンピュータ・フォレンジックの特徴

長所 調査対象のノードに直接アクセスすることなく、外部から調査することができる。
対象のネットワークにおけるトラフィックを外部から調査し、情報を収集するため取得した情報を証拠として記憶媒体に保存することが比較的容易。
短所 暗号化されたトラフィックは基本的に解析できない。
トラフィックの量が大量にある場合、データの取りこぼしの可能性が発生する。
プライバシーの新開に接触する可能性がある。
表4.ネットワーク・フォレンジックの特徴

コンピュータ・フォレンジックかネットワーク・フォレンジックのどちらか一方を実施すればそれでよいものではなく、お互いに補完関係にある。コンピュータ・フォレンジックとネットワーク・フォレンジックを共に行うことで、一方のタイプで発見された証拠を裏付けるデータがもう一方でさらに発見されることもある。また、ネットワーク・フォレンジック用のツールで記録したトラフィックから、作業対象のノードを絞り込むといった具合に、コンピュータ・フォレンジックにおいて有効な調査の方向性を定めることができるかもしれない。

2
具体的には、ルータ、スイッチ、サーバ、ネットワーク・プリンタなどが作業対象となり、その種類は多岐にわたる。

3−1.フォレンジックおける証拠保全作業のポイント

フォレンジックとは何かしらの被害を受けた後にその被害を証明する際の証拠を集めておくために実施する。
この場合、主に以下のような目的のためにコンピューター・フォレンジックが用いられる。

・ コンピューターの現状把握・調査
・ 組織内の報告書として
・ 警察への被害届けとして
・ 訴訟(裁判)時の資料として

日本国内における不正アクセスに関する公的な問い合わせ先に以下の組織がある。

コンピュータ緊急対応センター(JPCERT/CC)
情報処理推進機構 (IPA)
全国警察サイバー犯罪相談窓口等一覧

ここで、集めておきたい証拠というのは『5W1H』となるものだ。

When いつ いつ事象が発生したのか?
Where どこで どのコンピュータ?被害範囲は?外部への被害は?
Who 誰が 犯人は何者なのか?内部?外部?
What 何を 何が起きているのか?
Why なぜ、何の目的で 被害は何か?外部へ被害を与えていないか?
How どのように、どうやって どうやって入った?侵入経路は?
情報は揮発性の高い順に収集すべし

訴訟を前提とした対応手法としてフォレンジックを考えた場合、日本の裁判制度における 『自由心証主義』 というものを理解しておくことが求められる。

自由心証主義とは、証拠方法を限定せず、また、その証拠力の判断を裁判官の自由な判断に任せるという主義。そのため、日本の裁判制度においては、証拠として採用されるものに対して制限を設けず、裁判官の判断で認められさえすればいかなるものも証拠として成り立つ。

自由心証主義に基づき、 ”証拠の保全” というフォレンジックの目的を達成するには、証拠とすべくデータが裁判官に対して十分な説得力を持つものであることを示すことができるか否かが決め手となる。では、証拠としての説得力や正当性を一方の当事者である訴訟相手と第三者の裁判官に対して示すためには、どのようなことが必要なのか。保全した証拠を彼らに示す際に、その正当性を証明するのに必要な作業事項の下記に列挙する。

・作業時における第三者の立ち会い
・データの正確性における第三者の証言
・データ取得から証拠保全作業に至るまでの一連の作業記録
・監視カメラなど写真・映像による作業記録
・上記の各種作業記録およびデータの厳正な管理(施錠可能な箱などでの管理)
・すべての作業の正確な実施時間の記録(標準時に時刻を同期しておくことが前提)

なお、これらの作業は、以下の2点を強く意識しながら行わなくてはならない。

・証拠自体の正確性の確保と保護
・証拠を取り扱う作業に関する正確性の確保と記録の保護(だれが行っても同様の結果が導き出せること)

証拠保全を考慮した行動や作業に関するルールについては自社で検討した後、適切であるかどうかの判断は弁護士をはじめとした専門家に仰いだほうが無難だ。ただし、すべてのインシデントに対して策定したルールにのっとって対処する必要があるかといえば、必ずしもそうではない。組織において発生するインシデントは相当数に上るが、現在のところ実際の訴訟にまで発展したケースはほとんどない。しかし、インシデント発生の初期対応においては、それが訴訟に発展するかどうかの判断ができるほどの余裕がないのが現実だ。インシデント発生時は、証拠保全のために迅速な対応が求められる場合がほとんどだからだ。証拠保全においていちばんの問題となるのは、ルールを無視して慌ててデータの復旧を行ったり、場当たり的なセキュリティ対策を実施したりして、訴訟の際に必要となる証拠を失ってしまうことになる。

こうした事態に陥らないために、インシデント・レスポンスの一部もプロセスとしてのフォレンジックが、先に述べた ”証拠と各種記録の正確性の確保” が確実に行われるようなルールを定めた上で、それに基づいて行われるように徹底すべきなのだ。たとえ、インシデントが直接訴訟の対象にならないケースでも、組織で行われる内部調査などの過程で発生した事象や作業に関する説明や証言が必要になった場合には、インシデントに関する記録が必要になる可能性は十分に考慮される。

3−2.フォレンジックにおける情報収集の順序

コンピュータ・フォレンジックではマシン・デバイスなど調査対象が多く、さらに証拠として収集すべきデータの種類も多岐にわたる。ここで問題となってくるのが、どの種類のデータから集めればよいかという ”データ収集の順番” だ。主にインシデント・レスポンスとしてフォレンジックを行う場合には、消えやすい(揮発性の高い)順に情報収集を行うとよい、とされている。RFC 3227 で規定されている『証拠収集とアーカイビングのためのガイドライン』には、『2.証拠収集における揮発性の順序』という項目で、収集すべきデータとそれらを収集する順番が示されているので、これを参考として解説を加えていくものとする。

コンピュータ・フォレンジックでは、証拠は時間の経過とともに失われやすい、という性質があるので揮発性の高いデータから収集を行うべきとする。理由として、揮発性の高いデータの中には、適切なタイミングで行わなければ取得できなくなる情報も含まれるので可能なうちに収集しておくことが必須なのだ。

『対象システムは100%侵入者の支配下にある』という認識の下、細心の注意を払って作業に当たるようにしよう。 ※3 システムへの不正侵入を試みる者にとって、自らの侵入行為をシステム管理者が気づいていないということが重要なことなのだ。システムへの不正侵入を果たした者は自らの犯行の発覚を遅らせるために、あの手この手と、あらゆる方法を講じて必死になって侵入痕跡を隠す。不正侵入されたシステムでは、ログイン・プロセスや証拠保全などに使用されるコマンドの置き換えは当然のように行われていたり、調査行動を侵入者に逐次伝えるようなトラップが仕掛けられていることは十分に考えられる。加えて、侵入者は侵入の証拠を抹消するためのプログラムを隠蔽する仕掛けを巧妙に仕組んでいる可能性も高い。何の警戒もせずに無神経にコマンドタイプをすることがトリガーとなって、侵入者の設置したプログラムやバックドアが起動されてしまったりするおそれがあるので、調査活動を行う際にはよく注意を払おう。

3
システムの調査を行う際には、侵入する者( = ハッカー)の立場に立って彼らの思考をトレースして、行動を予測することが有効な対策を講ずるのに役に立つ。相手が Script kiddy である場合を除いて、彼らはバカではない。いや、むしろ頭がいい。
小生にも国内外にハッカーの友人がいるが、彼らは非常に知的で誰も思いつかないような斬新な発想を生み出す。そして、テクノロジィに対してきわめて深遠なる知識や技術を有する。局所的な事象のみで安易な判断に基づいた対応をすると却って逆効果だったりすることが多いので、システム管理者やセキュリティエンジニアたる者はタカをくくった対応をとらないことが求められる。

4.不正アクセス調査を行う前に

これまでに、”フォレンジックとは何たるか”について述べてきた。ここからは、実際のフォレンジック作業について解説していきたいところだが、いきなりフォレンジックを行うのは ”先走りすぎ” というものだ。

本節では、フォレンジックを実施する前に必ず把握しておかなくてはならないポイントについて解説を加えていく。

会社などの企業組織内で不正アクセス調査を行う場合には、少なくとも調査作業に従事する作業員の人件費が発生することになる。会社としては、何か明確な目的が無い限り新たに資金を投じるわけにはいかない。
そこで、下記に示すようなことを念頭において、不正アクセス調査に取り組む事が必須となってくる。また、これらのことをを考える事によって投入することの出来る資金についても明確になってくるだろう。

■不正アクセスなどの証拠を探す必要があるのか

ここまでに、さんざんフォレンジックについて解説しておきながら ”何をいまさら・・・” と思われるかもしれない。だが、フォレンジックには安易な判断に伴う行為というのは禁物なのだ。慎重すぎるくらいがちょうどよい、といった心構えで望んでほしい。そこで、以下の項目について事前に確認をしておこう。

主なフォレンジックの実施目的

 ・組織が不正アクセス調査などを実施することを望んでいるのか
 ・コストをかけて調査するほどの被害が発生しているのか
 ・不正アクセス者を追跡することで、被害補償がなされるのか
 ・そもそも、追跡可能なのか

■証拠をどうするのか?

上記でも述べたようにフォレンジックとは、作業の実施に向けてわざわざ予定外の予算を獲得して行っているのだ。フォレンジック作業を実施して不正アクセスの証拠を集めただけで完了してしまっては意味がない。 『何のため』 に証拠を集めるのか 『何に』 集めた証拠を使用するのか、目的を明確にしておく必要がある。

フォレンジックで集めた証拠の主な使用用途

 ・組織内の報告用
 ・警察への届出用
 ・裁判の際の資料用
 ・IPAやJPCERTへの届出用

4−1.フォレンジック作業で用いるコマンドについて

第三者に侵入されたおそれのあるシステムでは、調査のために実行するコマンドであっても信頼できない。システムに不正侵入を行った者は、自らの侵入行為の発覚を遅らせるためにログの改ざんなどの隠蔽工作を行うのは当然のことだ。今現在、実際に使用されている侵入の手口については模倣犯的な犯行の防止策として具体例を明らかに出来ないが、教科書的に公開できる範囲で述べると、 ※4 管理者がよく使うコマンドの差し替えや実行中のプロセスの隠蔽、ファイルやディレクトリの隠蔽などが有名だ。 実際の作業で正確な調査が行えるよう、必要なコマンド群をrootkitやバックドア等に汚染されていない信用のできるものとしてあらかじめ調査対象システムごとに準備しておく必要がある。これらのコマンド群を安全に利用できるように、調査対象システムに調査用のアクセス経路を用意しておく事は重要だ。もちろん、そのアクセス経路自体が侵入者によって置き換えられないよう、厳重に監視する仕組みを準備するといった対策を行う事も忘れてはならない。

調査用のコマンド群を準備するしてもコマンドを動作させたときに、調査対象ホストのハードディスク上のファイルを利用してしまうようでは 元の木阿弥 であり、目も当てられない状況に陥ってしまう。そうならないように設定によく注意を払うようによく心がけるべきだ。 rootkit やバックドアは何もコマンド群だけではない。設定ファイルに見せかけたスクリプトファイルや汚染されたライブラリファイルに差し替えられている可能性も十分に考えられるので、調査対象ホストのライブラリを利用しないようにするなどして、用意されたコマンド群内で作業が完結するように対策を施す必要がある。

4
管理者がよく使うコマンドとして、 cd 、 cat 、 df 、 find 、 finger 、 grep 、 last 、 ls 、 netstat 、 ps 、 su 、 sudo 、 top 、 vi などがある。管理者としてオペレーションをする上でこれらのコマンドは避けては通れないと言及できるほど必ず使用するが、rootkitやバックドアのプログラムをこれらのコマンドと同じ名前にして既存のコマンドと置き換える。
rootkitやバックドアと差し替えられたコマンド群は実行すると一見したところ正規のコマンドと同じに見える出力結果をコンソールに出力する。だが、実際にはコンソールに出力されないバックグラウンドでは着々と別のプログラムとして稼動している。
rootkitやバックドアの厄介なところは、コマンドを不正なものと差し替えるために、 ps や top 、 df コマンドでは自らの存在を隠蔽した結果を出力するので、コンソール上に表示される出力結果からは差し替えられた不正なコマンドか否かの判別はつかない

4−2.フォレンジック作業で利用するツールについて

コンピュータ・フォレンジックでは、rootkitやバックドアに汚染されていない安全なコマンド群を用意することはもちろんのこと、各種の調査ツールも利用する。使用するツールは調査の種類や対象とするシステムの分野にもよるが、必ずしも最新のものがよいとは限らないので、使用するツールはよく選定することをお勧めする。

■名人筆を選ぶ

格言で『名人筆を選ばず』という言葉があるが、それは名人である場合の仮定だ。名人でないのならば、自分の力量を最大限に発揮できる道具(=ツール)を厳正に選別するべきだ。また、セキュリティのプロならば十分に ※5 信用できないツールを実業務で使用してはならない。結局は、最高の仕事を成し遂げたいのであるならば、『名人筆を選ぶ』と肝に銘じておくべきだ。

フォレンジックで使用されるツール類には、その実行結果に対して妥当性、正当性、信頼性が確保されていることが求められていることが絶対条件だ。ソフトウェア一般について言えることだが、プログラムは永きに渡り使われ、多くのエンジニアの厳しい鑑識眼にさらされて十分検証が重ねられた“枯れた”ものを使用する方が安全な場合が多い。ツールによって収集された証拠の正当性が裁判の結果を大きく左右する可能性があることを考えれば、当然ともいえよう。

5
自らが十分に信用が出来ないツールを実業務で使うと言うことは、本番の運用システムでイチから検証するようなものだ。
どのような結果になるかを十分に把握していないツールを本番環境で使用するのは顧客の環境で検証作業を行っているのと同じで言語道断な蛮行だ。

■フリーツールと商用ツールの違い

フォレンジックで使用するツールには、フリーのものと商用のものがある。商用ツールを使用する場合は、ソフトウェアの動作自体の正当性を裏付けるためにベンダーの協力が必要になる場合もあるので訴訟時にベンダーの協力が得られるか否かを事前に確認しておくように心掛けよう。

コンピュータ・フォレンジックでは、以上の点に留意して、証拠の保全/解析作業を行うことになる。その際には、セキュリティ事故が発生した後のシステムの状況を見極めるために、システムの通常の稼働状況を正確に把握しておかなければならない。また、精密な調査を行うためには、コンピュータに関する深い知識を持ち、かつ、普段からセキュリティ情報を十分に収集しておく必要もあろう。さらに、分析作業においては、攻撃者の行動パターンの予測などを行う犯罪心理学的な視点も求められる。

このようにたくさんの要素が要求される作業をIT系部門(=情報システム部)、および現場の担当者が行うことはたいていの企業ではきわめて難しい。実際には、コンピュータ・フォレンジックの作業をIT系部門などでは行わずにセキュリティ系ベンダーといった類の外部の専門家に任せることが一般的となっている。しかし、ここで注意しなくてはならないのは、ベンダに丸投げして対応はすべてベンダ任せにしてしまえばよいものではない。ベンダはあくまで既に発生してしまったセキュリティ侵害事件のフォレンジック作業の部分を請け負ったに過ぎない。今までのその企業の性格や経営戦略などを把握しているわけではないので、すべてベンダに任せるのには無理がある。現代では、企業内外問わず『丸投げ』が至るところで横行しているというのは、悲しむべき風潮だ。 ”専門家にお金を払ったんだから客であるこちらは寝ていても勝手に問題はかたずいているはずだ。” といった常日頃の『対岸の火事』的な発想がこの類の問題を引き起こしていった事から目をそらしてはならない。その事をよく意識して対応に当たらないと、スケープゴートにされてしっまたり、最悪の場合には有効な証拠が見つからなかった挙げ句に犯人に仕立て上げられて組織からも社会からもはじき出されてしまう、なんてことになりかねない。

『2.インシデント・レストポンスとは』で述べたインシデント発生時の初期対応における必要最低限の作業には、現場の担当者が実施しなければならない項目が存在することを忘れてはならない。『だれ』が『どのレベル』の対応を行うのかは企業・組織によって異なってくるので一概には言及できない。コンピュータ・フォレンジックの実行に際しては、企業・組織として、どの程度まで作業にかかわるのかということを事前によく検討して経営者層に浸透させておくことが重要だ。

5.不正アクセス調査のためのフォレンジックツール

前フリが長くなってしまったが、いよいよフォレンジックの作業へと入る。本節では、フォレンジック作業に用いる道具(=ツール)を紹介していきたい。

作業に当たって、コンピュータ・フォレンジックによる不正アクセス調査を行う際には、以下のようなことに注意するようにしておきたい。

 ・ 不正アクセスを受けた状態をできるだけ残すこと
 ・ 不正アクセスを受けたシステムは信頼しないこと
 ・ 証拠を破壊してしまわないこと

本稿ではフォレンジック作業の実施に際してツールを使用しているが、とくにツールをしようせずともすべての作業を手作業で実施することも可能だ。本稿をご覧の貴殿達の中には ”他人が作成したツールは内部構造が分からないから使うのはエンジニアとして邪道だ、作業内容を目視でも確認できる手作業でやるべきだ” 、とお考えの方もいるかもしれない。ある意味 ”漢気” あふれる意見であり、鋼のような強固な意思と枯れることなき探究心をお持ちの御仁は是非そうしていただきたい。小生のような ”にわかエンジニア” には到底到達できそうもない境地に達された方々には心より最大限の賞賛を述べさせていただきたい。可能ならば、ご指導をいただきたいくらいだ。

類稀なる、技術力をお持ちの方ならば却ってツールなど使う必要はないが、一般的な技量の持ち主の方々は迅速かつ正確に情報を収集するために自動化可能な部分に関してはツールを使用することで作業を自動化した方が効率的かつ円滑に作業がはかどるはずだ。

5−1.多彩なコンピュータ・フォレンジックツール

コンピュータ・フォレンジックで証拠の収集/解析を行う際には上記で述べたように、ツールを用いるのが一般的となっている。コンピュータ・フォレンジック用のツールにはフリーのものと商用のものがあるが、前者の例としてはCD-ROMドライブを搭載していれば、どんなコンピュータでも手軽にLinuxを使うことができる『1CD Linux』や最近はやりの『USB Linux』が挙げられる。このようなシステムは特にフォレンジックや不正アクセス調査を目的としたものではないが、調査対象ホストに影響を及ぼさずにディスク・イメージの作成などの作業が行えるといった利点からフォレンジックに適している。CDブータブルLinuxとしては、『KNOPPIX』や『Ubuntu』がとりわけ有名だ。

USB Linux は2007年9月現在では Ubuntu Linux のみで対応してる機能だが、1CD Linux のようにUSBメモリから起動することの出来るLinuxだ。利点としては、ホストマシンのHDD内のファイルやフォルダに影響を与えることなく起動させることが出来る。また、1CD Linux と異なりデータの読み書きが出来るため、PCを再起動しても編集した作業データが保存される。また、USBメモリはデータアクセスが非常に高速なためまるで内蔵ハードディスクからOSを起動しているかのごとき軽快さでストレスなく稼働させることが出来る。

いいことずくめの USB Linux のようだが、実はPCのUSBメモリからの起動はそのUSBメモリがブートアップ機能を備えていることとそのPCが USB HDD からの起動をサポートしていなければならない。起動できるPCの機種が限定されてしまうため USB Linux からのフォレンジックが主流になるのはまだまだ先のようだ。対して、1CD Linux ならばCD-ROMドライブを搭載しているPCであればCD-ROMから起動させることが出来るので、無難な選択となる。

フォレンジックツールとして使うには、 Linux というだけでは不十分なので、さらにフォレンジック用のプログラムをあらかじめ組み込んでおく必要がある。 Linux にはオープンソース運動のみ旗の下で開発発展をしてきたソフトウェア文化があるため、実に多くのツールが公開されている。フリーのフォレンジック用ツールの多くはLinux用に作られているので、自身でお気に入りのツールを 1CD Linux に組み込んでもよい。

自身でフォレンジック用のツールを組み込まなくとも既にCDブータブルLinuxにフリーのフォレンジック用ツールを装備したツールキットというものが公開されており『F.I.R.E.』や『Penguin Sleuth Kit Bootable CD』、『HELIX』などが有名だ。これらのシステムはオフラインでの証拠解析に用いることが可能でコンピュータ・フォレンジックを行うための最低限必要なツールがそろっているので利用してみる事をお勧めする。

なお、いずれのツールも使用にあたっては、調査対象システムのハードディスクに不用意な書き込みを行い、証拠を破壊するようなことがないよう、十分確認のうえ作業を行っていただきたい。コンピュータ・フォレンジック向けのツールに関して興味のある方は、以下のWebサイトを参照されたい。

・KNOPPIXの日本語版Webサイト
 http://unit.aist.go.jp/itri/knoppix/

<フォレンジック用ツールキットを含むCDブータブルLinux>
・F.I.R.E.のWebサイト
 http://fire.dmzs.com/

・Penguin Sleuth Kit Bootable CDのWebサイト
 http://www.linux-forensics.com/

<フリーのフォレンジック・ツール>
・The Sleuth Kit/The Autopsy Forensic BrowserのWebサイト
 http://www.sleuthkit.org/

・たかはしもとのぶ氏によるSleuth Kitの日本語化パッチがダウンロード可能なWebサイト
 http://www.monyo.com/technical/unix/TASK/

・TCT(The Coroner's Toolkit)のWebサイト
 http://www.porcupine.org/forensics/tct.html

<商用フォレンジックツール>

・米国ガイダンス・ソフトウェア「EnCase」のWebサイト
 http://www.guidancesoftware.com/
 コンピュータ犯罪調査用に特化しており、便利な機能を数多く提供しているので専門家の間でも人気がある。

また、米国標準技術局(National Institute of Standards and Technology:NIST)では、フォレンジック関係のプロジェクトを立ち上げている。それらはフォレンジック用ツールの評価を行っているので以下に紹介しよう。

・CFTT(Computer Forensic Tool Testing)
 http://www.cftt.nist.gov/

 コンピュータ・フォレンジック用ツールに関して中立的な立場で、評価テスト手法を確立することを目的として活動しているプロジェクト。上記で紹介したEnCaseについても、ディスク・イメージ作成ツールとしての評価を行っている。

・NSRL(National Software Reference Library)
 http://www.nsrl.nist.gov/index.html

OS、DBMS、オフィス・アプリケーションなどの各種ソフトウェアにおけるファイルのプロファイル情報、MD5シグネチャを調査するプロジェクト。成果物が定期的にRDS(Reference Data Set)として提供される。ファイルのプロファイル情報、シグネチャはコンピュータ・フォレンジックの調査において、不審なファイルと正しいファイルを見分ける際に役立つ。

5−2.データの扱いに注意するネットワーク・フォレンジックツール

もう1つのタイプであるネットワーク・フォレンジックは、ネットワーク上を流れるトラフィックを調査対象としたフォレンジック。ネットワーク・フォレンジック作業ではトラフィックを記録するための装置(例:ネットワークタップ、ネットワークキャプチャ用端末)をネットワーク上に設置して、データの解析を行う。対象システムにおける証拠をシステム外で保管することが出来る利点があるため、証拠の確保という点で有効だ。以下ではネットワーク・フォレンジックを行う際に注意すべき点を挙げていくこととする。

■利用するツール

ネットワーク・フォレンジックの作業自体は別に専用の機材を使わなくともよい。 UNIX 系OS(=Linux、Free BSD、Mac OS X)や Windows などでも利用できるトラフィックをキャプチャするオープンソースのツール( = tcpdump 、 wireshark 、 windump など)を用いてデータを収集・記録する方法が一般的に用いられている。もちろん、 UNIX や Windows などのサーバマシンをそのままトラフィック記録装置として転用することも可能だ。しかし、これらのツールを利用する場合は、トラフィックの高い環境においてはデータの取りこぼしといった問題が発生することに意識を払っておかなくてはならない。

ネットワーク・フォレンジックの分野では、フリーのツールに付加機能をつけて使いやすくした商用製品も数多く提供されている。例としては、米国ニクサンの『Net Detector』や、ネットエージェントの『PacketBlackhole』があり、以下のような特徴を備える。

・ 特定のプロトコルの再構築が行える
・ 収集するデータ量に応じて、ストレージ容量を拡張できる
・ ネットワーク・キャプチャの性能が高い
・ データ分析に便利な機能を備えている
・ 強力な検索機能を備えている
・ データの取り扱いを容易にするインタフェースが提供される

(1) ネットワーク・トラフィックを扱う際の『配慮』

基本的にネットワーク・フォレンジックでは、ネットワーク上を流れるトラフィックがすべて記録される事を前提としている。通信のトラフィックというのは、従業員の個人情報をはじめとしたプライバシーに関わるデータが含まれている可能性がある。そもそも、従業員に関する情報を取得する行為自体がプライバシーの侵害に接触する可能性をはらんでいる。

ネットワークの監視では監視対象が企業や組織が管理しているネットワークであれば、過去の判例においては基本的に合法性が認められる傾向にある。だが、監視を実施するにあたっては、事前にネットワーク監視に関するポリシーを明確に提示しておくなどの配慮や準備が必要となってくる。

プライバシー以外の問題として、ネットワーク・フォレンジックにおいては、『データの取得』、『保管』、『管理』などデータの取り扱いに関して慎重な姿勢が求められる。理由として、ネットワーク上のすべてのトラフィックが記録されることで、収集したデータの中には組織のセキュリティ・ポリシー上、機密情報として取り扱われるべき事項が含まれている可能性を看過することが出来ないからだ。

ネットワーク・フォレンジックを実施にあったては既存のプライバシーや機密情報の取り扱いなどに関する各種セキュリティ・ポリシーを確認し、それらにおいて、データの取得・運用管理に関わるポリシー(取得する情報の範囲、データの保管期間、データバックアップ / 消去に関する事項など)に関して、不足している部分があれば、それを明確に定めておくといったことが必要になる。

(2) インシデント・レスポンスのいちプロセスとして実施

企業や組織におけるセキュリティ対策の実施状況を見ると、インシデントの防止策として内蔵HDDやリムーバブルメディアへのデータ暗号化ソフト ( 例 : Pointsec for PC、Pointsec Media Encryption、etc ) といった各種セキュリティソフトやセキュリティデバイスを導入したり、インシデント発生後の復旧策としてバックアップ/リカバリに力を入れたりしていることが多い。しかしながら、フォレンジックで行う証拠の収集のような、インシデントの調査・分析に関しては、ほとんど検討されてこなかった。

企業による情報漏洩事件の発生は増加傾向にあり、訴訟にまで発展するケースも決して少なくない。ネットワークエンジニアやセキュリティエンジニアとして、この現状を『対岸の火事』として傍観しているわけにはいくまい。”明日はわが身”なのかも知れないのだから。

訴訟にまで発展してしまった場合には、情報漏洩事件に関する証拠の提出が不可欠となってくる。幸運にも、訴訟に至らなかったとしても、事件への対応などについて最低限、企業としての説明責任が求められ、何らかの形で、事件を精査する必要が生じることになる。このような事態に対する備えとして、フォレンジックというアプローチがあることを意識の片隅にでも置いていただけると幸いだ。

フォレンジックは、コンピュータセキュリティにおける訴訟対策のための手段として、”組織”、”人”、”物理面”といった複数の側面から取り組むことが求められる。個々に検討するのではなく、インシデント・レスポンスのいちプロセスとしてとらえる必要がある。フォレンジックは、ツールが勝手に行ってくれるわけではないので、フォレンジックを導入する際は、いきなり製品の選定から始めるのではなく、まずは、インシデント・レスポンスの体制 / 計画の見直しから取りかかるべきだ。体制自体がないのであるならば、早急に体制を整えなければならない。そのうえで、技術面に偏ることなく運用管理も踏まえ、組織にとって実行可能かつ最低限必要なレベルから、フォレンジックに取り組んでいくとよいだろう。

6.5ステップで進めるコンピュータ・フォレンジック

本章では、実際のコンピュータ・フォレンジックの手順について解説をしていく。今回は、セキュリティ事故の発生したコンピュータは既に判明しており、そのコンピュータに対してコンピュータ・フォレンジックを行うことを想定している。詳しい作業内容については、今後公開する(予定)の応用編や実践編を参考にしていただければ幸いだ。

調査の大またかな流れは下記の通りとなる。

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

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

(1) イメージ取得の準備

既に幾度も述べているが、フォレンジックはセキュリティ事故が発生した情報システム上における証拠の保全が目的だ。フォレンジック作業によって肝心な証拠を破壊・改ざんしてしまっては本末転倒な話になってしまう。実際のフォレンジック作業では対象のコンピュータでオペレーションは行わない。一般的には dd コマンドなどで対象のコンピュータのハードディスクのクローンイメージを作成し、対象のコンピュータとは隔離した状態でディスクイメージに対してフォレンジック作業を実施する。

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

ハードディスクのクローンイメージはUSBやIEEE 1394 で接続した外付けディスクに作成するので、あらかじめ外付けディスク内のデータをすべて消去しておく。その後、 ext3 ファイルシステムを使い、フォーマットする。このときパーティションサイズは、証拠ディスクデータの最低3倍の容量は用意しておく。

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

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

■ HAKAKO Linux

HAKAKO Linux は小生が定期購読している雑誌 Hacker Japan のライター謹製の nUbuntu Linux だ。この Linux は Ubuntu 7.04 がベースになっており、様々なフォレンジックツールやペネトレーションテストツールが包含されている。これを使用すれば、証拠ディスクをマウントせずにイメージを取得することができる。

Live CD としても起動するが、実際には容量が肥大化したので CD-ROM 1枚に収まりきれずに、DVD-ROMから起動する Live DVD Linux だ。また、HAKAKO Linux は USB メモリからの起動にも対応しており、 USB メモリにインストールしておけば USB Linux としても使用することが出来る。最近の機種ならば、 DVD-ROM や USB からでも OS を起動することは出来るが、少々旧式の環境では起動できないので作業前に確認しておくことが必要だ。

なお同様のツールとして、 F.I.R.E. 、 Helix 、 Knoppix Linux 、 Penguin Sleuth といったものもある。

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

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

(2) イメージ取得の前に

準備ができたら、 Knoppix Linux を起動し、rootアカウントでログインする。ここでの注意としては、イメージ保存用のディスクは、データを書き込むためにマウントしなければならないが、証拠ディスクはマウントしてはいけない。データ保管用ディスクをマウント後、 dmesg 、 hdparm 、 sfdisk などのコマンドを用いて証拠ディスクの情報を取得しておく。取得したデータと証拠ディスクのデータについて、ハッシュ値も記録しておく。

(3) イメージの作成

イメージ取得のために利用されるツールとしては『dd』、『rda』、『dcfldd』などがある。このうち dd は、ディスクイメージを取得するために古くから使われているツールだ。ちなみに、 Forensic Focus のアンケートによると、ddの人気はEnCase(商用の解析ツール)に次いで高いようだ。

# dd if = <証拠ディスクのデバイス> of= <保存ディスク上のファイル名>

dd を用いる際には、 if パラメータと of パラメータは絶対に間違えないよう注意が必要だ。パラメーターを逆にすると、自分で証拠を破壊してしまうことになるのでよく注意をしていただきたい。

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

(4) 解析の準備

次に解析を行うためのコンピュータを用意する。
このコンピュータには解析用のツールを導入するので Linux やBSD といった UNIX 系の OS をインストールしておく。 UNIX 系のツールのほとんどは異なるプラットフォームへの移植や改造を考慮しているためソースファイルで提供されるのが一般的だ。そのためコンパイル環境 (例 : gcc) をあらかじめインストールしておく事をお勧めする。

解析用のツールとしては、以下のようなものを紹介しておく。

The Sleuth Kit、The Autopsy Forensic Browser

オープンソースで開発されたファイルシステムフォレンジックツール。おなじみの dd コマンドで作成されたイメージを解析し、割り当てられているファイル名や削除されたファイル名の表示、ファイルシステム構造の表示、NTFSファイルの属性値の表示、ハッシュ値の確認などの機能が実装されている。フォレンジックのオペレーションはブラウザベースのGUIフロントエンド Autospy にて行う。小生は、Mac OS X に実装してファイルシステムフォレンジック作業に使用している。

The Sleuth Kit は英語環境のツールだが、たかはしもとのぶ氏によって日本語ヘルプが公開されているので、英語が苦手な方は参照していただきたい。


Webブラウザで操作が可能な Autopsy のインターフェース

Foremost

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

F-prot

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

strings

ファイル中に含まれている文字列を抜き出して出力するツール。OSに標準でインストールされているが、stringsの日本語対応バージョンとして、はせがわ氏作の『 jstrings 』、たかはしもとのぶ氏作の『 jstrings 』が公開されている。

(5) 解析処理

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

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

決定的な証拠が見つかるのは、非定型的な状況であることが多い。定式化されない方法はツールに起こすことは出来ない。ツールを使いさえすれば、高度な専門知識や技術がなくとも決定的な証拠を見つけることが出来ると思っている『Script Kiddy』にはForensic 作業はさせないことが賢明だ。そもそもそのような人材には作業の成果は挙げられないし、機密情報に接触させる分危険が増大するだけだ。

考えてみて欲しい。そもそも、ツールを使っただけで決定的な証拠が見つかるくらいならば、誰も苦労はしない。また、そのような便利なツールがあるのならば、 Script Kiddy を従業員として雇い続けるよりも、その従業員を早々とリストラして浮いた費用でツールを買ったほうが有効な投資と断言できる。

7.まとめ

コンピュータ・フォレンジックについては、米国などでは、ずいぶん前から意識され教育も行われている。日本では2003年初頭辺りからようやく注目を集めるようになった技術だ。

日本でのコンピュータ・フォレンジックの動向について述べると、近年になって日本語対応のツールが登場してきたり、ごく一部で『コンピュータ・フォレンジック』という用語が聞かれるようになってきたていどだったが、最近になって徐々にコンピュータ・フォレンジック対応を行う企業が増えつつ状況にある。そして、このような問題に対応する弁護士も少しずつではあるが増えてきているようだ。米国などでは、刑事訴訟や損害賠償を請求するために大切になるという位置づけだが、日本では攻撃の踏み台にされたときに損害賠償しなくてよいようにするにはどうするかという目的のために対応する企業の比率が高い。

それでも、不正アクセスが起きたのか起きていないのか、起きたとすれば具体的にどんな事象が発生したのかを知り、さらには、これを証拠として何らかの措置を取るにも、正確な状況把握は不可欠だ。そのような意味で、コンピュータ・フォレンジックは今後必須の技術になっていくだろう。

個人が、これらの対応をきちんとやるのは簡単ではないが、企業としては組織防衛の観点で今後不可欠な手段となってくることが予想される。コンピューター・フォレンジックの技術を活用した不正アクセスの調査は今後必要性はますます増えていくことだろう。コンピューター・フォレンジックの技術を活用して、不正アクセスに対しての定期的な調査を行うことで、システムの保全を心がけていただきたい。