最近、データを手渡しで渡す場合、USBメモリを良く使うのではないでしょうか?受け渡しが終わるとUSBメモリ内のファイルを削除して、また新しいデータを入れてデータの受け渡しを行う。しかしUSB内のデータは見かけ上削除されていますが、データはまだ残っており、データ復旧ツールなどを使えば削除したデータを復旧出来る可能性があります。USBメモリを使ってデータを外部の人に渡す場合、データの漏洩を防ぐ為にはUSBメモリのクリーンナップをする事をお勧めします。
USBメモリをmkfsコマンドでフォーマットすればクリーンナップされるのでは?と思いがちですが、フォーマットでもデータは見かけ上削除されていますが、データはまだ残っています。そこでお勧めしたいのが shred コマンドです。shred コマンドはランダムなデータを上書きしてデータを完全に消去してくれるコマンドです。USB メモリをパソコンに差し込み df コマンドを実行するとUSBメモリのデバイス名が分かるので以下のようにコマンドを実行しUSBメモリのデータを削除します。
$ df
:
/dev/sdc1 3997040 144 3996896 1% /media/taro/37D6-5689
$ umount /media/taro/37D6-5689
$ sudo shred -v -n 5 -z /dev/sdc1 <- デバイス名
-v 詳細を表示
-n ランダムな値を 5 回(デフォルトは3回) 書き込む。
-z 書き込み最後に0データを書き込む。
再度、デバイスのフォーマットを行います。
$ sudo mkfs.exfat /dev/sdc1
shred はディスクにだけではなくファイルに対しても行えます。ABCDEFG と書かれた sample.txt ファイル に対してshred コマンドを実行し結果をダンプしてみると意味不明なデータに書き換わっている事が分かります。これなら、データ復旧ツールを使っても削除したファイル名は分かるかもしれませんが、内部のデータは取り出せません。
$ od -tx1c sample.txt
0000000 41 42 43 44 45 46 47 0a
A B C D E F G \n
0000010
$ shred -v -n 5 sample.txt
$ od -tx1c sample.txt
0000000 dd be a5 e7 21 70 af ed b4 f1 7f ea 4d ca bc a6
335 276 245 347 ! p 257 355 264 361 177 352 M 312 274 246






