こんにちは、フォレンジック・エバンジェリストの松本です。遅れましたが、明けましておめでとうございます。今回は少し視点を変えて、アンチフォレンジックの視点で、いかにファイルシステムに痕跡を残さずに不適切な画像を見れるか、に関して実験をしてみようと思います。今回はあまり技術的な内容ではありませんので、肩の力を抜いて読んでいただければと思います。
-----
■はじめに
仕事柄、筆者は会社のPCで不適切なWebサイト、ありていに言えばポルノ画像や動画を検証することがある。さすがに正当な業務としてコンテンツをチェックしているので、会社で閲覧すること自体の抵抗感はそれほどないが、背中越しに時折感じる同僚(主に女性)の冷たく厳しい視線が、筆者としては非常に気になるところである。
それはさておき、今回は「ハードディスクになるべく痕跡を残さずに不適切な画像を見る」ことについて考えてみたい。これは、フォレンジック調査に携わる上で避けて通れない「アンチフォレンジック」に関するテーマでもある。筆者のPCでポルノサイトを閲覧した後に、画像スキャンツールSnitch Plusを使ってハードディスクをスキャンし、ポルノ画像が検知されるかを確認する。
■ポルノ画像スキャンツールSnitch Plus
フォレンジックのツールの中に、ハードディスクなどに溜め込んだポルノ画像をスキャンして、しかるべき相手に通報してくれるツールがある。今回試すSnitch Plusも名前が示すように、そういった「密告ツール」のひとつである。この類のツールは日本ではあまりお目にかかることはないが、児童ポルノの所持や公共の場でのポルノ利用に厳しい欧米などを中心に(ドラッグや犯罪の兆候などをチェックする機能なども追加された形で)販売されており、ユーザーにも広く認知されている。もちろんオンラインショップ経由で日本からでも購入できる。
Snitchシリーズを販売しているHyperdyne Softwareの製品紹介ページによると、Snitch Plusは主に家庭のパワーユーザーを対象とした、ローカルPCのハードディスクをスキャンして上記のような疑わしいデータを検知するツールのようだ。サイトライセンスを利用し、ネットワーク越しに複数台のマシンをスキャンする場合や、監査用の詳細なレポートが必要な場合はSnitch Enterprise Auditorが必要である。今回は手持ちのノートPCをスキャンするだけなのでSnitch Plusの試供版を用いる。ちなみにこの試供版は30日限定での利用が可能だが、スキャンに関しては全機能が利用できる。
ソフトウェアの設定項目や機能に関しては、以前勉強会用に作成した動画があるので、以下をご参照いただきたい(YouTube)。
ちなみに今回利用するのは、SkinScan、Internet history search、Signature Analysisの3つの機能である。簡単にそれぞれの機能を紹介すると、SkinScanは画像から人物と背景を切り出し、イメージにおける肌系ピクセルの多さでポルノ画像かどうかを検知する仕組みだ。Internet history searchはその名のとおりインターネット履歴の調査で、ここでは主にWebサイトの閲覧中にキャッシュされた画像ファイルをチェックする。Signature Analysisはファイルの拡張子と中身のデータ形式が異なっているもの、つまり偽造の疑いのあるファイルをピックアップする機能だ。前回のタイムスタンプに関する記事でも紹介したように、ファイルにはシグネチャと呼ばれる、ファイルを識別するための情報が記録されている場合がある。Signature Analysisを実装しているツールでは、シグネチャ情報に紐づけられた拡張子の組み合わせのデータベースをもっており、実際のファイルとそのテーブルを比較することによって、拡張子の偽装などを検出するのだ。
■実際に試してみよう
それでは、これら3つのSnitch Plusのチェックをかいくぐって、不適切な画像を閲覧してみようと思う。ただし今回は特殊なアンチフォレンジックツールは用いず、Windows環境で一般的に利用するツールやユーザーの操作によって、ちょっとした隠蔽を試みたい。
まずはインターネット履歴とキャッシュが、ローカルのPCで保存されないように、ブラウザのプライベート・ブラウジング機能を用いて閲覧する。プライベート・ブラウジングとは、ユーザーがどのWebページを閲覧したかの記録を残さずに(閲覧履歴やcookie情報、キャッシュファイルをローカルPCに作成せずに)Webページの閲覧を可能にする機能である。今回はInternet Explorer8のInPrivateブラウズモードを用いて閲覧を行った。
それでは実際に操作をしてみよう。まずはWebブラウザを利用してインターネット上から画像を保存する。用いたブラウザはInternet Explorer8である。画像を選択して右クリックし「名前を付けて保存」を選択した。ファイルは調査員を欺くため、「まじめな内容.doc」という名前を付けて保存した。
拡張子とアプリケーションの紐づけを無視して画像ファイルを閲覧するには、拡張子に関係なくデータ形式を自動判別してくれる画像ビューアが必要である。ここではWindows7に標準で搭載されているWindowsフォトビューアを使って閲覧してみよう。閲覧するファイルの上で右クリックし、メニューから「プログラムから開く」を選び、このファイルを閲覧するソフトウェアとしてWindowsフォトビューアを指定する。
Windowsフォトビューアでは自動的にファイルの形式を判断し、jpeg画像としてファイルを閲覧できる。
■Snitch Plusでのスキャン
それでは次にSnitch Plusを使って、画像を閲覧したPCをスキャンする。最初に説明したとおり、SkinScan、Internet history search、Signature Analysisの3つのスキャンを有効にしてドライブ全体をスキャンした。その結果が以下である。
まず、特定の拡張子を持つ画像ファイルに対して、SkinScanを実行した結果を確認してみよう。表示条件はユーザー名「KAIGAI」、疑わしさは「Low and above」である。図の通り一件も確認されていない。ローカルに保存された「真面目な内容.doc」が表示されていないことから、このSkinScanはあらかじめ設定された、特定の拡張子を持つファイルに対してのスキャンであることがわかる。
次にInternet history searchの結果を確認してみよう。
表示条件は先ほどと同様に、ユーザー名「KAIGAI」、疑わしさは「Low and above」である。これも図の通り一件も確認されていない。InPrivate ブラウズモードを利用することによって、ローカルに問題となるWebサイトの履歴情報が保存されていないことが確認できる。
それでは最後にSignature Analysisの結果を確認しよう。表示する条件は同じだが、これまでと違い、1件の疑わしい画像が検出されている。
検出されたのは問題の「真面目な内容.doc」である。レポートに記載されているFile Type情報や警告メッセージが示す通り、拡張子を偽造したjpeg画像として認識されている。そのうえで、25%という低い確率ではあるが、このファイルがポルノ画像である可能性を示している。単に拡張子を偽装するだけでは、Signature Analysis機能によって検知されてしまうことがわかる。
ちなみにこのSignature Analysisの技術は、削除されたデータを復元する際にも活用される。ハードディスクの未使用領域に残されたデータに対して、Signatureによるスキャンを実行することにより、過去に利用され削除されたファイルやその痕跡を発見できるかもしれない。たとえファイルを削除したとしても、ハードディスクの状況によっては、過去に閲覧したポルノ画像が復元されてしまう可能性があるということだ。
■アンチフォレンジック
それではSnitch Plusのような密告ツールで検出されないためには、どうすればいいだろう。シンプルに答えるならば、ローカルに問題のデータを保存しないことが最善の方法である。せっかくInPrivateブラウズモードで、ユーザーの履歴を残さず閲覧したとしても、画像を保存することによって、証拠を残してしまっては本末転倒である(※1)。証拠を残さない、つまり、ハードディスクに余計なデータを記録しないのがアンチフォレンジックの基本だ。もちろん、隠し領域にデータを保存したり、私物のUSBメモリにこっそり保存したり、暗号化されたzipにアーカイブしたりといった隠ぺい方法も考えられる。だが、これらのオペレーションはそれ自体が、ファイルシステムやレジストリに余計な疑わしい証拠を残してしまうことになるのだ。
ところで今回の場合のように、うっかりローカルに画像を保存してしまった場合に、その事実を隠ぺいした形でこっそり削除したい場合はどうすればいいだろう。比較的簡単な方法として、データの上書きがある。たとえば今回の場合、「真面目な内容.doc」という名前で保存しているのだから、ファイルを実際にタイトルに即した内容のドキュメントで上書きすればいい。削除フラグを立て、管理情報と実データが確保している領域を解放するだけの通常のファイル削除とは違い、確実にデータが書き換えられる上書きを行うことにより、削除されたファイルの復元が非常に困難になる。
真面目な内容.docをwordで開き、どこからかコピーしたドキュメントを上書きして、doc形式で保存する。注意すべき点は、元のデータサイズ以上のデータで上書きすることだ。
この操作によって、jpegのデータは完全に上書きされるため、対象ファイルのタイムスタンプに矛盾を生じさせることはない。また特別なツールを用いないため、疑わしい履歴を残すことなく元のデータを削除することができる。このような場合、Snitch Plusでのスキャンはもちろん、プロの調査員による検証によっても、データの改ざんの痕跡を追跡することは非常に困難になるだろう(※2)。
とはいえ、ローカルの隠ぺいではカバーできない証拠もある。たとえばネットワークに流れるパケットや、ルーターで保存される通信記録などの、適切に管理されたネットワーク上の証拠である。社内システムの管理者は、ローカルの情報はユーザーによって改ざん可能である、という前提に立って、ユーザーの手の届かない、ネットワークの情報も管理・収集しておく必要がある。
不正調査での証拠は、不正が行われたPC上に存在するものだけではない。社内では入退室管理システムや監視カメラがあなたの日々の動向をチェックしているだろうし、通りすがりの同僚がキータイプやディスプレイをショルダーハックしているかもしれない。むしろローカルPCのデータは、アナログも含めた大量の証拠のうちのごく一部であると考えてよい。くれぐれも記事の真似をして会社でポルノ画像を閲覧しないようにしていただきたい。
※1 プライベーブラウジングは完全にプライバシーを秘匿するものではないというレポートもある
Ars Technica「Private browsing: it's not so private」
※2 Volume Shadows Copy機能によってボリュームを過去の状況まで復元し、改ざんを検証できる可能性はあるが、Volume Shadows Copyのスナップショットもローカルに存在するデータなので改ざんの可能性は残る
SANS Computer Forensic Investigations and Incident Response Blog「VISTA and Windows 7 Shadow Volume Forensics」