弊社 データサルベージが加盟させて頂いている NPOデジタル・フォレンジック研究会へ 第248号コラム「“MASAMUNE”の挑戦」を 沼田より寄稿をさせて頂きました。
記事URL:http://www.digitalforensic.jp/expanel/diarypro/diary.cgi?no=469&continue=on
“MASAMUNE”ってなに?
“MASAMUNE”とは、弊社が開発した、Software Duplicator of the DR(Data Recovery), by the DR, for the DR (データ復旧屋による、データ復旧のための、データ復旧屋が電子記録媒体を複製するためのツール。弊社ではあえて、ソフトウェア・デュプリケータと呼びます)です。
データ復旧(DR)の世界でも、デジタル・フォレンジック(DF)の世界の証拠保全と同じように、お預かりした電子記録媒体の原状の保全を目的としてクローンを作成し、実際のデータ復旧作業(論理処理)はクローンに対して行うことが基本になっています。
クローンとクローン元(オリジナル)の媒体との整合性をハッシュ値などによって証明することは必要とされていませんが、それ以外に必要とされる機能・要件については、ほとんど同一といえると思います。
注:“MASAMUNE”のDF版では、ハッシュ値算出機能も追加されています。
何故新規開発したのか?
電子記録媒体のクローンを作成する、または証拠保全を行うツールは既に種々存在している現在の状況において、何故“MASAMUNE”を新たに開発する必要があったのでしょうか?
データ復旧の現場から、実際のデータを基に説明すると、「ハードディスクドライブ(HDD)ほど問題点の多い不完全なものは存在しないと言い切っても良い状態である」ことにあります。
データ復旧を目的として持ち込まれるHDDの障害を、受付頻度の高いものから順番に挙げると、1位:リードエラー、2位:ファームにまつわる障害、3位:ヘッドの障害、4位:バッドセクタとなります。
リードエラーとバッドセクタの区分は、
・リードエラー:データ復旧業者の専用設備・手法によって、読み出すことが可能であり、使用されている部品等には物理的な故障の存在しないセクタ(回復可能)。
・バッドセクタ:明らかにプラッタの物理的な特性の劣化や傷などによって、読み出すことが不可能なセクタ(回復不能)。
となり、そのリードエラーの占める割合が全体の半数以上もあるのです。
現在の証拠保全(クローンの作成)は「完全」と言い切れますか?
HDDのクローンの作成を行うために、何をお使いですか?そして、それはリードエラーをどの様に扱っていますか?
実際にリードエラーの検出されたHDDを使って実験をしてみると、現存するデュプリケータおよび、クローン作成ソフトでは、リードエラーを検出するとエラー終了してしまったり、エラーをスキップしたりする機能は存在しても、その読み出せなかったセクタが、データ復旧に用いる装置・手法では読み出せてしまうものが多々存在します。そんな結果が存在しても、証拠保全が出来ていると言えるのでしょうか?オリジナルHDDとクローンHDDのハッシュ値が一致さえしていれば証拠保全として充分と言えるのでしょうか?
リードエラー等で読み取れずスキップしたセクタの中に、重要なキーワードが含まれていたら、最終的な判定が覆ってしまう可能性があることは誰にも否定できないと思います。ですから、「現存するツールを絶対的なものとしてしまうことには問題が内包されている」、と考えることが必要なのではないでしょうか。
リードエラーは何故起きる?
HDDの製造会社、ウエスタンデジタル(WD)と東芝が、昨年の夏にサーバ等の信頼性を必要とする用途向けに発表した、エンタープライズモデルと呼ばれるHDDに、デュアル・アクチュエータ・テクノロジーと呼ばれるものが採用されていることをご存知でしょうか?
(参考:WD http://www.wdc.com/wdproducts/library/AAG/JPN/2178-771177.pdf 、
東芝 http://www.toshiba.co.jp/about/press/2012_07/pr_j1101.htm )
元々は、HGST(日立グローバルテクノロジー)から特許出願されている記録(特開2004-134067)があり、WDのHGST買収(一部は東芝に譲渡)によって、WDと東芝の両社からほぼ同時に採用が発表されたと推定できるのですが、データを読み書きするヘッドを移動・制御するのに、従来から用いられている、ボイスコイルモータ(VCM)を用いてヘッドアームを駆動するのに加え、ヘッドアーム先端上にVCMによらない(圧電素子を使用した)第二の微調整専用のトラッキングサーボ駆動機構を追加したものです。(参考:最新のHDDの記録密度は、データトラック幅(書き込み)55nmと微小であり、1μmに10トラック以上存在する)。これは、正にHDDの問題点を如実に物語っていると言えるのではないでしょうか。
東芝では、この機構の採用によりヘッドのトラッキング精度(3σ値)が約30%改善されると発表しています
(参考:http://www.toshiba.co.jp/tech/review/2011/11/66_11pdf/f06.pdf )。勿論、HDDには以前からリードエラーの発生は避けられないものとして、それが致命的になることを予防するために、ECC(Error Correcting Code:誤り訂正符号)や、リードリトライ機能と呼ぶ、ヘッドをオフセットトラッキングしたり、A-D変換時(注:FDDやHDDのようなデジタル磁気記録でも、ディスク上に記録されている波形は、アナログ波形であり、その波形を微分したり、積分したりすることでデジタル信号「”0″、”1″」に変換している。)のフィルター(微分・積分)定数の変更、ヘッド浮上量のコントロールなどの多種多様なリードエラーの回復機能が準備・搭載されて機能しているのですが、それにも係わらずリードエラーが原因でデータ復旧が必要になる例が、持ち込まれるHDDの半数以上を占めているのが現実なのです。
ここまでの説明で、HDDのヘッドトラッキングの問題点(リードエラー発生)の原因が、現在のHDDに於ける基本的な構造や制御方式に起因することに気付かれた方もいらっしゃるのではないでしょうか? 極端な例を挙げると、HDDにファイルを書き込んだ時のヘッドの動作と、クローンを作成するときにヘッドが先頭のセクタから順番に読み出して行くシーケンシャルなアクセス動作とで、ヘッドの微妙な動きの相違が原因になってリードエラーとなる可能性すら存在するのです。
このようなリードエラーの発生原因を、現在のHDD機構上の避ける事の出来ない問題点としてとらえ、1セクタでも多くデータを復旧し(読み出し)、品質の良いデータ復旧結果を得ることを追及して来た経験を基礎とした、特殊なヘッド駆動アルゴリズム(特許出願中)を搭載した電子記録媒体のクローン作成ツールが、“ソフトウェア・デュプリケータMASAMUNE”なのです。
技術者?技能者?
私が、よく部下に問いかける言葉として、「本当に技術者(Engineer)なの?」があります。最近は科学の進歩によって、知識として所有している内容は、基本的な部分からでは無く、完成していると信じるものは、その内容を充分に理解する事無く、「ブラックボックス」として扱い、それを如何に効率よく利用するかの「マニュアル的な知識」を多く持っていることが技術者としての価値・スキルの様に考える傾向が有ると思います。それは正しいのでしょうか?
基本を良く理解することなく、その利用方法を追求し、熟練することを目指すのは「作業者・技能者(Technician)」でしかないのではないのでしょうか?
HDDを「ブラックボックス」、デュプリケータなどの既存のツールも「ブラックボックス」として取り扱っていたら、HDDのヘッドを外部から特殊なアルゴリズムで駆動してリードエラーの解消・軽減を図る“MASAMUNE”は生まれなかったのです。リードエラー=バッドセクタ(読み取り不能)と結論付けずに、こうしたら読めるのは何故? HDDは何をやっているの? どうしてなの? のように、疑問はいくらでも沸いてくるはずです。
データサルベージは、常に疑問と好奇心を忘れずに、五感を研ぎ澄まし、“MASAMUNE”の名称の由来、刀匠「正宗」の名を借りて恥じることの無い、真の技術者として、切れ味鋭い、“ソフトウェア・デュプリケータMASAMUNE”を、これからも成長させて行きます。
“MASAMUNE”に興味をお持ちになられた方は、是非 http://www.masamune.com をご訪問ください。