4.ストレージフォレンジック

4.1. 記憶媒体の構造とファイルシステム

4.1.1. 補助記憶装置

HDD(ハードディスク)

HDDは数十GBから数TB程度の大容量をひあっく的拘束に実現する記憶媒体。 HDDで用いられるメディアは、金属またはガラスでできた円盤(プラッタ)の両面に磁性体を薄く散布したものとなる。

HDDの詳細に関してはコチラから。

フラッシュメモリ

フラッシュメモリは電気的消去と書き換え可能な読み取り専用メモリ(EEPROM)を高速化したもの。 SSDやUSBメモリ/SDカードにフラッシュメモリは利用されている。

フラッシュメモリは回路構成により以下に分類できる。

  • NAND型
    • 大容量が確保できるがある程度連続した領域の読出ししかできない
  • NOR型
    • 小容量だが1Byte単位での読み出しが可能

また電荷の有無のみの情報を1セルあたり1bitを記録したものがSLC、電荷の量を数段階変化させることで1セル当たり2bit以上の記録を可能にしたものはMLCと呼ばれる。一般的にMLCの方がSLCよりも大容量を確保できるが、各セルへの書き込み回数が減少する。

各セルは書き込むごとに電荷を保持するための絶縁膜が劣化するため書き込み回数に上限がある。 2015年時点でSLCでは数十万回、MLCでは数千回程度であり、近年の大容量化で上限値は下がってきている。

フラッシュメモリは性質からくる性能低下の緩和のため読み書きを命令するコントローラに以下の機能を設けている。

  1. メディアに書き込むデータはコントローラに併設されたRAMに蓄積し、書き込みの際は可能な限りブロック単位で行う
  2. 1ブロックに満たないセクタ単位の悪鬼込みが必要な場合は、セクタを含むブロックの内容を一度RAMに読み出し、セクタデータを買い替えた後にあらかじめ削除しておいた別のブロックに書き込み、ブロックとセクタの対応関係を入れ替える
  3. 消去済みのブロックをできるだけ前もって用意するため、ファイルの削除などに伴い不要になったセクタをOSからコントローラに通知させる。コントローラは不要セクタを集めてブロック単位にまとめて自動的に消去する。こうして消去済みブロックの用意をSSD自体が行うことでOSによる消去操作が不要になり書き込み性能が上がる(Trim機能)
  4. コントローラの機能で書き込みの甥ブロック内のセクタを書き込みの少ないブロックに差相配置することでブロックの書き込み回数を平均化する(ウェアレベリング)、これはメディアの寿命を延ばすことにつながる

他にもコントローラは書き込み時にセルの劣化により正常なデータ書き込みができなくなったブロックを代替ブロックと入れ替える機能や読み出し時に誤り訂正が必要な劣化の兆候があれば他ブロックに移し替えるリフレッシュ機能がある。

フラッシュメモリの特徴は以下の通り

  • HDDより物理的破壊/温度変化、経年劣化に対する耐久性が高い
  • セルに蓄えた電荷が時間とともに失われデータ保持ができなくなるため長期データ保存には向かない

フォレンジックの視点では長期にわたり電磁的証拠としてフラッシュメモリの内容を保全する場合は可能な限りHDDなどの他媒体に保管するようにすべきとなる。

光学ディスク

光学ディスクはCD/DVD、BDなどのレーザ光を用いて読み書きを行うメディアの総称。 メディアの記憶媒体の読み書き速度は以下の通り。

  • CD
    • 読み書き速度: 150KiB/s
  • DVD
    • 読み書き速度: 1385KiB/s
  • BD
    • 読み書き速度: 4.5MiB/s

また光学ディスクの特徴の図は以下の通り。

規格種類特徴寿命 (目安)最大容量 (片面)
CD-R追記型一度だけデータを書き込める。家庭での音楽CD作成などに広く普及30~100年700 MB
CD-RW書き換え型データを消去して、繰り返し書き込める20~50年700 MB
DVD-R追記型一度だけデータを書き込める。市販のDVDソフトなどに使われる30~100年4.7 GB (片面1層),8.5 GB (片面2層)
DVD-RW書き換え型データを消去して、繰り返し書き込める20~50年4.7 GB (片面1層)
DVD-RAM書き換え型ハードディスクのようにランダムアクセスが可能。繰り返し書き込みに強い30~100年4.7 GB (片面1層), 9.4 GB (両面2層)
BD-R追記型大容量データの長期保存向け。一度だけ書き込める50~100年以上25 GB (片面1層), 50 GB (片面2層)
BD-RE書き換え型大容量データの書き換えが可能50~100年以上25 GB (片面1層), 50 GB (片面2層)

光学ディスクは読み取り速度は高速だが、書き込み速度は高速といい難く、専用のソフトウェアを用いる必要がある。 そのため光学ディスクはデータの配布やバックアップ用途に用いられる。

  • 追記型 … 一度書き込んだデータは削除できない(追記/無効化は可能)
  • 書き換え型 … 部分的な書き換えが可能だが一度全部削除して再書き換えすることが多い

書き換え型メディアの書き換え可能回数は1000回程度保証されているが、DVD-RAMでは10万回程度とされている。

磁気テープ

磁気テープはカセットテープやビデオテープのようなメディアのこと。 ファイルシステムの構成が難しいが、バックアップデータや大量のデータ運搬用に使用されている。 ただし、データの転送速度がほかの媒体に比べて遅い。

磁気テープの規格はサイズにより主に以下分類ができる。

  • 4mm(DAT,DDSなど)
  • 8mm(8mmビデオテープ)
  • 1/4inch(QICなど)
  • 1/2inch

最近でもっも一般的なのは1/2inchのテープであり、最も使用されるのはLTO Ultriumとなる。 LTOは一度書き込まれたデータは書き換えや消去ができないためフォレンジックの電磁的証拠の保管先として適している。

4.1.2. HDDのデータ消去技術と復元技術

補助記憶装置のメディアのデータ消去は一般的に以下方法で行われる。

  • 「ゴミ箱」への移動
  • ファイルの削除
  • パーティションの削除
  • メディアのフォーマット
  • メディアの物理破壊

ファイルシステムとファイルの削除

ファイルシステムではファイルはデータ本体とメタデータなどに分けて管理されている。 メタデータ内に配置情報があり、データ本体がメディアのどの位置にあるかを保持されている。

ファイルの削除は通常、OS内ではメタデータの削除、特に配置情報の削除により行われる。 これは配置情報の書き換えによりあるファイルに占有されているセクタを空き領域と記録しなおす。 しかし、各セクター内のデータは消去されることはないので、新規ファイルの作成や既存ファイルの追記などによりそのセクタが再利用されるまでに間は古いデータがそのまま残っている場合が多い。
つまりメタデータ内の配置情報を適切に再構築すればファイルは削除状態から復元可能になるといえる。

FATファイルシステム

FATファイルシステムはMicrosoftがMS-DOSで導入したファイルシステム。
SDカードやUSBメモリ、リムーバブルディスクなどで使用されている。

FATファイルシステムではデータ領域を固定長のクラストという領域に分けて管理する。 クラスタはいくつかの連続した番号ののセクタの集まりであり、512Byte長のセクタを持つメディアで4KByteのクラスタを採用している場合は1クラスタ当たり8個のセクタが使われる。
メディア内のデータ部の全クラスタには先頭から順に2から始まる番号が付けられており、これが領域管理谷となる。

FATファイルシステムは以下の3種類に分類できる。

  • FAT12
    • クラスタ表現に12bitを使用
    • 最大パーティションサイズ: 32MB
  • FAT16
    • クラスタ表現に16bitを使用
    • 最大パーティションサイズ: 4GB
  • FAT32
    • クラスタ表現に32bitを使用
    • 最大パーティションサイズ: 2TB

FATパーティションは以下領域で構成される。

  • 予約セクタ
    • ブートセクタとも呼ばれる
    • FATの種類や構成を示すパラメータが入っている
  • FAT(File Allocation Table)
    • 各クラスタが空いているか使われてるか等を示すために使われる
    • FATは障害に備えて同じテーブルが2つ保存される
    • FAT16の場合は2B分の16bitで1テーブル当たり65535個の値が格納される
  • ルートディレクトリ
    • ルートディレクトリの内容を示すディレクトリエントリが格納される領域
    • FAT32の場合はデータ領域に書き込まれる場合があり、そうした場合は省略される
  • データ領域
    • 実際のファイルやディレクトリが入る領域
    • データやファイルはディレクトリエントリとして扱われる
    • 1エントリ当たり32Byteの固定長となる
    • ルートディレクトリは専用領域に、その他のディレクトリはファイルと同様に扱われデータ領域に入る

ディレクトリエントリには以下のような情報が入る。

  1. ファイル名
    • 8.3形式: 最大11Byte(英字で11文字)
    • VFAT形式: (英字で256文字)
  2. ファイル属性
    • 1Byteでファイルの種類と属性を表す
  3. タイムスタンプ
    • ファイルの作成時刻,更新時刻,最終アクセス時刻が保存
  4. ファイルの長さ
    • ファイルの長さは最大4GiB
  5. ファイルの先頭の内容が格納されているクラスタ番号
    • 2Byte(FAT12, FAT16)または4Byte(FAT32)で表される

exFATファイルシステム

NTFS

HFS/HFS+

Unix系ファイルシステム(ext2~4, XFS, ZFS,BrtFS)