RAIDのディスク1台でもデータ復元できる仕組みと復元方法

神奈川県庁からファイルサーバのHDDが流出

2019年12月6日、朝日新聞は「県秘密情報 大量流出」神奈川県の公文書とみられる大量のファイルが保存されていたHDDが流出した事件を朝刊トップで報道しました。記事によれば県のサーバから取り外されたHDDのデータ消去が不十分なまま、中古品として転売されていたとのことです。

朝日新聞「県秘密情報 大量流出 神奈川 税記録や名簿」(2019年12月6日朝刊)

この件はその後、全国の他の自治体にも多大な影響を及ぼすことになりました。それまでも、2016年4月にデジタル・フォレンジック研究会のデータ消去分科会が「証拠保全先媒体のデータ抹消に関する報告書」を公開し、2018年には「データ適正消去実行証明協議会(ADEC)」が設立されるなど国内でも「データ消去」の重要性は認識されつつありました。しかし情報セキュリティの専門家など、限られた人々や組織による議論や運用がメインでした。それがこの神奈川県庁HDD事件によって大きく変わったのです。

RAIDはHDD・SSDが複数組み合わされて構成される

さて、朝日新聞の記事によれば県庁外に流出したHDDは少なくとも9個あったとのこと。県庁という規模のファイルサーバですので、HDDを複数台を組み合わせたRAIDが構成されていたとみてまず間違いないでしょう。ただしHDDが9台という数は一式のRAIDを構成する全てのディスクであったとは限りません。あくまで判明した流出数です。なお、ファイルサーバにおけるRAIDタイプはRAID5ないしRAID6が標準的であり、ディスク台数はそれぞれの最低条件を満たせば12台でも24台でも構成することができます。

RAIDタイプ最少構成台数冗長性耐障害特性
JBOD(スパニング)2×許容される障害ドライブ数:0
RAID0(ストライピング)2×許容される障害ドライブ数:0
RAID1(ミラーリング)2許容される障害ドライブ数:1
RAID53許容される障害ドライブ数:1
RAID64許容される障害ドライブ数:1
RAID104許容される障害ドライブ数:2
※但し組み合わせによる
主なRAIDタイプと特性

ここでRAIDへのファイル記録のしくみについて。複数台のディスクから構成されるRAIDは、ひとつのファイルが書き込まれる際に複数のディスクに分散し記録されます。そのためファイルを読み出すときには、分割されたすべての断片を集める必要があります。

1つの画像ファイルが2分割されてRAIDに記録されるようす

またRAIDにはRAID0(読み:レイドゼロ・ストライピング)やJBOD(スパンニング・スパンボリューム)のようにディスク障害が1台も許容されない非冗長性タイプと、RAID1(ミラーリング)・RAID5・RAID6のように冗長性のあるRAIDタイプがあります。

RAIDのデータは復元できない?

さて、神奈川県庁サーバの件が報道されて以降、次の質問を頂く機会が増えました。

  • RAIDってそもそも、データ復元できませんよね?
  • RAID5を構成するHDDのうち1台だけから、意味のあるデータは読み取れないですよね?
  • RAID5またはRAID6を構成する36台のHDDのうち、9台だけHDDがあってもデータ復元は無理ですよね?

ネット上でも同様の質問を見かけます。ところが意外と正解が書かれていないようです。

RAIDのデータ復元に関する答えは、次の通りです。理由や原理は次項以降をご覧ください。

  • RAIDのディスク台数が充分(たとえば全部)に揃っていれば、データ復元は可能。完全に元通りも可。
  • RAIDの全てのディスクがなくても、部分的にはデータ復元できる。
  • RAIDのデータ復元は、充分なディスク数が集まらなくても、ディスク数が多いほどデータ復元率は高くなる。

RAIDのデータ記録のしくみ(イラスト付き解説)

ここからRAIDにおけるデータ記録のしくみの解説です。RAIDタイプに細かな仕様は異なりますが、ここではJBOD(スパンニング)とRAID1(ミラーリング)除いたRAID方式に共通する分散・分割記録のしくみを「ストライピング方式」としてご説明します。そのため、RAIDタイプがRAID0(ストライピング)ではないRAID5やRAID6でも、基本的な仕組みは同じと捉えて下さって大丈夫です。
※RAID5やRAID6はパリティと呼ばれるデータを有します。しかしパリティは本ページの主テーマとは切り離してお考えいただいて構いません。

1 RAID仕様(パラメータ)

RAIDの仕様とRAIDボリュームに記録されるサンプルファイル3点
HDD台数3
HDD順序「HDD-A」>「HDD-B」 >「HDD-C」
※スライドのイラストにあるHDD。左から順に1,2,3。
ブロックサイズ64KB
パリティなし
本項でのRAID仕様

ここではRAIDが3台のHDDから構成されているとします。そして、スライド右側には3点のブドウのJPG画像ファイルがあります。それぞれのファイルサイズは64KB、128KB、512KBです。以降、これらの画像ファイルがどのようにRAIDの各ディスクに書き込まれるかをみてゆきます。
ブロックサイズという名称は他に、ストライプサイズやチャンクサイズと呼ばれることもあります。いずれも同じことを意味しています。

2 ファイルはRAIDのブロックサイズずつ分割される

スライド右部にある3点の画像ファイルは、ブロックサイズごとに分割

RAIDに書き込まれるファイルは、ブロックサイズごとに分割されます。上のスライドでは64KBのファイルは分割されていません。それに対し、128KBのJPGファイルは2分割されています。同様に512KBの画像は64KBずつ8分割されています。

3 RAIDのブロックサイズ以下のファイルは分割されない

ブロックサイズ64KBのRAIDに64KBのファイルが記録される状況の図

まずはじめに、RAIDブロックサイズと同じ64KBのファイルについて。このファイルはRAIDブロックサイズとちょうど同じデータ容量です。そのため分割されることなくHDD-Aに記録されています。このとき、64KBの画像ファイルは丸ごと1台のHDDに保存されています。

HDD-AHDD-BHDD-C
64KBファイル全体※データ無し※データ無し
ブロックサイズ64KBのRAIDに64KBのファイルが記録されるディスクとその内容

4 128KBのファイルは2分割されて記録

ブロックサイズ64KBのRAIDに128KBのファイルが記録される状況の図

次は、128KBのファイルです。このファイルはブロックサイズの2倍の容量をもっています。そのため分割数も2となります。分割されたファイル断片は先頭から終端へ向けて順番にRAIDの各ディスクに書き込まれます。スライドでは1つ目の断片がHDD-Aに書き込まれ、2つ目の断片がHDD-Bに書き込まれている様子をあらわしています。書き込まれるディスクの順序はRAID仕様に基づいて決まります。

HDD-AHDD-BHDD-C
(1)(2)※データ無し
ブロックサイズ64KBのRAIDに128KBのファイルが分割記録されるディスクと2つの断片の配置

5 512KBのファイルは8分割されて記録

ブロックサイズ64KBのRAIDに512KBのファイルが記録される状況の図

つづいて3例目です。ファイルサイズが512KBですので、計算式「512 ÷ 64 = 8」によりファイルは8分割されています。前項での128KBのファイルと同様に分割されたファイル断片はHDD順序にあわせてRAIDの各HDDに記録されています。

HDD-AHDD-BHDD-C
(1)(2)(3)
(4)(5)(6)
(7)(8)※データ無し
ブロックサイズ64KBのRAIDに512KBのファイルが分割記録されるディスクと8つの断片の配置

ファイルがブロックサイズごとに分割されて複数のディスクに記録される様子は以上のとおりです。ここまでお読みいただくと、おそらくRAIDは未知の世界ではなくなったのではないでしょうか?

ファイル容量とファイルヘッダ位置がデータ復元の結果を左右する

いよいよ本題です。「RAIDのファイルは復元可能か?」答えは条件によってかわるものの、全てのディスクドライブがあるならば、データ復元はもちろん”可能”です。しかしこのページに求められているのは、この答えではないでしょう。次こそはこのページの本命の本題です。

「RAID5を構成するHDDのうち1台だけから、意味のあるデータは読み取れないですよね?」

「データ復元できます。ただし条件付きです。」

スライドは上下に分かれていますので、まずは上部をご覧ください。64KBの画像ファイルがHDD-Aに丸ごと記録されているのがわかります。つまりこのデータ領域にアクセスさえすれば、画像ファイルとしてそこに存在している、ということです。つまりデータ復元できるということです。データ復元の条件は「RAIDブロックサイズ以下」です

続いてスライド下部をご覧ください。ここには128KBの画像ファイルの事例があります。まずHDD-Aからのデータ復元についてみてみましょう。HDD-Aには128KBの画像ファイルのうち1つ目の分割データが記録されています。ここで少し補足をします。サンプルの画像ファイルはJPG形式のファイルです。JPGファイルにはファイルヘッダと呼ばれるファイル識別情報が画像の先端部分にあります。また、ファイルの先端からファイルの途中までのバイナリデータしか持たない場合であっても、その部分の画像だけは表示できるという特性があります。そのため、HDD-Aからは1つ目の断片を検出できます。しかしHDD-Bに記録されている2つ目の断片は、残念ながらファイルヘッダ基準での検出ができません。よってここではHDD-Bからは2つ目の断片(ぶどうの下半分)は検出されていません。

改めて128KBファイルの1つ目の断片に着目します。この断片は元々は128KBあるファイルの半分の情報量しかありません。しかし、JPGファイルの特性により、画像として表示できている部分があります。画像の下半分が縞々模様になっているのは、ファイルとしては不完全なためです。このような場合、「不完全な復元」といえるでしょう。

なお、「不完全な復元データ」は、デジタルフォレンジック調査においては充分に有効な「デジタル証拠」になることがあります。重要な証跡が含まれている可能性がありますので、見落とさないようにご注意下さい。とくにデータ復旧ソフトや、ファストフォレンジック手法による解析では、こうした証跡は検出されない傾向にあります。

ディスクの組み合わせによりデータ復元結果は変わる

RAIDを構成するドライブのうち1台のみからでもデータ復元が可能な場合があることは前項で述べた通りです。それではここでRAIDを構成する3台のHDDのうち、2台からのデータ復元について検討してみましょう。ここでは2台を組み合わせて解析した結果を比較しています。なお、書き込まれているファイルは128KBのJPG画像1点です。

HDDは2台あるが、128KBファイルは検出不可

スライド左上

HDDは2台:HDD-Aにある128KBファイル1つ目の断片のみ検出可。不完全なデータ復元は可。

スライド右上

HDDは2台:HDD-AとHDD-Bの2つの断片を組み合わせることにより、完全にデータ復元可。

スライド左下

HDDは1台(HDD-A):データ復元結果は「スライド右上」と同じである。

スライド右下

上記のデータ復元結果4パターンを比較すると、必ずしもデータ復元結果はHDDの台数によって増減するものではないことが分かります。例えば「スライド左上」はHDDが2台あるのに対し、「スライド右下は」HDDが1台です。台数の少ない状況であるにも関わらず、「スライド右下」の方が、データ復元結果は優れています。

また、「スライド左下」は、「スライド左上」と「スライド右上」と同じくHDDは2台です。それなのに「スライド左下」だけはデータ復元に成功しています。

このように、RAIDを構成するドライブのうち、1台もしくは充分未満の台数しか無い場合でも、データの復元はできる場合があり、その結果はRAID仕様、HDDの台数、ファイル容量などによってかわります。

神奈川県庁HDD事件:記者会見コメント

ここで少し、ページ冒頭の神奈川県庁での事件に戻ります。記者会見の会場には報道記者が多数詰めかけているのを映像で確認しました。その際の県と記者の質疑応答に次のようなコメントがありました。

  • 県:完全な形ではなかったり、壊れていたりというものもありましたので。
  • 記者:壊れて開けないファイルは、割合的にどのくらいなんですか?
  • 県:結構あったよね。まず画像ファイルはほとんどダメでした。

いかがでしょう。このページで説明しているような、RAIDを構成するHDD単体をデータ復旧ソフトでデータ復元してみた結果を県庁の職員さんがご覧になられたうえでのコメントである可能性が高いものと考えられます。つまり、より専門的な解析を行えば、流出データの実体をより正確に把握できたものと見込まれます。

まとめ

RAIDのHDDが全て揃っていない場合でも、データ復元ができる理由とその仕組みについて述べてきました。いわゆる一般的なデータ復旧サービスやソフトウェアによる操作では復元はできないものの、解析手法次第では見えなかったデータが見つかることはご理解いただけたかと思います。データ復旧やデジタルフォレンジックの世界には、どのような状況であってもあきらめずに取り組むことにより、見えないものが見えるようになることがあります。大切なデータ、どうしても見つけたいデジタル証拠などがあれば、どうぞお問い合わせください。

よかったらシェアしてね!
  • URLをコピーしました!
目次