Slide 1

Slide 1 text

FILE SYSTEM FORENSIC ANALYSIS まとめ 1

Slide 2

Slide 2 text

Chapter 3. Hard Disk Data Acquisition 2

Slide 3

Slide 3 text

Introduction • データ保全=対象デバイスから別デバイスへデータコピー – ⼀度にデータ転送するサイズは512バイトの倍数毎が⼀般的。 – エラー発⽣時、ツールの多くは対象デバイスに0を書き込む。 • データはレイヤーに分けられる – disk、volume、file、application – 上位レイヤーへいくほどデータは失われる • 故に実⽤的には、エビデンスが含まれる最も低レイヤをコピー – ほとんどの場合は、全てのセクタをコピー – 例えば、volumeレイヤでコピーした場合、パーティションに所属しないセクタ の情報は失われてしまう。 3

Slide 4

Slide 4 text

Reading the Source Data • ディスクアクセスの⽅法は2つ – ディスク直接アクセス • OS または 保全ソフトウェアがハードディスクの詳細を把握している必要がある。 – Basic Input/Output System(BIOS)経由 • BIOSがハードディスクの詳細を把握している必要がある。 • BIOS経由の場合は、正しくないディスクサイズを返すリスクがある。 – 実際は12GBだが、Legacy INT13h関数は戦闘から8GB分しかアクセスしない。残る4GBはコピーできない。 – Legacy INT13h は CHS形式で返す(サイズ制限アリ) – Extended INT13h はLBA形式で返す(サイズ制限無し) 4

Slide 5

Slide 5 text

Reading the Source Data • 静的保全と動的保全 – 静的/動的とはOSの状態を指している。静的であればOS停⽌状態。 – 静的であれば(攻撃者に操作された可能性のある)OSの影響を受けずに済む • rootkitを使えば証拠となるファイルを隠蔽したり、セクタをアクセスさせないようにできる。 • エラーハンドリング – ディスク読み込みエラーが発⽣する可能性がある。 – 望ましい処理は、 • 問題のあったセクタのアドレスをログに出⼒する。 • 書き込み先にはセクタを 0bitで埋める。 – 0bitで埋めない場合は、書き込み先のサイズが元データより⼩さくなり、アプリが正しく動作しないかも。 • HPA(Host Protected Area) – 詳細についてはChapter2参照。 – 2つのATAコマンドの結果を⽐較する事でHPAの存在を確認できる。 • READ_NATIVE_MAX_ADDRESS :ディスクのセクタ総数を返す • IDENTIFY_DEVICE :ユーザアクセス可能なセクタ総数を返す – もし上記コマンドを使えない場合はディスクのラベルの仕様と実際に取得できたセク タ数を⽐較すればよい。 – HPAへアクセスするにはディスクの設定を変えればよい • Maximum user addressable sector を maximum sector on the disk に合わせる。 • Volatility bitを⽤いるのでディスク再起動によって設定が戻ったり、Write Blockerに阻害される可能性がある。 – 設定を変更してHPAを削除する事でデータが消失する事は考えにくいが、その可能性 も頭の隅に置くべき。しかしオリジナルデータを保持しているので最悪それをコピー し直せばよい。 5

Slide 6

Slide 6 text

Reading the Source Data • DCO(Device Configuration Overlay) – 詳細はChapter2。 – HPAに似ており、HPAと共存可能。これによりディスクサイズが⼩さく⾒えるかもしれない。 – 2つのATAコマンドの結果が異なる場合は、DCOが存在している事になる。 • READ_NATIVE_MAX_ADDRESS :ATAコマンドがアクセス可能なディスクセクタの最⼤値 • DEVICE_CONFIGURATION_IDENTIFY :実際の物理セクタの総数 – 全てのデータを保全するためにはコマンドでDCOを除去する。 • DEVICE_CONFIGURATION_SET • DEVICE_CONFIGURATION_RESET – 上記コマンドは永続的に効果がある。 – HPAと同様にまずはDCOも含めてコピーを⾏ったうえで、DCOの除去を⾏った⽅がよい。 – もしDCOの除去を⾏った場合は、作業したことをドキュメント化しておくべき。 6

Slide 7

Slide 7 text

Reading the Source Data • ハードウェア書込ブロッカ – オリジナルデータに変更を加えないためのテクニックの1つ。 – ハードウェア書込ブロッカとは、コンピュータとストレージ・デバイス間に位 置するデバイスで、発⾏されるコマンドを監視して書き込みを禁⽌する。 • 以下のインタフェースをサポートする。 – ATA、SCSI、Firewire、USB、Serial ATA。 • コマンドレジスタに書き込まれるまでディスクは命令を実⾏しないため、ディスクのデータを変更す る命令だった場合はコマンドレジスタに書き込まないようにする。 – どの種類のコマンドを許可/拒否するかは製品次第 • Nowriteなら、SET_MAX(volatileビットがセットされていて永続的な影響がない)は実⾏する。 • ハードウェア書込ブロッカの仕様をNISTが公表している。 • http://www.cftt.nist.gov/hardware_write_block.htm 7

Slide 8

Slide 8 text

Reading the Source Data • ソフトウェア書込ブロッカ – BIOSサービスのコードの位置を保持するInterrupt tableを変更する。 • テーブルには、各BIOSサービス毎にエントリが作られており、プログラムコードのアドレスを記載。 • Interrupt 0x13に対するエントリのアドレスを、ソフトウェア書込ブロッカのコードのものに書換え る。 • 書込みしない関数命令であれば、何もせずにBIOSコードを実⾏する。 8

Slide 9

Slide 9 text

Writing the Output Data • 書込位置 – データをディスクに直接書込む⽅法とファイルに書込む⽅法がある。 – 以前は特別な分析ツールがあって、担当者は対象のシステムを起動するか、分 析⽤のシステムへディスクをマウントしてから、直接ディスクコピーしていた。 • そのためソースのセクタ0は、コピー先のセクタ0と同じとなる。 • 問題点があり、コピー先のディスクがコピー元よりも容量が⼤きい場合に、コピーデータの範囲が判 別つかなくなる(開始点はセクタ0だが終点が不明) 。 • そのため、最初にコピー先のディスクをゼロクリアしておく⽅がよい。 • もう⼀つ問題があり、Windowsのような⼀部のOSでは、勝⼿にディスクをマウントしてデータを書 き換えてしまうものがある。 • イメージファイル形式 – データをファイルに保存する場合は、ファイル形式を選択することになる。 • rawイメージは、元データと⽐較しやすい。 • embedded イメージは、保全の際のハッシュ値、⽇付、時間といった付加情報を含んでいる。 – ⼀部のツールはrawイメージとは別ファイルに上記の付加情報を出⼒するものがある。 – 今の保全ツールの実装は、多くが独⾃のembeddedイメージ形式である。 • EnCase(Guidance Software)、SafeBack(NTI)、ProDiscover(Technology Pathway) – ⼤抵のツールはrawイメージを取り込むので、rawイメージが最も柔軟性がある。 • SMART(ASR Data)、dcfldd/dccidd、はrawイメージおよび付加情報ファイルを出⼒する。 9

Slide 10

Slide 10 text

Writing the Output Data • イメージファイルの圧縮 – オプションとして圧縮すると、繰返しデータを効率的に格納する事ができる。 • もし、10000 bits がすべて 1 であれば、数百 bitsで表現できるかもしれない。 – もしイメージが圧縮されるなら、分析ツールは圧縮タイプをサポートする必要 がある。 – 圧縮されたイメージを利⽤する前には、⾮圧縮が必要となる。 – 圧縮によって容量を削減することができるが、いくつかデメリットもある。 • ツールがサポートする形式に制限される。 • 圧縮のためにデータ保全に時間がかかる。 • データ⾮圧縮するために読み込みに時間がかかる。 • ネットワーク保全 – 基本的な保全⽅法はNW越しにリモートコンピュータへデータ保全すること。 – いくつかメリットがある。 • 対象のディスクにアクセスできない場合にも対処できる。 • 対象ディスクに適合するアダプタ/インタフェースが持っていない場合にも対処できる。 – 最近のツールのほとんどがNW保全に対応しており、暗号化や、圧縮を⾏う。 10

Slide 11

Slide 11 text

Writing the Output Data • ハッシュ値 – データの完全性の証拠とするために、データ保全の際にはイメージのハッシュ 値を取得する。 • しかし、embeddedイメージと⼀緒に格納されたハッシュ値は完全性を保証するものではない。 • イメージを書き換えたら再度ハッシュ値を計算して上書きすればよいだけ。 – ハッシュ値を⽤いてイメージの完全性を保証するには電⼦署名が必要。 • ただこの⽅法はオーバーヘッドが⼤きい • そのため最も簡単な⽅法はノートにハッシュ値をメモ書きしておくこと。 – ハッシュ値はのちにイメージの完全性の証明のためだけでなく、保全プロセス がデータに変更を加えていないか確認するためにも⽤いる事ができる。 11

Slide 12

Slide 12 text

Writing the Output Data • ddコマンドを⽤いたケーススタディ – ⾃分で⼿を動かしてやってみましょう。 • 軽く試した結果をブログにまとめてみました。 • https://stqp.hatenablog.com/entry/2018/10/10/194320 12

Slide 13

Slide 13 text

ツール一覧 • Acquisition Tool Testing – Acquisition is a crucial part of the investigation process, and the National Institute of Standards and Technology (NIST) has conducted tests on common acquisition tools. The Computer Forensic Tool Testing (CFTT) project at NIST developed requirements and test cases for disk-imaging tools. The results and specifications can be found on their Web site (http://www.cftt.nist.gov/disk_imaging.htm). • BXDR – Many of the current acquisition tools on the market will detect an HPA, and there are also specialized tools such as BXDR (http://www.sandersonforensics.co.uk/BXDR.htm) by Paul Sanderson, • Diskstat – diskstat in The Sleuth Kit, DRIVEID by MyKey Technology (http://www.mykeytech.com), and hpa by Dan Mares (http://www.dmares.com/maresware/gk.htm#HPA). • ICS Image Masster Solo2 – The Image MASSter Solo 2 from ICS (http://www.icsforensic.com ) will copy the sectors hidden by a DCO • NoWrite – The Mykey Technology NoWrite™ SD is a hardware device that provides a write blocked SD and micro SD card reader for digital forensic review and media duplication – http://www.mykeytech.com/nowrite.html 13