Upgrade to Pro — share decks privately, control downloads, hide ads and more …

日曜フォレンジック ~デジタルカメラの写真と動画を復旧せよ~

hackeT
October 23, 2023

日曜フォレンジック ~デジタルカメラの写真と動画を復旧せよ~

OWASP NAGOYAでのLT発表ネタ
https://owaspnagoya.connpass.com/event/297753/

Panasonic LUMIXのmicroSDカード破損からフリーツールで復元
PhotoRecを用いて抽出した動画ファイルの結合の手法と自動化スクリプト

hackeT

October 23, 2023
Tweet

More Decks by hackeT

Other Decks in Programming

Transcript

  1. 運動会シーズンに事件は起きた • デジカメのmicroSDカードのファイルシステム(FAT32)が壊れました • ご家庭あるある!? • ミラーレス⼀眼カメラ • Panasonic LUMIX

    GF9 • LUMIX G VARIO 14-140mm/F3.5-5.6 ASPH./POWER O.I.S. • microSDカードのデータをPCにコピー中にファイルシステム(FAT32)が破損 • 撮影・編集した動画や、切り抜いたベストショットの写真らがみえなくなった(涙) • 家族で唖然・呆然・愕然 😱
  2. データ復旧アプローチ 1. データ保全(※フリーでできる簡易仕様) • 書き込み禁⽌スイッチ + ddコマンドなどで解析⽤ .imgファイルを作成 • sudo

    dd if=/dev/disk4 of=./sdcard32.img bs=16m status=progress 2. ファイルシステムの復旧 • 無償ソフトウェア FTK Imager, Autopsy, TestDisk, etc. 3. ファイルの復元 • 無償ソフトウェア FTK Imager, Autopsy, TestDisk, etc. • ファイルカービングで抽出 • ソフトウェア PhotoRec ,etc. 4. データの復元 • ソフトウェア Bulk Extractor, etc. 今回は動画ファイルを復元したいため対象外
  3. 3. ファイルの復元 PHOTOREC 7.1でファイルカービング クラスタサイズとファイルサイズの両⽅加味してくれる • JPGなど画像は簡単にデフォルト実⾏で復旧できた • 抽出されたMP4動画ファイルを再⽣できない.. 真っ暗な画⾯が流れる..

    • 理由:これらのmp4が動画のメタデータファイルであり、ビデオストリーミングの本体で はない、⾔われてみればファイルサイズも⼩さい。 • PhotoRec公式ドキュメント https://www.cgsecurity.org/testdisk_doc/photorec_video.html 「13. Recovering lost videos from a memory card using PhotoRec」より、ある種のデ ジカメで撮影された動画はフラグメントされ別々のファイル、_ftyp.movと_mdat.movに分 かれるそうだ。(LUMIXでは_ftyp.movが.mp4で抽出された。) • デフォルト対象外のオプションを有効化してmdat.movもファイルカービングしなおす! • [X] mov/mdat Recover mdat atom as a separate file ※スクショは昨年の別のSDカードの例です。運動会のものをスクショ撮り忘れてました。
  4. [重要] _MDAT.MOVと.MP4をどのように結合するか どのファイルとどのファイル? どの順番で2つを結合するの? • ⼤事なのは、ファイル名であり、タイムスタンプではなかった • _mdat.movはメタデータを持っていないため、カービング時刻でファイル作成のタイムスタンプが付与 • 抽出されたファイル名には通常、デジカメで作成された順に番号が付与されている

    • ファイル名の順列を把握すると、ビデオストリーミングデータ(_mdat.mov) 、メタデータ(.mp4)の順で番号が付与されている • 動画を撮るときはデータを保存しつつ、撮影停⽌時にメタデータをまとめてファイル保存するためと推察 • 抽出ファイル名「 f*********」番号が結合すべきmp4とmdat.movで異なるためマッチングアルゴリズムが必要 • [解] ファイル名でソートし隣接するメタデータ(.mp4) + ビデオストリーミング(_mdat.mov)の順で結合する ※スクショは昨年の別のSDカードの例です。運動会のものをスクショ撮り忘れてました。
  5. _MDAT.MOVと.MP4を結合し動画復元 即興PYTHONスクリプトの開発 /recup_dir.1/f8218176.mp4 + /recup_dir.1/f7637440_mdat.mov = Created. f7637440.mov … 63

    files are probably recovered! (mdat:63,mp4:65) 動画も復活!パパ⼤好き😘❤ GitHubリンク https://github.com/Tatsuya-hasegawa/Forensic_stub/blob/main/mdat_mp4_combine_recovery.py
  6. 今回の⼿法における デジカメ写真と動画 復元できる例、復元できない例 できる可能性が⾼い例 • 破損および削除後に何も操 作をしていない • データ保全は可能な限り取 得しておく

    できない可能性が⾼い例 • データ削除後に撮影の追加が頻繁に発 ⽣していたSDカードの削除データ • GoProなどで3つ以上のファイルにフ ラグメンテーションされる動画 • 物理的に破損しているSDカード あくまでデジカメが保存したデータに対してであり、パソコンやスマホからSDカードへのコピーされたデータは別問題 また復元できるかどうかは、お使いのデジタルカメラの仕様にも依存するだろう ü SDカードのフォーマットは復旧・復元を諦めるまではしないこと ü データを上書きする物理フォーマットをすると、復元できない可能性が⾼い ü クイックフォーマットのような論理フォーマットでは、復元が可能な場合もある ü 直接SDカードに対し復旧・復元の処理を実施せずに保全イメージに対して⾏う
  7. スライド内の無償ソフトウェア • PhotoRec • https://www.cgsecurity.org/wiki/PhotoRec • FTK Imager • https://www.exterro.com/ftk-imager

    • Autopsy • https://www.autopsy.com • TestDisk • https://www.cgsecurity.org/wiki/TestDisk • Bulk Extractor • https://github.com/simsong/bulk_extractor • ddコマンド • https://atmarkit.itmedia.co.jp/ait/articles/1711/30/news027.html