普段の日記も書いていきますが、最近はゲーム、模型の日記がメインになりつつあります。

2017/07123456789101112131415161718192021222324252627282930312017/09

今日はPCのHDDを廃棄や譲渡・中古屋で売るなどする前に
データを消去する上で便利なツールを紹介しようと思います。

HDDを破棄や譲渡するなら普通にフォーマットでいいんじゃね?
と思う人がまだいるかもしれませんが、
最近は色々と個人情報が漏れると怖いので普通のフォーマットじゃ駄目なんです。

Windowsなどを使っててHDDのフォーマットをしてもこれは論理フォーマットと言われるもので
HDDに必要最低限のデータを書き込んで初期値を設定し利用できるようにしているだけのため、
過去のデータはそのまま残っている状態でOS上から見えなくなってるだけにすぎません。

そのため、ディスクのリカバリーを行えるソフトなどを使えば
ある程度簡単にデータを復活させることが出来てしまいます。

これから紹介するツールは、それをベストな状態ではないが、
ベターに持っていくことが可能になるツールです。

普通こういったツールは4,000円程度もしくはそれ以上の値段で売ってますが、
これから紹介するツールは同様。または、それ以上のことが無料でできてしまいます。
そのため、わざわざソフトウェアに高いお金を出す必要がありません。

まぁ、ツールと言っても私が紹介するのは単体のソフトではなくて
CDなどのディスクから起動できるOSなんですけどね。

そのOSは『KNOPPIX』です。
これは、DebianベースのLinuxディストリビューションで
CDやDVDから起動できることが最大の特徴です。

そのCDやDVDの中に、いろいろなアプリケーションが入ってるので
それを利用すれば動的なパーティションの変更が出来たり、
バックアップや今回のメインの内容でもあるデータ消去ができます。

というわけで、詳しく紹介していきます。
これから説明する内容は、すべて『KNOPPIX 7.0.2 日本語版』を元に作成しています。
その点はご注意願います。
  • KNOPPIXの準備
    1. 『KNOPPIX』のダウンロード
      『KNOPPIX』は日本語版が存在するので以下の場所からダウンロードすることをオススメします。
      KNOPPIX Japanese edition:http://www.risec.aist.go.jp/project/knoppix/

      最新版リストに新しいバージョンの『KNOPPIX』がISO形式でダウンロードできるようになっています。
      容量も記載されているのできちんとダウンロード出来ているかの確認はしてください。

      ハッシュ値も記載されているのでダウンロードする際は
      何かダウンロードツールを使って落とした方が安全です。

      私は、途中でダウンロードが止まってるのを知らずにそのままDVDに焼いてしまって
      実際にKNOPPIXが起動する際に怒られて気づいたなんてことになりました。

    2. ダウンロードしたISO形式のファイルをディスクに焼く
      ライティングソフトでDVD-RにダウンロードしてきたISO形式のファイルを焼いてディスクを作成してください。
      ちなみに、データ形式のライティングではなくてイメージファイルのライティングで焼くことを間違えずに。

      普通のライティングツールならISO形式のライティングは可能なはず。
      出来ない場合は、『ImgBurn』や『CDBurnerXP』などが
      無料でISO形式のイメージファイルのライティングができるようになってます。

    これで『KNOPPIX』を使える準備が出来ました。
    『KNOPPIX』のHDD操作系で何ができるのかを紹介すると
    1. GParted : パーティションの動的確保
      パーティションの領域を好きなときに動的に変更できる。

      例:
      ハードディスクXが2つのパーティション A - 100GB、B - 100GB に分けられていたときに
      ある日、Aの方のサイズをもう少し大きくしたいとなった場合、
      WindowsだとAもBも1度確保した領域を中身のデータがある状態では変更できない。
      しかし、「GParted」を使用すると中身があっても A - 150GB、B - 50GB に変更が出来る。

    2. Patition Image : ドライブのバックアップが出来る。
      OSの入ってるドライブをそのままバックアップしてもリカバリーディスクを作る必要がなく、
      KNOPPIXが使えればバックアップからリカバリーまで出来てしまう。

    3. scrub : ドライブの消去を実行できる。
      これが今回紹介するツールになります。
      これはデータを消去する方法をいくつか選ぶことができ、
      その消去方法が国際基準でさだめられている方法だったり、
      米国のNSAや米軍で推奨されている方式でデータの消去ができます。

  • データの消去手順
    1. PCの起動
      PCの電源をONにしてすぐにDVDをドライブに挿入する。
      この時、事前にBIOSの設定でドライブのブート順をHDDよりもCDの優先度を上げておくことを忘れない。

    2. KNOPPIXの起動
      CDを挿入して待つとKNOPPIXの読み込みが始まる。
      そして、KNOPPIXのブートオプションが選べる画面になります。
      画面下方に、
      boot :
      と表示されている状態がそれです。

      この状態でENTERキーを押下するか、しばらく待っていると
      通常のGUIのデスクトップウィンドウ(X Window System)のKNOPPIXが起動されます。

      ですが、ここはCUIから起動して操作していきます。

      先ほどのブートオプションを選択するところで以下のように入力してください。
      boot : knoppix 2 noswap

      これでCUI操作のKNOPPIXが起動します。

      起動が成功すると音声が流れ、以下のコマンド入力になります。
      root@Microknoppix : /#

    3. 管理者権限を取得(スーパーユーザーになる)
      管理者権限を取得するコマンドは以下の通りです。
      root@Microknoppix : /# su

      すると、
      root@Microknoppix : /#
      コマンドラインの色が緑色になります。
      これで管理者権限(スーパーユーザー)になりました。

    4. デバイスの確認作業
      自分が消去するデバイスの場所を確認しておかないと駄目なのでその確認方法です。
      以下のコマンドを実行してください。
      root@Microknoppix : /# fdisk -l

      すると、接続されているHDDなどのデバイスの一覧が表示され、
      /dev/hda、/dev/hda1、/dev/hda2、/dev/sda、/dev/sdb などという記載が見つかると思います。
      これが、LinuxなどのHDDドライブなどの表示となります。

      /dev/hda、/dev/sda、/dev/sdb は記録ドライブを示していて、
      /dev/hda1、/dev/hda2 は /dev/hda のパーティション(分割された領域)となっています。

      上記コマンドで表示される一覧では、各ドライブやパーティションの容量も表示されているので
      自分が削除するドライブの場所を覚えておきます。

    5. データの消去をする
      データの消去には、上記にあるように「scrub」コマンドを利用します。
      ここでは、/dev/hda のデータを消去するということで話を進めます。

      実際に、消去を始める前にちょっと説明。
      これは、Windowsの論理フォーマットとは違って、物理フォーマットと言われるものを実行します。
      物理フォーマットはディスクの全てのセクター内を違うデータで書き換えるため、
      消去が完了するまでに時間もかかるし、装置にも負担がかかります。
      そのため、普段使用のフォーマットでは使わないのが良いです。
      破棄、譲渡、売却などの場合にのみ利用したらいいと思います。

      次に、scrubでデータを消去する際の消去方式について説明します。
      コマンド入力で以下のコマンドを入力します。
      root@Microknoppix : /# scrub
      すると、このコマンドを実行する上でのパラメータなどの説明が表示されます。

      基本的にパターンを指定してデータを削除するため、
      私たちに関係するのは、Available pattern are: より下の
      データを消去するパターンの指定に関する説明の部分を確認してください。

      この中でも、dod、nnsa、usarmy だけを覚えておけばいいかと思います。
      gutmann という形式もありますが、これは最高レベルの消去法ではありますが現実的ではない方式です。
      あと、時間を短縮したいなら 2-pass の方式の random2 を選ぶといいかもしれません。

      なぜなら、
      社団法人電子情報技術産業協会(JEITA)JEITA CE部会から閲覧できるガイドラインでは、
      基本的にHDDデータ消去プログラムで1回固定データによる塗潰し消去を行えば十分ですが、2回消去を行えば一般的に完全といえます。
      となっています。

      使うであろう方式の詳細は以下のような感じです。
      • dod : DoD 5220.22-M
        これは、米国国防総省で採用されている方式で3回の書き込みが行われます。
        固定値 -> 補数 -> 乱数 -> 検証 という方式になります。
        これでソフトウェアでのデータの復旧は不可能となり、残留磁気読取り装置での復旧も可能性は低いです。
        安全性は高い消去方法です。

      • nnsa : NNSA NAP-14.1-C
        これは、米国エネルギー省の国家核安全保障局で採用されている方式で3回の書き込みが行われます。
        乱数 -> 乱数 -> 固定値 -> 検証という方式になります。
        これでソフトウェアでのデータの復旧は不可能となり、残留磁気読取り装置での復旧も可能性は低いです。
        安全性は高い消去方法です。

      • usarmy : US Army AR380-19
        これは、米陸軍準拠の方式で3回の書き込みが行われます。
        乱数 -> 固定値 -> 固定値 (このあとに検証が入るかは未確認)という方式になります。
        これでソフトウェアでのデータの復旧は不可能となり、残留磁気読取り装置での復旧も可能性は低いです。
        安全性は中くらいの消去方法らしいです。

      • gutmann : Peter Gutmannのアルゴリズム
        これは、Peter Gutmannという人が考えたアルゴリズムで35回の書き込み回数となります。
        これを行えば、残留磁気などの問題も完全に解決できる最高レベルのデータ消去方式ですが、
        データの書き込みに35回という回数を行うので大変な時間がかかるため現実的ではない消去方法です。
        やらない方が身のためです。

      というわけで、実際のデータの削除のやり方を説明します。
      今回は、/dev/hda に対してで方式としては DoD 5220.22-M方式を例としてみます。
      以下のようにコマンドを実行してください。
      root@Microknoppix : /# scrub -p dod /dev/hda

      これで、DoD 5220.22-M形式のデータ削除が実行されます。
      あとは消去が完了するまで待ちましょう。

      HDDの接続方式にもよって時間は変わってきますが、
      1回の乱数書き込みで100GB約1時間半くらいと見積もっておけばいいかと思います。

    6. 『KNOPPIX』に「scrub」が添付されていない場合(日本語版の古いバージョンなど)
      以下のコマンドで乱数2回とゼロフィルを行なってくれるので NNSA方式とほぼ同じ効果が得られます。
      root@Microknoppix : /# shred -n 2 -z /dev/hda

      また、以下のコマンドで米国コンピュータセキュリティセンター(NCSC)方式(NCSC-TG-025)水準の消去となります。
      root@Microknoppix : /# shred -n 3 -v /dev/hda
      これは乱数を3回書き込みます。

これでデータ消去に関する操作説明は以上となります。

ここまでHDDの消去に関して3回書き込めばほぼ安全とか日本のJEITAだと2回で大丈夫とか言ってますけど、
アメリカ国立標準技術研究所(NIST)が2006年に発表したSpecial Publication 800-88の7ページによると
2001年以降の(15GBytes以上の)集積度の高いATAハードディスクにおいては、データの完全消去はディスク全域に1回のみ上書きすれば事足りる
とか、Center for Magnetic Recording Research(CMRR)によると
データの完全消去はディスクに対する1回の上書きのことである。アメリカ国家安全保障局も推奨要綱にて、同相信号除去比(CMRR)試験をした結果、複数回の上書きは何ら安全性の向上に優位な差をもたらさず、1回の上書きで十分であることを認めている
とデータ消去に関するWikipediaの説明ではなっています。

しかし、HDDのデータの扱いに関してはユーザーの責任として扱われているため、
どの程度のデータ消去をするかは全てユーザーに委ねられています。
なので、1回の上書きでOKとしてもよし、米国の省庁レベルの上書きをよしとするのかは
各ユーザーさんの選択となるわけです。

そういった点でもいくつかの方法で物理フォーマットが可能なツールが1つでもあれば
良いのではないかと思います。

一応、Windowsにも物理フォーマット的にデータを消去可能なコマンドはありますが、
システムで使用している領域なんかは消去できないので無意味です。

あと、今回はKNOPPIXで紹介していますが、
最近ではLinuxディストリビューションの多くがLiveCDに対応したり、
USBから起動できるものもあるので好きなものを使うと良いと思います。

今回の記事も私の備忘録的なものでもあります。
単に久しぶりにHDDのデータを消す必要性が出来たため、
そのついでに書いてみただけだったりします。

ちなみに、HDD操作系のツールに関しては『KNOPPIX 5.0.1』の頃から
利用させてもらってます。
このようなツールがついて他にも色々なことができてしまうのにフリーで利用できるのはありがたいことです。