Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい

756 views

Published on

ハードディスクドライブには、今のセキュリティ対策では検知できない隠し領域があります。
そのため、そこに存在するソフトウェアは出現するまで潜伏し続けることができます。たとえグートマン方式のデータ消去を35回実行しても、その領域-PARADAIS-で密かにスタンバイし続けることができます。
もし重要インフラの制御システムに組み込まれているHDDに何かが隠れているとしたら、予期せぬタイミングで思いもよらないソフトウェアが起動し、施設や設備をコントロール不能に陥れるかもしれません。
今回の研究発表では、このようなサイバーテロの脅威がオフライン制御システムにも潜み得る可能性についてのテクニカルな側面と、故障したHDDからのデータ復旧を最も困難にするプラッタダメージへの新たな克服技術について解説致します。
尚、PARADAISついてはイラストを用いてHDDの動作のしくみとあわせての解説と、実演を予定しています。

--- しもがいと だい Dai Shimogaito
しもがいとだい(下垣内 太)
愛知県豊川市出身
関西大学総合情報学部卒(1998年)
大阪データ復旧(株)代表取締役 
http://www.daillo.com/

故障したハードディスクからのデータ復旧や問題の生じたデジタルデータの解析に日々取り組みつつ、保全性の高いデータ復旧(HiDR)技術の開発と、テクニカル面におけるPARADAISのサイバーセキュリティリスク対策についても研究を進めている。また、警察等の法執行機関や弁護士からの依頼により、殺人事件や詐欺事件などにまつわるデジタル証拠のフォレンジック調査分析も行う。

最近の主な講演
2014年:CODEBLUE、NPOデジタル・フォレンジック研究会 第11期総会時講演会
2015年:まっちゃ139勉強会、兵庫県警察本部サイバー犯罪捜査研究会、(株)ラック勉強会
2016年:三重県警察本部生活安全部サイバー犯罪対策課、HTCIA International Conference & Training Expo(米国)上記の他、非公開カンファレンスや技術講義など10件以上

Published in: Technology
  • Be the first to comment

[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい

  1. 1. @ CODEBLUE 2016 on Thu 20 Oct 2016 しもがいと だい(下垣内 太) 大阪データ復旧株式会社
  2. 2. 自己紹介 しもがいと だい ( 下垣内 太 ) データ復旧 – 故障したコンピュータからデータを救出 デジタルフォレンジック調査 – 犯罪や不正事件の証拠品データ解析 サイバーセキュリティ研究 – HDDの隠しデータ領域(本日のテーマ) h t t p s : / / w w w . f a c e b o o k . c o m / d a i . s h i m o g a i t o
  3. 3. HDDを開けて内部の構造を見てみよう!
  4. 4. HDD内部はこうなっています
  5. 5. 主な4つのパーツ 1 2 3
  6. 6. 1. 磁気ディスク 1 2 3 左の、鏡のような丸くて平らな部品が 磁気ディスクです この磁気ディスクにデータとファーム ウェアが記録されています
  7. 7. 3 読み書きヘッドは、右の黒い四角形の スライダの先端にあります 2. ヘッドスタックアセンブリ ( HSA, ヘッド ) 2
  8. 8. メインコントローラとROMチップがあります ROMにはファームウェアの始まり部分 が記録されています データポート 電源ポート RAM 3 3. 制御基板 ( PCB )
  9. 9. ファームウェアは、磁気ディスクとHSAの動きを制御し データの読み書きをするためのソフトウェアです ROMには、ファームウェアの始まり部分が記録されています 磁気ディスクには、 他のファームウェアが記録されています 4. ファームウェア 4
  10. 10. SA & UA SA Service Area ROM以外のファームウェア(SAモジュール) は、サービスエリアに記録されています UA User Area オペレーティングシステム、写真画像、ドキュ メントファイルやフォルダなどのユーザデータ は、ユーザエリアに記録されます 尚、不良セクタ発生に備えた予備セクタは、SA ではなくUAに存在します。
  11. 11. SA and SA Module SA Service Area ROM以外のファームウェア(SAモジュール) は、サービスエリアに記録されています SA Moduleファームウェアは役割ごとに”モジュール”とし てSAに存在します。 P-List, G-List, S.M.A.R.T. そしてATAパスワー ドも、それぞれ該当するSAモジュールに記録さ れています。 尚、SAモジュールの数は製品の設計ごとに異 なります。メーカが違うとファームウェア設計 も異なりますが、ベースの構造は同じです。
  12. 12. 1. Power ON 2. コントローラがROMを読む 3. 磁気ディスクが回転を開始し、ヘッドがSAまで移動する 4. コントローラがSAモジュールを読む 5. Ready HDD起動のながれ
  13. 13. HDD起動のながれ SA ModuleROM SA Module SA ModuleSA Module SA Module SA ModuleSA Module SA Module SA Module Power ON Ready SA Module RAM Controller
  14. 14. HDD起動のながれ Power ON Ready RAM Controller Power ON 起動失敗 RAM Controller 起動失敗の原因,,,, 1. SAモジュールを読むヘッドが悪い 2. SAモジュールがあるディスクが悪い 3. SAモジュールの内容が悪い Operating System not found データ アクセス 不可
  15. 15. HDD内部でのセクタ位置管理のしくみ Head 0 Head 1 Which Cylinder ( = Track ) ? Which Head ( = Surface ) ? Which Sector ? HDD内部での物理的なセクタの位置は, CHSで表すことができます PBA ( Physical Block Address ) は、物理セクタごとに割り当て PBA 0 = CHS( 0 , 0 , 0 ) PBA 1 = CHS( 0 , 0 , 1 ) PBA 2 = CHS( 0 , 0 , 2 ) PBA 3 = CHS( 0 , 0 , 3 ) PBA 4 = CHS( 0 , 0 , 4 ) PBA 5 = CHS( 0 , 0 , 5 ) , PBA 10 000 000 = CHS( 234 , 1 , 18 ) PBA 10 000 001 = CHS( 234 , 1 , 19 ) PBA 10 000 002 = CHS( 234 , 1 , 20 ) PBA 10 000 003 = CHS( 234 , 1 , 21 ) PBA 10 000 004 = CHS( 234 , 1 , 22 ) PBA 10 000 005 = CHS( 234 , 1 , 23 ) , HDD内部でのセクタ位置は PBA によって管理されます。 LBAではありません。 * これらの値は、ひとつの例としてのものです。
  16. 16. LBAはPBAに割り当てられる HDD内部での 物理セクタ位置 PBA PCでの 論理セクタ位置 LBA PBA 0 ↔ LBA 0 PBA 1 ↔ LBA 1 PBA 2 ↔ LBA 2 PBA 3 ↔ LBA 3 PBA 4 ↔ LBA 4 PBA 5 ↔ LBA 5 PBA 6 ↔ LBA 6 PBA 8 ↔ LBA 7 - - PBA 640768 ↔ LBA 623001 PBA 640769 ↔ LBA 623002 PBA 640771 ↔ LBA 623003 PBA 640772 ↔ LBA 623004 PBA 640773 ↔ LBA 623005 PBA 640774 ↔ LBA 623006 PBA 640782 ↔ LBA 623007 PBA 640783 ↔ LBA 623008 Firmware
  17. 17. 物理セクタとLBA / ! これは誤解です ! 製品容量が同じなら、全てのHDDの物理セクタ数はおなじ ? LBAが割り当てられていないセクタ
  18. 18. 物理セクタとLBA / ! これは誤解です ! LBAは、全ての物理セクタに割り当てられている ? LBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  19. 19. 物理セクタとLBA / ! これは誤解です ! 不正解です LBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  20. 20. 物理セクタ総数は、HDDごとに異なります HDD-A HDD-B HDD-C PHASE-01 LBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  21. 21. Primary Defects on Disk ( P-List ) 製造段階でLBAの割り当てが除外されたセクタ  の位置情報はP-Listと呼ばれています  P-List ( Primary Defects List )  P-List は、SAにSAモジュールとして存在します  P-List は、各製品に固有の情報であり、重要です HDD-A HDD-B HDD-C PHASE-02 LBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  22. 22. 工場出荷時 同じ数のLBAをそれぞれのHDDに割り当てることによって HDDの製品容量はどれも同じになります HDD-A HDD-B HDD-C PHASE-03 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  23. 23. LBAが割り当てられた物理セクタの位置 アクセス可能なセクタは、物理的には先頭から終端まで連続していません。 HDD-A HDD-B HDD-C PHASE-04
  24. 24. 同じ数のLBAがHDDに割り当てられている アクセス可能なセクタは、物理的には先頭から終端まで連続していません しかしながら、アクセス可能なセクタは、論理的には先頭から終端まで連続しています HDD-A HDD-B HDD-C HDD-A HDD-B HDD-C PHASE-04PHASE-05
  25. 25. 不良セクタの出現についてみてみましょう 新品の状態 HDD-A HDD-B HDD-C PHASE-03 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  26. 26. 代替処理後の不良セクタ 代替処理後の不良セクタ  の位置情報はG-Listと呼ばれています  G-List ( Growth Defects List )  G-List は、SAにSAモジュールとして存在します  G-List は、各製品に固有の情報であり、重要です  G-Listを初期化すると過去のデータが出現することもあります HDD-A HDD-B HDD-C PHASE-06 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  27. 27. 代替処理後の不良セクタ HDD-A HDD-B HDD-C HDD-A HDD-B HDD-C PHASE-06PHASE-07 代替処理後の不良セクタ 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  28. 28. 代替処理後の不良セクタはE-SEのみアクセス可 Q1. LBAが割り当てられた物理 セクタへのアクセスは できるでしょうか? Q2. 代替処理後の不良セクタに は、LBAが割り当てられて いませんが、アクセスは できるでしょうか? A1. はい A2. 基本的には 無理 但し Enhanced Secure Erase だけはデータ消去をするため にアクセスできます 代替処理後の不良セクタ PBA LBAFirmware PBA Firmware LBA HDD-BHDD-BPHASE-08PHASE-07 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  29. 29. 3つのデータ消去方式の比較 Secure Erase ( ATAコマンド / Purge ) Enhanced Secure Erase ( ATAコマンド / Purge ) データ消去ソフト ( 上書き / Clear ) & LBA領域に限定されず 最大の消去領域を対象 にできる唯一の手段 LBA領域に限定LBA領域に限定 LBAが割り当てられているセクタ 代替処理後の不良セクタ 消去処理としてアクセスできる物理セクタ位置のみを表示しています HDD-B HDD-B HDD-B PHASE-08 PHASE-08 PHASE-07&08
  30. 30. 3つのデータ消去方式の比較 & 存在する物理セクタすべてを表示しています LBAが割り当てられていないセクタ 製造段階でLBAの割り当てが除外されたセクタ HDD-B HDD-B HDD-B PHASE-06 PHASE-06 PHASE-06 LBAが割り当てられているセクタ 代替処理後の不良セクタ LBA領域に限定されず 最大の消去領域を対象 にできる唯一の手段 LBA領域に限定LBA領域に限定 Secure Erase ( ATAコマンド / Purge ) Enhanced Secure Erase ( ATAコマンド / Purge ) データ消去ソフト ( 上書き / Clear )
  31. 31. 物理セクタ数調査結果(3台の同型HDD) 2TB SATA HDD * 3 Same model, Same capacity ( Capacity:3 907 029 168 LBA ) HDD-A HDD-B HDD-C PBA数 3 931 988 368 3 933 712 984 3 933 659 976 LBA数との差 24 959 200 26 683 816 26 630 808 差をバイト換算 12 779 110 400 13 662 113 792 13 634 973 696 差を %表記 0.635% 0.678% 0.677% ( PBA数 ) - ( LBA数 ) = 差 = 余剰物理セクタの数
  32. 32. どうする? 余剰物理セクタ はアクセス不可能 なぜならLBAが割り当てられていないから PBA Firmware LBA もし、そこにデータがあったら ?
  33. 33. Ultimate Boot CDでEnhanced Secure Eraseを実行
  34. 34. シリアルナンバーなどが記録されていることを確認
  35. 35. 実演 実際のHDDを書き込み防止装置を用いてPCに接続し バイナリエディタで先頭セクタを見てみましょう!
  36. 36. データの見え具合はファームウェアに完全依存 LBAPBA Firmware 1 LBAPBA Firmware 2 Firmware 1 MBR(第0論理セクタ)の物理セクタですらファームウェア次第で変わります Firmware 2 LBAはいつでも同じ物理セクタに割り当てられているわけではありません むしろ 流動的 ! HDD-B HDD-B HDD-B PHASE-08 PHASE-14 PHASE-01
  37. 37. P A R A D A I S 余剰物理セクタにLBAが割り当てられると、Enhanced Secure Eraseでさえ 消去処理が到達しなかった領域へも、データアクセスができるようになる 1. HDDを初期化フォーマットしても、そこに残ります 2. OSのセットアップや再インストールを実行しても、残ります 3. 悪意のあるソフトウェアが存在しても、一切検知できません 4. 従来法ではアクセスすることは不可能です 5. どんなソフトウェアやデータでも保存することができます 6. まるっきり制限なし 7. やりたい放題 8. ”誰か”のための”自由なスペース” LBAPBA Firmware ? ▼ HDD-BPHASE-10
  38. 38. 使用開始から3年経過したHDDの例 代替処理後の不良セクタ HDD-A HDD-B HDD-C PHASE-06 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  39. 39. PARADAIS HDD-A HDD-B HDD-C HDD-A HDD-B HDD-C PHASE-06PHASE-09 代替処理後の不良セクタ 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  40. 40. PARADAIS PARADAIS HDD-A HDD-B HDD-C HDD-A HDD-B HDD-C PHASE-06PHASE-10 代替処理後の不良セクタ 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  41. 41. PARADAIS HDD-A HDD-B HDD-C HDD-A HDD-B HDD-C PHASE-06PHASE-11 PARADAIS代替処理後の不良セクタ 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  42. 42. PARADAIS HDD-A HDD-B HDD-C HDD-A HDD-B HDD-C PHASE-06PHASE-12 PARADAIS代替処理後の不良セクタ 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  43. 43. PARADAIS HDD-A HDD-B HDD-C HDD-A HDD-B HDD-C PHASE-06PHASE-13 PARADAIS代替処理後の不良セクタ 製造段階でLBAの割り当てが除外されたセクタLBAが割り当てられていないセクタ LBAが割り当てられているセクタ
  44. 44. HDDの物理イメージと呼べますか? そう呼んで差し支えないときもあるかもしれませんが、、、、 HDD-A HDD-B HDD-C PHASE-05
  45. 45. ディスクイメージ取得ツールが読み飛ばすセクタ HDD-A HDD-B HDD-C
  46. 46. PARADAIS Activation PARADAIS のアクティベーションは、外発的でも内発的でも実行可能 1. 外発的なアクティベーション あるATAコマンドが送信されると、次回のHDD起動時にPARADAISが発動するようにスタン バイさせることができます。 2. 内発的 ( 自発的 ) アクティベーション 外的トリガーがなくても発動は可能です。いつかそのときがくるまで待つだけです。 ネットワークにつながっていないスタンドアロン環境でも発動できるので、いわゆる エアギャップ状態の産業機器や制御装置であっても誰かがコマンドを与える必要なく 自発的発動が可能です。 ▲ Debian Linuxの/etc/shadow を入れ替えることで、rootログインに 必要なパスワードを変更した(デモ) ▲ /etc/shadow 外部からの操作がないにも関わらず パソコンを再起動したら、未確認の パーティションが出現した(デモ)
  47. 47. 悩ましい問題 消費者 & ユーザ(顧客) ベンダ & メーカ こんなアクシデントが起こ るなんて、きいてないよ。 責任とって下さい! 訴えてやる! こんなことが 起こるなんて 想定外だ (T^T) 製造物責任
  48. 48. 悩ましい問題 裁判所 そうなんですね ? 捜査機関 我々はHDDの全ての データ領域を調べつく しました。 物理イメージはHDDの 完全なる複製物です。 デジタルフォレンジックス
  49. 49. 悩ましい問題 被害者 加害者 わたしの大切なデータが なくなっちゃった(泣) ランサム おまえのデータは、まだHDDの中に はあるが、読めないところに隠してあ るのだ! データが欲しければ、身代金を払え!
  50. 50. 悩ましい問題 全セクタを完全消去できるソフトウェアは無い データ消去
  51. 51. 悩ましい問題 サイバーテロ
  52. 52. 悩ましい問題 サイバーセキュリティ あなたなら何を組み込む? 組み込まれて困るものはなんだろう?
  53. 53. PARADAISアクティベーション対策 1. HDDを使用する前に調べる データの重要度が高いほど、HDDのファームウェアを使用前にチェックすることが望ましい ・PARADAISに何かが仕込まれていても、発動をブロックすればよい そのためには、ファームウェア検査が発動機会を低減させるのに有効 ・余剰物理セクタのデータを消去する そのためには、余剰物理セクタにLBAを割り当てる処理がまず必要。そしてデータ消去。 2. 信頼できる販売者を選ぶ 誰からHDDを買いますか? なぜその人から買いますか? 安いからですか?
  54. 54. この研究は現在も進行中 / 重要事項 Although I have described the mechanism of HDD and PARADAIS, it is unknown if PARADAIS exists in all HDD products of all the manufacturers. It could be possible that it exists only in several models that I have verified so far, because the structure and the mechanism differ depending on the design of each manufacturer and model. To make it more precise and clear, it is preferable to explain on each different product. However, it could affect the product's reliability. So I've been avoiding mentioning the name of the products and the manufacturers so far. I would appreciate your understanding. このPARADAISがどのメーカーのどの製品にどの程度存在しうるのかについてはまだ調査の余地が残されており、H DDはメーカごとの設計等によっても構造が異なるため、より具体的かつ正確性を確保するためには、各製品の設計 や仕様に沿った検証が本来ならば必要ですが、当研究の提言内容は、ともすれば特定のメーカや製品の信頼性に影響 を及ぼし兼ねないとの考えにより、積極的に特定のメーカ名や製品名を公表することは今の時点では控えております。 この点につきましてご理解を賜れますようお願い申し上げます。
  55. 55. 2nd Part
  56. 56. 自然災害の被害にあったHDD
  57. 57. 磁気ディスクのダメージはデータ復旧不可(だった) 部分的にダメージがあるにして も、その他の領域にはデータ は残っているはずから、なんと か復旧できないかな、、、、
  58. 58. Disk Burnishing Process
  59. 59. 効果が確認できた 0.02% 94% UP ! 日経産業新聞 2013年9月26日版 関西大学と大阪データ復旧との共同研究
  60. 60. 新たに開発したDDRH
  61. 61. Survey of 12 DR cases No. HDD型番 故障状況 復旧 困難さ クリーニング後の状況 効果 1 ST2000DM001 ブート不可 / 摩耗粉あり B 電源投入後のファーム出力ログに変化 C 2 ST2000DM001 ブート不可 / 摩耗粉あり B 電源投入後のファーム出力ログに変化 C 3 WD10EADS-22M2B0 ブート不可 / ヘッド交換・ファーム調 整要 D リードエラーが若干解消 B 4 SV1203N ブート不可 / ヘッド交換・ファーム調 整要 C リードエラーの解消 B 5 ST3000DM001 ブート不可 / ファーム改造・ヘッド交 換 C 電源投入後のファーム出力ログに変化 C 6 ST2000DM001 ブート不可 / ファーム改造・ヘッド交 換 B 電源投入後のファーム出力ログに変化 C 7 ST2000DM001 摩耗粉多量 A 不可 D 8 ST1000DM003 ブート可 E ブート時のログ変化なし D 9 ST3000DM001 ブート不可 / ヘッド交換・ファーム調 整要 C 一部のリードエラー解消 C 10 ST31000528AS ブート不可 / ファーム異常 C 一部のリードエラー解消 C 11 ST1000DM003 ブート不可 / ファーム改造・ヘッド交 換 C 一部のリードエラー解消 C 12 ST3000DM001 ブート不可 B ブート成功 A Difficulty Level ディスク摩耗多 A ディスク一部スクラッチや摩耗粉微量飛散 B ヘッド交換を含む複合的措置 C ヘッド交換 D 軽度故障 E Effect 大幅改善 A 顕著な改善 *1 B 効果あり C 変化なし D 状態悪化 E ・この研究成果は大阪市に報告されています。 ・DDRHの開発には大阪市の助成金が一部活用 されています。 *1 1000以上のリードエラー解消が条件
  62. 62. DDRHを用いた12例のデータ復旧事例 大幅改善 8% 顕著な改善 17% 効果あり 58% 変化なし 17% 状態悪化 0% ディスク摩耗多 8% ディスク一部 スクラッチや 摩耗粉微量飛散 34%ヘッド交換を含む 複合的な措置 42% ヘッド 交換のみ 8% 軽度 故障 8% データ復旧の困難レベル DDRHによるクリーニング効果 およそ8割において、クリーニング効果が認められた
  63. 63. これからも続く研究テーマ FIRMWARE & PARADAIS Bad 潤滑層 & ディスク表層部クリーニング Good ありがとうございました !

×