データの完全削除@大作復活

悔しいけど思い出しながら書きなおすという、一番
アナログチックな方法で(大作)を復活させてみました。。。

例えばパソコンを新しく買い替えた時に、古いパソコンは
どのようにしていますか?
必要な人に譲る・オークション・廃棄する・下取りしてもらう….

いずれの場合においても、HDDやSSDに保存されているデータは
消去しているとは思いますが、家族や知り合いに譲るとかならまだしも、
ゴミ箱にポイ&空にする、またはOS上でのフォーマットをしただけで、
オークションや下取りに出したりするのは極めて危険です。

実は仕事帰りに寄った馴染みのパソコンショップ。
常連客同士の話の中でSSDが出てきましたが、ゼロやランダムな値で
ディスク全体を上書きしてやればいいんじゃない?
とか、論理フォーマットはダメだからスローフォーマットでばっちり!
等々、意外とSSDについて知らない方が多かったので、今回はデータの
完全消去をテーマに、HDDとSSDの違いを書いてみます。
(ドライブをハンマーでぶち壊す・・・等は省きます。-笑- )

注意 拙生はこの辺のことはエキスパートではないので、大いなる勘違いは
ありえますのであしからず。

■ HDDの場合

ゴミ箱にポイ(または右クリックメニューの削除)しただけでは、
HDDのデータ領域が上書きされるまでは実態が残っているため、
ちょっとスキルのある人にかかれば、簡単に復元されてしまいます。
Windows などのフォーマット機能でも完全消去はできません。

例えばLinuxなら、HDDのすべての領域に【0】を上書きしてしまう
便利なコマンドがありますが、実はこれでも不十分なのです。
一度くらいの上書きなら、消去したはずのデータが読み取れる程度の
磁気が残留していてます。
ゼロの連続という規則性のある磁気とのわずかな差異を読み取り
復活させるというテクニックで読み取られてしまいます。

残留磁気の問題を解消するためには、指定回数だけのランダムに
発生させた値を上書きし、最後に【0】を上書きすることで、残留磁気から
データを復元しようにも解析困難な状態にしてしまうのです。

Linuxマシーンに該当ストレージをぶら下げてマウントすることでも
できますが、該当マシーンでブータブルなメディアを使って
LinuxディストリビューションをLive起動したほうが楽チンだし安全です。
(これができるのがLinuxのイイところ♪)

Ubuntuではターミナルから以下のコマンドを使用します。

$ sudo shred -n 10 -z /dev/***

上記コマンドでは、ランダムなデータを10回書き込んで、最後に
【0】で上書きしていますが、実際には5回も書き込めば良いでしょう。

/dev/***はデータを完全消去したいドライブを指定します。

複数のドライブがあるときは、sdaやsdb(hdaやhdb)となりますが、
全てのドライブを消去するのであれば、そんなドライブはねぇゾ!
って怒られても気にせずに、当たるまで末尾の文字を昇順でどんどん
変えてみてください。

完全消去とは少々異なる技法ですが、結果として解析不能ですから
これで良しとします。

■ ちょっと面倒なSSD

SSDのNANDフラッシュメモリは複数の記憶素子(チップ)にデータを保存します。
このチップには書き込み回数による寿命があり、数十万回も書き込めば
チップ自体が壊れてしまいます。

Windowsのディフラグは書き込み回数が増え、SSDの寿命を縮める原因となるため、
Windows7/8ではディフォルトでSSDを自動認識し、ディフラグを行わないように
なっています。(なっているはず。。。)
unix系ext4などのファイルシステムではディフラグの必要はほぼありません。

またNANDフラッシュメモリはHDDのように書き換えという作業ができません。
例えばアプリ上で編集したデータを上書き保存したとしても、元データを
書き換えできないので、新しい領域に書き込みます。
古いデータは残ったままで(使用不可)というラベルが貼られます。
OS上では上書きを指示してもSSDはそれができないので、言葉は悪いけど
上書きしたと見えるようにごまかしているということです。
SSDに空きが少なくなくなってから、初めてデータを消去して
書き込むことになりますがこの段階になるとSSDの処理速度が
ガタ落ちすることについては後述します。

このような仕組みなので、HDDには有効だった上書き作戦はSSDには通用しません。
そんなときに拙生は【Parted Magic】というLinuxディストリを使います。
実はSSDは自身に完全削除の機能を持っていて、それは【Secure Erase】という
コマンドにより行います。
Parted Magicはディスクメンテに特化したディストリビューションで、
同梱されている【Erase Disk】からSecure Erseコマンドを実行できます。

LineメディアからParted Magicを起動すると、すでにディスクトップ上に
Erase Diskのショートカットアイコンがあり、起動すると表示されるメニューの
画面一番下にあるInternal Secure Erase command ・・以下省略
から完全削除ができます。

ちなみにATA・SATAのHDDもSecure Erseコマンドに対応しているので、
同様に完全消去がこのツールで可能です。
他のも似たようなツールがありますが、ブートドライブで実行できない
とかが多いことを考えると、ディスクメンテ用に【Parted Magic】の
Liveメディアを作成しておくと非常に便利であります。

余談@ガーベジコレクション

NANDフラッシュメモリは前述したとおり、寿命がある・書き換えができない
という特徴のほかに、書き込みのデータ量がSSDの容量に近づくと速度が
だんだん落ち始め、SSDの容量を超えると極端に遅くなるということがあります。
空きがなくなると、SSDは不要データだけを消去するのではなく、データのある
ページ領域を複数にまとめたブロック全体をバッファに退避させてから、
ブロックごと消去し、退避させたデータから使用(必要)・未使用(不要)を
振り分けして、必要なデータのみを戻すという作業を行うため、容量に余裕の
ある時と比較すると格段に処理時間がかかります。(バッファ用メモリも必要)
退避・消去・戻すという作業はブロック単位なので、データはほんのわずかでも、
数MBを処理しなくてはならないことと、ブロック全体の消去処理にミリセック
単位の時間がかかることが大きな要因です。
このブロックコピーなど一連の処理をガーベジコレクションと言います。

ガーベージコレクションを説明している文献にはもう一つのやり方があるようで、
ブロックにある不要ファイルを残し、必要なデータを他のブロックにコピーした後
ブロック全体を消去し、空きブロックとするというように読み取れるのですが、
これは最近検索していて見つけたもので、拙生の薄識(≠博識)の中では
コピーや消去はブロック単位という認識しかなかったのですが、これが定かなのか
どうかは深追いしておりません。

いずれにしてもSSDを導入しているのに、OSやアプリの起動がやたら
遅くなった場合は、このガーベジコレクションが始まった証拠です。
バックアップを取った後、Secure Erseコマンドを実行することで
完全消去を行い、初期状態に復旧させます。
(完全消去の後はファイルシステムのフォーマットが必要。)

そうそう、もう一つ大きな特徴がありました。
それはSSDは一般的に容量が大きいほど書き込み速度も速いことです。
HDDも容量がフラッタ単体の容量が大きいほど速いのですが理由は異なります。
128MBのSSDに1枚4チップのフラッシュメモリーが使われているとしたら、
256MBで2枚だと8チップとなります。
SSDはデータを並列処理でチップに書き込むため、2倍のチップ数なら
理論的には2倍速くなるということです。
並列処理で速くなるのはRAIDゼロ(ストライピング)やクラウド、
CPUやGPUの動作原理と一緒です。
(コントローラーやバスの処理能力などにより単純に2倍とはいかない)

ここまで書けばTrimコマンドについても説明しておくべきでしょう。

トリム・・・トリマーやトリミングのトリムです。
刈り取るではなくてここでは切り取るという意味合いですね。
書き換えできないので無駄なデーターを残し、新しい領域をどんどん
使ってゆくというSSDの短所を補うものです。

*この機能はOS・SSDともにTrimコマンドに対応している必要があり。
Windowsは7以降が対応。

空き領域がないのに、書き込み命令を受けてからガベージコレクションを始めると
書き込み速度の低下は免れません。
TrimコマンドとはOSが不要になったブロックをSSDに通知することで、その都度
ガベージコレクションを実行させ、書き込み命令が来る前に、書き込み可能な
空ブロックを予め用意しておくことで、書き込み速度の低下を防ぐというものです。
この機能は直接上書きできるHDDには全く必要がなかったものです。

この機能をオンにしている場合は、【間違って削除】でも2度と復活しないので、
バックアップの厳重化やゴミ箱を空にする前に再確認するなどの対策が必要です。

* Trimコマンドによる速度回復の度合いはメーカー(主にコントローラー)
の違いによりかなりの差があります。

なんかもっと書いたはずなのですがこれ以上は思い出せませぬ・・・
思い出したら追記しておきます。

HOME

おすすめ