貧乏人のディスクデュプリケート(その1) | reverse-eg-mal-memoのブログ

reverse-eg-mal-memoのブログ

サイバーセキュリティに関して、あれこれとメモするという、チラシの裏的存在。
medium(英語):https://sachiel-archangel.medium.com/

フォレンジックをやるときに、基本となるのは調査端末からの情報の取得です。

物理的なマシンのフォレンジック調査では、PCのHDDを取り出し、デュプリケータでディスクイメージのコピーを取得しています。

原本をなるべく無傷(改ざんや不用意な変更)で残すために、フォレンジック調査の際には基本的にはコピーしたディスクイメージを用いて調査します。

 

通常のファイルコピーと異なるのは、「ディスク上にあるデータを1ビット単位で一致するようそのまま複製する」ことです。

通常のファイルコピーでは、ファイルの削除領域やスラックスペースといった領域のデータは取得できません

こういったところに情報がある場合もあるので、フォレンジック調査の時の証拠保全にはデュプリケータを使う、ということになります。

詳しくは、デジタルフォレンジック研究会が公開している「証拠保全ガイドライン」を参照するといいでしょう。

 

証拠保全ガイドライン

https://digitalforensic.jp/home/act/products/home-act-products-df-guideline-7th/

 

最近では、SSDドライブ特有の問題や仮想マシン、クラウド環境での保全も課題ではありますが。

今回は、HDDドライブのデュプリケートにフォーカスした記事です。

(なお、大分久しぶりの記事になります。理由は、我が艦隊が主に秋刀魚漁、鰯漁に忙しかったためと思われます。無事に福江と大東と大漁旗は確保しますた。)

 

 

デュプリケータの必要性はわかったけれども

 

一般的なファイルコピーとの違いが分かった(クッソ雑な説明証拠保全ガイドラインの記事で分かったことにする)ので、デュプリケータによるHDDイメージの取得の必要性が理解できたものとします。

デュプリケータは一般的にはあまり使われない機器なので、フォレンジックツールの販売会社が取り扱っていますが。

 

結構いいお値段するんですよね・・・。

 

色々なインターフェスに対応(結構重要)、ハッシュ検証機能やハッシュ出力機能、ディスクのクリア機能などがあり、速度もなかなか速いのですが・・・。1台十数万~百万円くらいのだったかと思います(最近安いのでたかな?)。

また、フォレンジック機器はセキュリティ製品として、一般ユーザには売ってくれないケースもあります。

例え買えたとしても、専門でやってるわけでなければしょっちゅう使うものではないですから、ちょっと高い買い物になってしまいます。

 

それでも、フリーツールやお安い機器でデュプリケートしたい!という人向けに、簡易的な設備でのデュプリケートをやってみたので記事にしておきます。

 

 

今回使ったもの

 

今回、簡易的なデュプリケートに使ったソフト・機材は以下のとおりです。

 

ソフトウェア

AccessData:FTK Imager Lite (Free)

https://accessdata.com/product-download/ftk-imager-lite-version-3-1-1

*Downloadにユーザ情報を登録する必要あり。

 

なお、FTK Imagerでも基本的に同じことができます。

https://cyberforensic.focus-s.com/product/87/

 

 

ハードウェア

Centyry:裸族のお立ち台 (約3,000円) ×2

http://www.century.co.jp/products/crosu3v2.html

 

デュプリケート出力先HDD

TOSHIBA:DT01ACA200 (2TB)

 

出力先のHDDはどのみち必要なので、それ以外の費用が僅か6,000円という、デュプリケータのメーカーも商売あがったりな異様なコスパを実現しています。また、裸族のお立ち台は普通のクレードルなので、PCでHDDにアクセスする際にも使え、汎用性も高いです。

欠点は、今回の構成だとSATAのHDDのみ対応になります

もっとも、ソース側のデバイスをマルチ対応のものにすれば、もっと幅は広がりますけどね。

 

また、今回は実験程度なので、廃棄予定のPCから取り出したHDDをソースにしていますが。

 

実際に証拠保全をする場合には、ライトブロッカーも使用することをおススメします。

 

HDDにアクセスすると、読み込み目的のつもりでも操作によってはディスクに変更をかけてしまうケースがあります。

特にこの構成で怖いのは、入力(ソース)と出力(ディスティネーション)の取り違えです。

例えば、DDイメージのデュプリケートで入力と出力を逆にしてしまうと、ソースが全て上書きされて消えてしまいます。

ライトブロッカーを使っていれば、万一入力と出力を取り違えても、ライトブロッカーが止めてくれます。

そのため、本番ではライトブロッカーを使用することをおススメします。

大切なことなので2回言いました。

ライトブロッカーも数万円程度はすると思いますが・・・。本番なら、それくらいのコストはかけてでも安全性を向上すべきですね。

 

 

機材の接続

 

今回、実際に試した時の写真です。左のHDD(WD)が古いディスク、右のHDD(Toshiba)が新しいディスクです。

 

 

当たり前ですが、基本的には出力先のHDDはコピー元のHDDと同じかそれ以上のサイズである必要があります。

一応、E01形式で出力(後述)するので、ある程度圧縮はされますが、圧縮率は保証されるわけではないので、素直に同サイズ以上を用意しましょう。

 

ゆゆ様人形及び幽々子様グッズは、休日に一人寂しくこんなことをしていて、「俺・・・何やってんだろ・・・」と鬱になりそうな自分を励ましてくれる、心の安定に欠かせないものなので置いてあります。また、幽々子様のご加護により、デュプリケートがつつがなく正常に終わるかもしれないという効果がある・・・といいな。念のため、レミフラポスターも貼ってあります。

別に、他の推しキャラでもいいのでここはご自由に。彼女の写真を置いたり壁紙にしてもいいですが、稀に私から「爆ぜろリア充」と毒づかれる恐れがあります。なお、これらは別に無くてもデュプリケートできます。

 

 

デュプリケート前の準備と確認

 

ディスクの接続(と幽々子様の設置)が終わったら、ディスクの接続状況を確認します。

USBポートは、可能な限り高いバージョン同士で繋ぎましょう。

今回はUSB3.0を使いましたが、USB2.0を使うと目に見えて遅くなります。

また、イメージをE01形式で出力する場合は、「圧縮したファイル」として出力されます。

このため、出力側(ディスティネーション)は、ファイルシステムとしてフォーマットされている必要があります。

Windows環境でデュプリケートする場合は、素直にNTFSフォーマットで良いでしょう。

Linux環境でマウントして中身を調査する場合でも、マウント時にNTFSを指定すれば問題なく参照することが可能です。

 

Windows10なら、スタートメニュー → Windowsシステムツール → コントロールパネル → システムとセキュリティ → 管理ツール → コンピュータの管理 → 左側のペインで記憶域のディスクの管理を選択します。

ここで、ディスクがちゃんと認識され、出力側がフォーマットされていて、容量も十分であることを確認します。

ちゃんと認識されていれば、Explorerでもドライブが見えるはずです。

 

 

今回のケースでは、ディスク2が入力(ソース)、ディスク3が出力(ディスティネーション)になります。

 

 

FTK Imager Liteの使い方

 

ディスクの準備ができたところで、デュプリケートするためのソフトウェアを起動します。

FTK Imager Liteは、入手したzipフォルダを解凍して、そのフォルダ内のexeを実行するだけで起動するようにパッキングされています。

このため、場合によっては電源の入っている被害端末にFTK Imager Liteを解凍したUSBを刺し、USBでHDDも繋いでCドライブをデュプリケートする、といったこともできると思います。

FTK Imagerの場合は、インストーラでインストールする必要があったかと思いますので、インストールをお願いします。

 

FTK Imager Liteを起動すると、以下のような初期画面が表示されます。

 

 

今回は解説を省略しますが、ディスクイメージをマウントすれば、Hexデータを中心に「ざっくりデータを見る」こともできます。

E01でもDDイメージ(生のディスク)でも見れるので、これはこれで重宝します。

 

デュプリケートの手順は、以下のとおりです。

 

  • ソースディスクを選択する
  • デュプリケートの出力形式を選択する
  • デュプリケートのディスティネーションディスク(DDの場合)またはフォルダ(E01等の場合)を選択する
  • デュプリケート結果をハッシュ検証する

 

 

では、早速デュプリケート作業にかかります。

FTK Imagerの「File」メニューから、「Create Disk Image...」を選択します。

 

 

 

ソースデバイスの選択

「Create Disk Image...」を選ぶと、「Select Source」ダイアログが表示されます。

これは、デュプリケートするソースの形式を選択します。

Physical Driveは今回のような物理的なディスク、Logical Driveは「Cドライブ」のようなドライブ、Image FileはE01形式などのイメージファイルです。Contents of a Folderは、注釈のとおり削除ファイルなどは含まないため、ぶっちゃけ通常のファイルコピーと変わらないと思います。

今回のような構成の場合はPhysical Driveを選びます。

選択したら「次へ」をクリックします。

 

 

 

Phisical Driveを選択した場合、「Select Drive」ダイアログが表示されます。

ここで、ソースのディスクを選択します。

 

ここは慎重に、ディスクが間違ってないかを確認してください。

 

ここでソースとディスティネーションを間違えた場合、最悪ソースの情報が全て消えます(特にDDの場合)

だから、本当はライトブロッカーがあったほうが安心・・・。

ディスクを選択したら、「Finish」をクリックします。

 

 

 

ディスティネーションデバイスの選択

続いて、「Create Image」ダイアログが表示されます。

Image Sourceには、先ほど選択したディスクが表示されています。

Image Destination(s)には何も出ていませんが、ここに出力先を追加していきます。

ちなみに、今回は試してないですが、「Destination(s)」ということは、1:nの複数出力にも対応しているのかな?

それなら高機能すぎるでしょ、このツールw

出力先を追加するため、「Add...」をクリックします。

 

 

 

「Add...」ボタンが押されると、「Select Image Type」ダイアログが表示されます。

出力されるデータ形式を選択します。

DDはディスクを最初から最後まで(削除領域なども含めて)1ビット単位までそのままコピーします。それ以外は、それぞれの形式の「ディスクイメージ」で、それぞれ圧縮等がされています。・・・が、ぶっちゃけE01以外は使ったことないので、それ以外は詳しく知らないデス(誰か教えて?)。

 

E01は、Guidance社が開発したディスクイメージのフォーマットで、同社のフォレンジックツール「EnCase」で使うことを想定して作られたフォーマットだとのことです。E01のEはEnCaseのEですねw

EnCaseがフォレンジックでのデファクトスタンダードなツールになるにしたがって、それで調査するための証拠保全でE01が使われて広く普及してしまい、終いには大抵のフォレンジックツールやSANS SIFTあたりもE01をデフォルトでサポートするようになった、という歴史があります。

FTK Imagerの作成元のAccessDataも、E01をサポートしているため、イメージ作成ツールでもE01対応しているということです。

(・・・その昔、AccessDataは「AD1」というオリジナルのディスクイメージフォーマット持ってたハズだが・・・。ついにImagerからも外れたか。黒歴史になっちゃったのかな・・・。)

 

駄文が長くなりましたが、今回は「E01」を選択し、「次へ」をクリックします

 

 

 

次に、「Evidence Item Information」ダイアログが表示されます。

ここには、エビデンスの情報を入力します。

必要な情報を入れておいてください。ぶっちゃけ、デュプリケートしたいだけなら何もいれなくても問題ないです。

入力後、「次へ」をクリックします

 

 

 

次に、「Select Image Destination」ダイアログが表示されます。

今回はE01形式で、「イメージをファイル化」して出力するので、保存先のドライブとフォルダを指定します。画像の例では、Hドライブ直下になっています。

また、イメージのベースとなるファイル名を入力します。拡張子は自動的に付与されます。

「Image Fragment Size」は、1ファイル当たりのサイズを指定します。これは、例えば1TBのディスクイメージを作成する際、1TBの一つのイメージファイルを作るのではなく、指定したサイズで複数のファイルに分割するためです。分割する理由は、パフォーマンスなど様々な要因があると思われます。画像の例では、1ファイルあたり1.5GB(デフォルト値)になるようにしています。このため、ファイルの拡張子は、E01、E02・・・と順番に付与されていきます。

また、圧縮率も選択できます。画像の例では6(デフォルト値)です。

入力後、「Finish」をクリックします

 

 

 

デュプリケートの実行

出力先の入力が終わると、「Create Image」画面にもどります。

 

 

あとは、「Start」ボタンをクリックすればデュプリケートが開始されます

なお、チェックボックスが3つあります。

デフォルトでは、「Verify images after they are created」にチェックが入っています。これは、デュプリケート結果に差がないか、ハッシュ検証するオプションです。フォレンジック調査ではソースと全く一致することが前提なので、これはチェックしたほうが良いでしょう。

「Precalculate Progress Statistics」は概ねかかる時間を計算する、「Create directory listings of all files in the image after they are created」はイメージ内のファイルリストを作る機能のようです。必要ならチェックを入れてください。

 

デュプリケートが開始されると、以下のようなダイアログが表示されます。

終わるまで放置になります

 

 

今回、USB3.0の環境でデュプリケートをしたところ、1TBのディスクでハッシュ検証を含めておよそ4時間ほどかかりました

もちろん、USBの速度だけでなく、入力、出力のHDDの速度にも依存します。

この間は、そっとしておくしかありません。推しの薄い本でも愛でながら、まったり待ちましょう

 

なお、この設定でデュプリケートした場合、デュプリケートが終わった後、自動的にハッシュ検証を実行します。

 

 

 

デュプリケート完了後

今回のケースでは、4時間ほどでデュプリケートとハッシュ検証が終わりました。

よく考えたら、幽々子様の薄い本を愛でるのに4時間で足りるはずがなかった。

 

完了すると、以下のようなダイアログが表示されます。

MD5とSHA1でのハッシュ検証結果が表示されています。

 

 

 

また、「Creating Image...」のダイアログの左下の「Image Summary...」ボタンを押すと、デュプリケートに関する情報が表示されます。この中には、検証されたハッシュ値なども含まれています。

 

 

 

なお、このサマリ情報は、E01ファイルの出力されたフォルダに、「.E01.txt」の拡張子で保存されているため、そちらでも確認が可能です。

証拠保全では、原本とハッシュが合致したかも重要なポイントなので、CoC(Chain of Custody)に記載する場合はこちらのファイルからも後から情報を得ることが可能です。

 

 

将来的にネックになりそうなのは、このハッシュ検証がMD5とSHA1であることです。

MD5はもとより、SHA1も衝突を実証されているため、法的なケースでは今後SHA1でのハッシュ検証では疑問符が付く可能性もあります。

手元のバージョンではMD5とSHA1検証のみでしたが、以降のバージョンでSHA2(以降)に対応してもらえると有難いところです。

とはいうものの、これは非常に便利なツールです。

AccessDataのFTKも、調査ツールとしては個人的には使いやすいという感想。

今でも、Registry viewerやPRTK(パスワードリカバリーツール)などのお便利ツールも一緒についてくるのかな?

難点は、個人ではなかなか手が出ないお値段な上、そもそも個人相手では売ってもらえない点ですか。

 

 

さて、これでディスクのイメージが取得できました。

では、このイメージをどのように参照するのか?

これは、次回書きたいと思います。

 

 

注意事項:

もしDDイメージでデュプリケートする場合は、出力先にSSDドライブは使用しないでください。

理由は、SSDの特性として、「トリム機能」があります。これは、「削除領域を自動的にクリアしてしまう」機能です。

そのため、折角検体からDDイメージで削除領域なども含めて複製しても、その直後から削除領域を自分で消していってしまう可能性があります。トリムの実行は、おそらくユーザ側では任意に制御できないのではないかと思います(できるなら問題ないです)。

なお、E01に出力する場合は、削除領域データも「E01ファイルデータの一部」として残るので、問題はありません。