機器種別 | TeraStation |
---|---|
型番 | TS-W2.0TL/R1 |
構成 | 通常モード x 2 (暗号化) |
容量 | 2.0TB |
データ量 | 850GB |
所要時間 | 9日 |
料金 | 270,000円 |
本件のお客様とのやり取りを時系列に沿って端的に書くと次のようになります:
初日 | 午後 | 19時頃にお客様から電話にてお問い合わせがありました。 |
2日目 | 午後 | お客様からTeraStationの発送の連絡をいただきました。 |
3日目 | 午前 | TeraStationが弊社へ到着しました。 即座にHDD2台のクローン作製を開始しました。 |
午後 | クローンHDDの作製が完了しました。エラーはありませんでした。 弊社で通常の手順で使用している復旧ツールのいずれでもデータ領域の中身が確認できませんでした。 | |
4日目 | 午前 | HDD2台でRAIDが構成されているのではなく、HDDそれぞれがTeraStation でいうところの「通常モード」に設定されていました。そして、HDDそれぞれが暗号化されていることが分かりました。調査を進めるために、お客様へWeb管理画面に入るためのアカウント情報をいただくようにお願いしました。 |
5日目 | 弊社にてドライブが暗号化されたNASの復旧案件はこれで2件目、TeraStation では初でした。そのため、どのようにして暗号化の機能が提供されているのかという部分から解析作業を行う必要がありました。 | |
6日目 | ||
7日目 | ||
8日目 | ||
9日目 | 午後 | HDD1 のデータがみられるようになりました。早速、外付けHDDへのコピーを開始し、その旨をお客様へお伝えしました。 |
10日目 | 午後 | HDD1 のデータの取り出しが完了しました。続けて、HDD2 の取り出しを開始しました。 |
11日目 | 午後 | 納品用のHDDを発送いたしました。TeraStationは念のためにお客様による取り出しデータの確認が完了するまで保管させていただくことになりました。後日、確認完了と同時にTeraStation を返送いたしました。 |
機材の素性
本件のお客様についてもう少し詳しく書きます。お客様は東京都でPCの修理事業を行っているとのことでした。今回のご依頼はお客様の元へ持ち込まれたTeraStationの復旧です。弊社へのご依頼の前に別の復旧業者へ依頼して、そちらでは復旧できなかったとのことです。
すでに別の復旧業者に持ち込まれている場合には注意すべきことがあります。こういうことはあまり言いたくないのですが、復旧業者の中には悪質なものがあります。そういうところに一度依頼して、そこでの復旧を断念すると、別の復旧業者では復旧できないように工作されてしまう場合があります。
本件の作業は、もともとのTeraStation の構成が分からない状態でスタートしました。さらに別の復旧業者が前に作業しているとなると、通常の手順でデータが読みだせない場合、それが前の業者の工作によるものなのか、そうでないのかの判断が必要になります。3日目・4日目の作業内容は結果的にはその切り分けを行っていたことになります。
以後の5日間はディスク暗号化が設定されたTeraStationのデータ復旧方法を模索していました。TeraStationは今回が初めてでした。それ以前に復旧を行い、成功したのは LAN DISK です。
TeraStationとLAN DISK の違い
以前データ復旧に成功した LAN DISK の資料を参照しながら作業を開始しました。結果的にはあまり参考になりませんでした。TeraStation も LAN DISK も Linux ベースのNASです。Linux でディスク暗号化を行うときに用いられる仕組みとして dm-crypt というものがあります。TeraStation も LAN DISK も ディスク暗号化に dm-crypt を使っているという点では同じです。しかしながら根本的に考え方が違うのが 鍵 の扱いです。
暗号技術において、鍵(かぎ、key)とは、暗号アルゴリズムの手順を制御するためのデータです。TeraStationやLAN DISKが提供するディスク暗号化にも鍵が存在します。この鍵を用いることで常時暗号化や復号化を行いながらデータの読み書きを行っています。
LAN DISK においてはこの鍵の在処は比較的明確です。LAN DISK の鍵はUSBメモリーや「LAN DISK Key Server」を実行しているマシン内にファイルという形で存在しています。特にキーファイルがUSBメモリーに格納されている場合にはこれが物理的な見た目上も鍵らしく見えるので運用方針も見定めやすいです。抜いているときには解錠されず、差し込んで初めて解錠されるのはいかにも鍵という感じがします。
一方、TeraStationの場合にはそういうものが存在しません。よく考えてみると暗号化ドライブを作成する際にキーファイルの保存先やパスワードを指定した記憶がありません。実はTeraStation のディスク暗号化はTeraStation 本体を鍵とみなして設計されているようなのです。
「TS-XHL、TS-XL、TS-XELシリーズ/ TS-WXLシリーズ/TS-RXLシリーズ TeraStation設定ガイド 」には次のような一説があります:
TeraStationに内蔵されているハードディスクをフォーマットする際に、設定画面で[暗号化]を選択して フォーマットするとAES128bitで暗号化され、ハードディスクを本製品以外の機器に取り付けてもデータを読み出せなくなります。
多くの場合、ディスク暗号化というのはHDDのみが本体から抜き出される種類の窃盗への対策として利用されます。この実装はその要件を満たしているといえそうです。しかしこの実装では正規の手順上は本体が壊れるとデータが読み出せなくなります。キーファイルやパスワードと違って本体は複製できないのでその点に注意して利用してください。
作業環境を整える
運が良いことに、本件のTeraStation の本体は正常に動作していました。この場合、まずはお客様からお預かりしたTeraStation のにHDDを接続して、そのOS領域の中で操作ができるような環境を整える必要があります。
作業は可能な限りクローンHDDを使用して行います。以後、特に断りがなければ作業対象のHDDはすべてクローンです。この時点ではクローンHDDで復号化できるのかわかりません。もし不可能ならば実機で行うしかありません。念のためにクローンを複数作成しています。クローン作製は作業と並行して行います。
別のLinuxマシンにHDD を接続して、起動時に ssh が立ち上がるように細工します。HDD2 単体なら正常に起動することが分かっているので、こちらに細工をしました。
細工したTeraStation をHDD に接続し、電源を入れます。起動が完了したらssh でアクセスできることを確認します。ssh でアクセスできることが確認できたので、HDD1がつながった状態で起動するように細工します。HDD1 を優先して作業するのは、お客様から優先して取り出して欲しいと伝えられたファイルがこちらに入っているからです。
当初、HDD1 のOS領域に何か問題があるようでうまく起動しませんでした。そこで、HDD1のファームウェア領域とOS領域を一度クリアして、HDD2 の各領域のRAIDメンバーとして再参加させました。この状態でTeraStation に接続して電源を入れると、起動してsshでアクセスできる状態になることが確認できました。
データ領域をmountする
次に、データ領域が mount された状態を作ります。データ領域に格納されたデータにアクセスするためには、そこに至るまでの各層の問題をクリアしていかなければなりません。
これは常に難しい作業です。本件の場合には、問題がないはずなのに、どこかで dm-crypt のマッピングが解除されてしまう現象が一番の問題でした。しばらく調べて、一度エラーがシステムに認識されると、以後は一度マップしても強制的にそれが解除されるようになっていることが分かりました。この問題を解決するには次の2パターンが考えられますが、後者が簡単そうだったのでそちらを選択しました:
- エラーが記録されている個所を特定して記録を削除する
- 解除している個所を特定して、その機能が呼び出されないように変更する
この部分を解決したら、あとは大きな問題もなくデータにアクセスすることができました。即座にHDD1のデータの吸い出しを開始しました。
作業への物理的制約
この時点でHDD2のデータ取り出しについては未着手です。通常であれば、データの吸い出し中は手を動かす必要がないので並行して別の作業を進めます。しかし、ディスク暗号化が設定されたTeraStationのHDDは物理的に1台しか存在しないその装置でしか扱うことができません。下手にいじって現在吸い出している途中のHDD1に影響が出ると困ります。仕方がないのでHDD1のデータの吸い出しが終了するまで待ちます。
翌日の昼にはHDD1のデータの吸い出しが終了しました。この時点で優先して取り出して欲しいと依頼されていたファイルを先行してオンラインでお送りいたしました。(伝送方法についてはお客様からの指定が可能です)
続いて、HDD2のデータ領域のmountを目指します。運が良いことに、こDD1を全く同じ手順でデータにアクセスできるようになりました。
まとめ
今回は初めてのケースでしたので、解析作業が発生しました。そのため、作業時間・料金ともに普段よりも多くかかってしまいました。
解析作業の過程でディスク暗号化が設定されたTeraStation の場合には本体が正常でなければデータの取り出しができなくなるということが分かりました。この性質をあらかじめ理解した上であっても、TeraStationのディスク暗号化はユーザーが適切に利用するのがかなり難しい機能なのではないかと感じました。
今回は「通常モード」が設定された機器でしたが、RAIDが設定されていても基本的な考え方は同じで、一階層増えるだけなので同様の症状ならば応用は効きそうです。この場合には、通常の復旧料金に +216,000円 でお取り扱いいたします(2016年12月時点)。
ただし、本体が破損している場合と暗号化された論理ディスクが破損している場合については未解決なので、引き続き技術開発に努めていきたいと考えています。