a-stormのblog

日々の出来事等、とりとめのないことなど、できるだけ色々と書いていこうと思います

HDDを完全消去する(色々+消去時間測定)

2020-12-27 18:54:01 | コンピュータ

HDDを完全消去したい。

要件としては、

(1)乱数、または、ゼロを書き込む(1回で十分)

(2)途中の経過時間、終了予測時間を表示して欲しい

(3)処理時間が速い事

 

(1)は1回書込みでは不十分という声があるかもしれないけど、どういう攻撃者を想定しているのかの議論が必要だ。

個人のHDDであり、電子顕微鏡みたいな数千万円するような大掛かりな機器を使って、残留磁気を1ビットづつ解析するような攻撃者を想定していないので、1回で十分とする。

企業の漏洩してはいけない情報や、国家機密、軍事情報等は、十分な回数の消去を行って下さい。

以下、時間を測定しました。

 

【測定環境】

1.PC        Lenovo G580

        CPU Intel Celeron B820@1.70GHz

        Memory 4096MBytes

2.HDD

        Western Digital WD3200BPVT - 24JJ5T0, 320GB, SATA, 内蔵

3.Software

(1)DBAN (乱数又はゼロ); Bootable CD/DVD

    メルセンヌ乱数、1回、Verify無し

    Quick Erase(ゼロ)、1回、Verify無し

    UEFIに対応していないため、最近のPCでは使いづらい

 

(2)shred (乱数 又は ゼロ) ;  Linux (例えば SystemRescueCD)

    # shred -v -n 1 /dev/sda (乱数1回、ゼロ上書き無し)

    # shred -v -n 0 -z /dev/sda (乱数0回、ゼロ上書き1回)

 

(3)dd (/dev/urandom 又は /dev/zero) ; Linux標準コマンド

    # dd if=/dev/urandom of=/dev/sda bs=64M status=progress

    # dd if=/dev/zero of=/dev/sda bs=64M status=progress

 

(4) fromat ; Windows標準コマンド。formatコマンドでも/p:0でゼロフィルしてくれるようだ。

c:\> format z: /fs:ntfs /p:0

 z: ドライブレターを指定する

/fs:ntfs   ファイルシステムとしてNTFSを指定する。他に、MO光磁気ディスク /fs:fat32、/fs:fatなど

 /P:count        ボリュームのすべてのセクターを 0 にします。この処理の後、
                  ボリュームが、"count" の回数だけ毎回異なる乱数で上書き
                  されます。"count" が 0 の場合、すべてのセクターを 0 に
                  した後にそれ以外の上書きは行われません。このスイッチは、
                  /Q が指定されていない場合は無視されます。

                 (訳が間違っている? /Q(クイックフォーマット)が指定されている場合は、

      /Pオプションは無視されて、クイックフォーマットになります)

 

(2), (3)はsystemrescuecd を利用しました。ベースはArchLinuxっぽいです。

Windowsのツールも追記しましたが、時間測定までは行っていません。

追記:

format コマンドの他、diskpart clean all や、cipher コマンドでも消去(ゼロフィル、乱数書込み)ができるようだが、

・ドライブ指定を間違えないようにしたい。難しい操作は避けたい。

・消去中の進捗状況(%)が見えないと、進んでるのか、いつまでかかるのかが分からない

ことから、format コマンドで実行するのが良いと思います。

大容量HDDで1晩かかっても終わらなさそうな時は、適当な大きさで、パーティションを分け、パーティション毎にやっています。

 

 

4.測定結果

(1)-1 DBAN 乱数1回         91分0秒

(1)-2 DBAN  ゼロ1回        82分00秒

(2)-1 shred 乱数1回        110分38秒

(2)-2 shred ゼロ1回         82分02秒

(3)-1 dd 乱数1回            110分56秒

(3)-2 dd ゼロ1回             82分32秒

 

5. 評価

一番速いのはDBAN。次は、shred ≒dd ほぼ同じ。

乱数とゼロでは、ゼロの方が速いようです。

        ゼロ書き  65MBytes/s

        乱数書き  58MBytes/s(DBAN), 48MBytes/s(shred/dd)

1TBなら、DBANゼロ書きで、4時間15分位かかる。

HDDの接続インタフェースが速くなったり、PCが高速ならもっと早くできるのだろう。