両刃の剣:司法コンピュータ・フォレンジックスとオープンソース

Totally Connected SecurityのRyan Puritaは、コンピュータ・フォレンジックの屈指の専門家であるカナダの個人事業者だ。世界最高レベルのセキュリティ認定資格、Certified Information Systems Security Professionalの取得者である。訴訟の原告、被告双方で活動するかたわら、警察・検察関係者、保護監察官、ソーシャル・ワーカーにコンピュータ・セキュリティを教え、現在はJustice Institute of British Columbiaのためにプログラムを開発している。

Puritaの日々の業務は、多くの部分がシステム管理者の活動の延長にある。大部分を占めるのは、標準システムツールなどのオープンソース・ツールを高度に駆使する作業だ。彼の作業方法からは、セキュリティ、プライバシー問題、WindowsとGNU/Linuxの相対的なメリット、そして言うまでもなくオープンソースが脇役以上の存在となっているニッチな分野について、斬新な展望が得られる。

通常、「コンピュータ・フォレンジックス」とは、システムがクラックされた後で実施される調査を意味する。実際、Puritaの仕事もときどきはこの定義に当てはまる。ただし、この用語はもっと狭い意味で使われることがあって、その場合は法廷に提出する証拠を発見するための調査を意味する。企業秘密、知的所有権、児童ポルノの不法所持、従業員の解雇、離婚、保険金詐欺、インサイダー取引、偽造、犯罪的ないやがらせやセクシャルハラスメント ─ このようなことを証明するためにハードディスク、リムーバブル・メディア、またはネットワークのフォレンジック調査が必要になることがあるのだ。

コンピュータ・フォレンジックスに使えるツールはオープンソース・ツールだけではないが、最も広く利用されているのはオープンソース・ツールである。GNU/Linuxの信奉者であるPuritaは、オープンソース・ツールを好んで使うが、プロプライエタリなツールを使うことも多い。彼が言うには、プロプライエタリ・ツールは「かわいらしく」、GUIがよく作られていてクライアントが理解しやすい。また、証拠が法廷に受理された先例も多い。とはいえ、オープンソース・ツールの実績も増えているので、それほど見劣りはしない。

Puritaによると、利用されることの最も多いフォレンジック・ソフトウェアはプロプライエタリなWindowsプログラムのEnCaseである。Encaseは「地球上で最も法廷で検証されたソフトウェア」であり、Encaseで作成された証拠が法廷で使われた回数は2700回を超えるという。Encaseを僅差で追うのは、The Coroner’s Toolkit (TCT)である。これは、Satanの共同開発者Dan FarmerとWietse Venemaによるオープンソース・プロジェクトだ。また、プロプライエタリなGNU/LinuxプログラムのSMARTもよく使用される。こういったプログラムは、だいたいにおいて機能は似ている。

ファイルシステムの保全

結果を法廷に提出するためには、調査対象のファイルシステムに変更は許されない。ファイルシステムが証拠として引き渡された日付よりタイムスタンプが新しいファイルが1つでもあれば、相手側の弁護士は調査全体に異議を申し立てかねない。法廷では「ちょっとした手違いで全部が台無しになる」とPuritaは言う。

したがって、Puritaの最初の仕事は、オリジナルのメディアの整合性を確保することだ。物理的には、たとえば児童ポルノ所持容疑などの微妙なケースでは、施錠された部屋で作業することになる場合もある。ハードディスクを扱うときは、ドライブをコンピュータに接続する前にFireflyなどのライト・ブロッカ(書き込み禁止ハードウェア)を取り付けることでメディアの整合性を保証する。ライト・ブロッカには別の長所もある。ディスク消去プログラムのロジック爆弾がシステムの取り外し時に起動することを防止できるのである。

Puritaは、さらに用心して、GNU/Linuxを使ってファイルシステムにアクセスする。「Windowsはあらゆることに干渉しようとしますからね」と彼は言う。それに、ゴミ箱などの機能も邪魔になる。対照的にGNU/Linuxシステムでは、ファイルシステムを適切なときに適切な方法でマウントできるので、ドライブへの書き込みを防止しやすい。

最後に、彼はファイルシステムのディスクイメージをCDやDVDにコピーする。使用するフォレンジック・ソフトウェアにイメージング・ツールがない場合は、ddを使う。その後、オリジナルのドライブは、裁判が結審するか家宅捜索で提出されるまで、社内で安全に保管される。これ以降、調査はコピーを使って進められ、オリジナルを使うのはコピーがさらに必要になった場合に限られる。

調査の手順

使用するフォレンジック・ソフトウェアがどれであっても、常に調査のプロセスは、ファイルを検索して証拠となる領域を探る作業の繰り返しである。ときには、キーワードや名前、日付、ファイルタイプが手がかりになる。あるいは、探しているものについてのあいまいな直観や、何か見つかるかもしれないファイル形式(電子メールやオフィス・プログラム・ファイルなど)しかないこともある。

EnCaseなどのフォレンジック・プログラムには、拡張子ごとに高度なファイルタイプ検索機能が定義されている。OpenOffice.orgなど、多くのオープンソース形式で使用される拡張子もサポートされる。ただし、このような事前に定義された検索スクリプトをPuritaが常に頼れるわけではない。Windowsのファイル拡張子を変更するのはファイルを隠す常套手段であり、UNIX系のシステムでの拡張子の使い方はWindowsの場合とやや異なる。

場合によっては、検索スクリプトの代わりにgrepツールとさまざまな正規表現を使ってファイルのヘッダやフッタを検索する。一般に、このような検索はファイル拡張子だけに基づく検索よりはるかに信頼性は高い。EnCaseでさえWindowsバージョンのgrepを利用し、正規表現を追加するための機能的なGUIを提供している。

さらに信頼性の高い検索項目は、md5を使って取得されるデジタル署名である。Puritaによれば、「児童ポルノからハッキングツール、偽造ソフトウェアまでのあらゆるもの」のmd5署名のデータベースがNational Institute of Science of Technologyで管理されている。調査結果をこのようなデータベースと比較することで、検索の焦点をすばやく絞り込むことができる。この比較は、TCTを使うと特に簡単になる。TCTは、ファイルシステムにあるすべてのデジタル署名の完全なログを書き出すことができる。

  

前後関係が調査で役割を演じることもある。たとえば、ある参考人が自宅のコンピュータでしかスプレッドシートを操作しなかったと証言したと予備陳述書に書かれていたとする。その参考人の勤める企業の機密情報が書かれた電子メールがスプレッドシートを閉じた数分後に送信されたことが確認された場合、参考人がメールを送信した可能性が出てくる。結び付きは弱いが、警察官による聴取や弁護士による反対尋問を重ねることで、別の証拠や場合によっては自白を引き出せる可能性がある。

このような前後関係に基づく証拠を固めるために、Puritaは一般的なファイル情報とログのほか、HTMLファイルやオフィス・プログラム・ファイルで使用されるメタタグや、ときにはWindowsレジストリのキーも手がかりとする。Puritaによると、WindowsとMS Officeには、ユーザの活動に関する情報がほとんどの人が知るよりはるかに多く記録される。ファイアウォールが配置されていない限り、Windows XPでは、実行された検索やヘルプ・ファイルへのアクセスに関する情報までが記録され、転送される。この情報が収集される理由はPuritaにはわからないが、おかげでWindowsでのフォレンジック調査はGNU/Linuxの場合よりずっと楽になることは彼の認めるところだ。

意外なことではないが、調査に要する時間には大きな幅がある。ファイルシステムのサイズ、調査の範囲、提供される手がかりなどが、主な変動要素である。1時間もかからずに終わることもあれば、500時間を超えることもある。ネットワークの場合、システム全体ではなく主要なコンピュータやユーザ名だけを検索すればよいので、調査は妥当な時間で完了する。たいていの場合、ネットワークの検索をこれ以上の範囲に広げるのは、この予備的な方法で結果が得られなかった場合に限られる。

調査の問題点

Puritaは、フォレンジック調査の問題点に気付いている。まず、システムのセキュリティが弱いことが原因で、証拠のファイルがインターネットに由来するマルウェアによってシステムが侵害された後でダウンロードされたという参考人の主張が説得力を持つ場合があることだ。このような主張は、ポルノ所持の場合に特に多い。このような経験から、調査の開始時にウイルスとトロイの木馬を検索することがPuritaの習慣となった。何も検出されない場合、このような主張はすぐに反証される。何かが検出された場合は、参考人の主張のような動作がありうるかを調べる。

2つ目の問題は、知らないうちにポップアップによってファイルが自動的にダウンロードされた、という似たような主張だ。ポップアップに関しては、Puritaはファイルがアクセスされた時刻をチェックする。そのようなファイルがアクセスされた記録がないか、調査対象者がコンピュータの前にいなかった時刻にアクセスされていた場合は、問題のファイルについて真実を主張していると考えられる。

3つ目の問題は、システムのパスワード・ポリシーである。これは、Windowsを使用するホーム・コンピュータで特に問題となる。パスワードがユーザごとに設定され、セキュリティの高いパスワード・ポリシーが適用されていない限り、特定のユーザが何をしたか証明することは難しい。通常、ユーザからさらに情報を引き出すことが必要になる。この点では、ユーザごとに固有のログイン設定を要求するほとんどのUNIX系のシステムとネットワークでは、Windowsシステム(特に家庭で使用されるマシン)と比べて調査は楽だ。

暗号化やディスク消去のツールが問題となるケースも増えている。適切に使えば、どちらのツールもPuritaの調査を台無しにできる。ただし、参考人の口から暗号キーが明らかになることもある。消去ツールに関しては、Windowsで使用できる製品の多くは宣言文句ほど有効ではない。また、その種のツールの存在だけで犯罪や不誠実の意識があるとは解釈できないとも、Puritaは指摘する。自分自身がそういったツールを使用しているので、プライバシーを重視したり、機密性のある資料を扱ったりするユーザにはその種のツールを持つ正当な理由がある、というのが彼の見解だ。これは、彼が警察官や検察官にときどき指摘することである。

まとめ

専門家としてのPuritaの立場は、ほとんどの警察官とは対照的だ。コンピュータとセキュリティに関する司法関係者の認識は5年前よりも高いと彼は考えているが、全般的な知識のレベルはいまだに低い。コンピュータ・フォレンジックスの専門家になった警察官は、往々にして民間に転進してしまう。専門知識がはるかに高い報酬で評価されるからだ。そういった状況下で、Canadian RCMPなどの政府機関の方針は、コンピュータ・フォレンジックスの90%以上がトレーニング不足で過労の職員によって内部的に処理される事態を招いている。

依頼は非常に多いが、Puritaは選んだ分野の研究を続けるため、余暇を割いている。オープンソース・テクノロジについて調べることは、以前より増えている。彼が心配しているのは、オープンソース開発がコンピュータ・フォレンジックスに新しいツールを提供するのと同様に、彼が調査の対象とする人々をオープンソースが武装させる可能性があることだ。この点について、彼はオープンソースが「両刃の剣」であり、「僕の生活を悪夢に変えかねない」と認める。この状況を考えるとき、コンピュータを使ってできないことは別の手段で実行されるだけだという信念に、彼は慰めを求める。データをハードディスクから削除できなければ、部屋に押し入ってコンピュータを丸ごと盗み出そうとするだろう、ということだ。

それでもなお、彼はGNU/Linux(そのアーキテクチャはWindowsより高いセキュリティを備えている)の広がりを、個人的な喜びとプロとしての懸念が混ざった目で見ているようだ。プロとしてのPuritaの観点からは、「Windowsの素晴らしい点は、自分の痕跡を消したと思っていても、消し切れていないこと」なのである。

原文