HDL-TA3(暗号化NAS)のデータ取出し完了

1.はじめに

四国のお客様から、「NAS-RESCUEで、データが見えないよ。」との電話が有りました。

状況を確認したら、HDDが一台内蔵のLANDISKでした。データ部がRAID構成だったので、NAS-RESCUEの2台用を使ってもらったところ、RAIDは構成できたが、データパーティションのファイルシステムが「未知」と表示されたようです。

このような場合、元のHDDでReadエラーが発生している可能性が有るので、まずはクローンを作って下さい。とお願いしました。お客様は早速、クローンの作成を開始しました。Readエラーが頻発したようで、3TBのHDDのクローンを作るのに3日間、掛ったようです。再度、NAS-RESCUEの2台構成用を試しましたが、同じ結果でした。そこで、ファイルシステム復活のコマンドを実行してもらいました。2日掛かって、そのコマンドは終了しましたが、「未知」ということで、状況は変わりませんでした。そこで、弊社で作業します。となって、弊社へ送付頂きました。

2.メーカーが勝手に暗号化して、データ復旧サービスを使えない機種

届いたHDDのクローンをPC-3000で作成している間に、このLANDISKの特徴を調べました。機種はHDL-TA3、操作説明書を確認したら、なんと、2ページ目に、

「本製品はデータ復旧サービスを使えません

本製品はセキュリティ強化のため、全体を暗号化しています。そのため、他社も含めたデータ復旧サービスでのデータ復旧はできません。データの二重化などを心がけ、大事なデータが消えないようにご注意ください。」https://www.iodata.jp/lib/manual/pdf2/hdl-ta_b-manu202553.pdf より引用。

と有るではありませんか。。。。メーカーで暗号化?データ復旧サービスは、他社を含めて使えない?

どうしよう?

暗号化されたTeraStationについては、これまで、何台か復旧してきたが、LANDISKは未経験。でも、困っているお客様が居るのだから、挑戦してみよう、と、お客様には、作業時間が掛かるのと費用がかさむ、事を説明し、(もちろん、データ復旧できなかった場合は、作業料金は0円)、了承を頂きました。

3.同一機種の手配と試行錯誤の作業

まずは、同一機種をアマゾンから仕入れて、色々と試してみる事にしました。

試験①HDDのクローンを作成して、クローンでLANDISKが起動するかを試しました。

結果、クローンのHDDでこのシリーズのLANDISKは起動しました。(旧来のLANDISKでは起動しませんでした。)

試験②復旧対象のHDDのクローンを作成し、クローンで復旧対象のLANDISKが起動するかを試しました。

復旧対象ののHDDは、HDDの最初の辺り(OS部とデータ部の先頭)で、READエラーが頻発していた為、クローンのHDDでは起動しませんでした。

試験③テスト機のHDDのパーティション1のファイルを解析しました。

「lkdata.crypt」「lksystem.crypt」のファイルが有り、もしかすると、これが暗号化キー?と期待しました。更に、「initilize.sh」というスクリプトを発見し、中を確認すると、「/sbin/cryptsetup –cipher=aes –key-file=”/tmp/lkdata”・・・」という、どうやら、cryptsetupというコマンドを、lksystemという暗号化キーファイルを使って、パーティションを暗号化している、という記述を発見しました。

テスト機のクローンを使い、「lkdata.crypt」を暗号化キーファイルとして、復号化してみました。見事に失敗。。。。

試験④工場出荷時に作られた暗号化キーは、LANDISKの毎回の起動時に、再現よく作成されるのか?を検証しました

この検証には時間が掛かりました。というのも、「uInitrd.ta」「zImage.ta」「rootfs.tgz」という、圧縮ファイルがLANDISKの起動時に展開されるのはしっていたので、これらのファイルを展開し、暗号化キーを作成しているであろうプログラムを検索したからです。テキストエディタ、バイナリーエディタを駆使して、探してみましたが、見当たりませんでした。

テスト⑤LANDISKの基盤は、いわゆるマイコンボードなので、起動の様子をシリアル通信で観察できないかを試してみました。

基盤アルアルですがHDL-TAの基盤には、4本のピンが接続しており、このピンが基盤のテスト評価をするものと推測できました。そして、ラッキーであれば、シリアル通信用のピンと期待しました。テスターで、各ピンの電圧を測定し、アースのピンと、通信に使うTXD、RXDのピンを予測しました。ボーレートは、古いLANDISKハックの記事を参考に、115200のボーレート、1ビットのストップビットとして設定して試してみました。何回かの施行後、シリアル通信に成功しました!

4.LANDISKの起動ログを解析し、暗号化キー取得に成功!

試行①LANDISKのHDDを接続しての起動ログを取得し、解析

まずは、正常起動のログを取得し、ログを解析しました。このモードでは、通信は垂れ流しで、こちらからの信号は受付なかったので、LANDISKを操作することができませんでした。

試行②LANDISKのHDDが未接続の状態で起動ログを取得し、解析

このモードでは、USBが無いみたいなログが表示され、ストップ。

試行③FAT32形式でフォーマットしたUSBに、試行②で指示されたように起動イメージを保存して、起動してみました。

なんと、この場合、起動ログが終了後、こちらからの信号を受付て、(なんか、BusyBoxというソフトが起動したようです)、LANDISKの中を操作できるようになりました。「initilize.sh」に記述の有る通りに、暗号化キーが有るかどうかを探った所、有りました!

試行④「lkdata」「lksystem」という暗号化キー?を、UBUNTU上で、LANDISKのクローンに適用したところ、データが見えました!

5.納品と料金

早速、データを取り出した所、なんと約9Gバイトでした。えっ。3TバイトのNASに9Gバイト?

クローン作成時に、データパーティションの先頭付近で、READエラーが多発していたので、もしかして、ファイルインデックス部分が正しくRead出来ていないのでは?と思い、UBUNTU上で、データ復旧コマンドを実行しました。しかし、9Gバイトでした。

ならば、ということで、暗号化されたデータパーティションを、復号化した状態でクローンを作成し、復旧しようと思い、クローンを作成しました。やはり、復号化しながらのクローン作成なので、30時間もの時間がかかりました。この復号化されたクローンで、専用の復旧ソフトで復旧してもデータは約9Gバイトでした。都合5回復旧作業を行ったことになります。

お客様へ納品した所、OKを頂き、翌日には料金が振り込まれました。ありがとうございました。

気になる料金は、

基本料金 HDD一台構成3TB  33,000円

HDD故障加算         11,000円

復号化処理加算        110,000円

NAS-RESCU購入費用     -11,000円  

計              143,000円