安全な方法でファイルを削除するには?


205

削除されたファイルを回復できないことを確認する方法はありますか?

ご存知のように、shift-delを押すかゴミ箱を使用してファイルを削除しても、そのファイルが永久になくなるわけではありません。コンピューターのどこかに存在します。

日々の生活の中で、法執行機関や泥棒は回復プログラムを使用して、私たちの個人データなどを明らかにしています。

ハードディスク、RAM、さらにはUSBにあるすべてのデータを回復できます。

これらの人々から私たちを守るために、何をすべきでしょうか?どのプログラムを使用する必要がありますか?

注:最初に回復プログラムを使用してから、そのファイルをシュレッドで消去するような回答は必要ありません。1つのプログラムで、コンピューター上の未使用/削除済みのファイルをすべて消去したい。


残念ながら、SSDの時代に非常に厳密に当てはまるようには見えないものの、賞金は自動的に与えられました。ドライブの製造元固有のAPI呼び出しが行われる場合を除き、SSDを使用してバイトが実際に上書きされることはありません(ドライブ全体の手順を実行しない限り)。回答の1つに引用されている記事を参照してください。
マット

回答:


191

細断

このコマンドラインツールは、Gutmanメソッドを使用して単一ファイルを安全に消去および上書きするために、Ubuntuのコアユーティリティから既にインストールされています。

高速破砕

shred -vzn 0 /dev/sdc1

01回の反復でsですべてを上書きすることにより、パーティション全体を消去します。法的側面は別の手続きを必要としない場合は、そうすることは、おそらく安全にあなたの個人データを削除しても安全であるコンピュータサイエンス、2008年、中クレイグ・ライトの講義ノート5352、243から257に

安全なシュレッディング

shred -vzn 3 /dev/sdc1

乱数を使用して3回繰り返してパーティション全体を消去します。さらに(オプション-z)これは、最後に細断処理を隠すためにゼロを書き込みます。これには、高速メソッドの4倍の時間がかかります。

注:パーティションを細断することにより、このパーティションを0乱数で上書きします。したがって、そのパーティションのファイルシステムキャッシュを含むすべてを効率的に完全に削除します。これは、削除されたファイルの不要な残りを削除するためにも使用できます。保持するファイルは、シュレッドする前にバックアップする必要があります。


ワイプ ワイプをインストール

このコマンドラインユーティリティでは、より多くのオプションと、単一ファイルに加えてディレクトリを消去する可能性が提供されます。

wipe filename
wipe -r dirname

ジャーナリングファイルシステムとSSDに関する追加の注意事項:

  • 単一のファイルを消去するとき、ジャーナリングファイルシステムのまだ回復可能なバックアップから生じるセキュリティ問題に関するリンクされたマンページの注意を読んでください。単一のファイルではなくパーティション全体を上書きすると、ジャーナリングファイルシステムを使用している場合でも、事実上すべてのデータが消去されます。

  • ソリッドステートディスク(SSD)のデータの消去は、複数の反復でドライブ全体(単一のパーティションだけでなく)を上書きすることによってのみ行うことができます。一部のSSDにはデータを消去する機能が組み込まれている場合がありますが、これは必ずしも効率的ではない場合があります(コメントからこのリンクを参照)。現在、使用可能なすべてのSSDのすべてのデータの残りを安全に削除するために必要な消去プロセスや消去の繰り返し回数に関する一般的な推奨事項はありません。

これらのオプションは、NautilusおよびThunarのコンテキストメニューに追加できます。

  • Thunarで、「編集」、「カスタムアクションの構成」の順に開きます

追加(プラス記号)

名前「シュレッドファイル」

好きな説明

アクション "shred -u%f"

同様にwipe

「表示条件」を選択し、「その他のファイル」を選択します


6
また、ソリッドステートドライブを使用している場合、単純なログ構造化ファイルシステムとしても機能し、データを上書きしない可能性があることに注意してください。
ジェームズヘンストリッジ

3
@shred、「1.44MBを消去するのに約20分」。640 GBを消去する一生について:)。ワイプについては、「...ワイプによって実際にデータが消去されること、またはワイプされたデータが高度な手段で復元できないことを保証できません。」言い換えれば、ワイプにはメモリの実際の/フルパワーがありません。

2
個々のファイルに対してシュレッドを使用することもできますが、最新のジャーナリングファイルシステムを使用する場合、シュレッドによって回復不能な削除が行われるという保証はありません。パーティション全体を吹き飛ばす必要があります。米国政府の標準は、ランダムデータを含む7パスです。
スコットセヴェランス

4
SSDに関する1つのコメント:ドライブ全体を上書きしても、あまり役に立ちません。つまり、フラッシュメモリからデータを確実に削除することはできません。暗号化された機密ファイルを常に保存します。(cf. Wei et al。、Reliably Erasing Data From Flash-Based Solid State Drives: usenix.org/events/fast11/tech/full_papers/Wei.pdf
-freddyb

2
@freddyb:現在、SSDからデータを安全に消去する方法が明確ではないという事実を認識しています。暗号化は常に優れています-これには従来のドライブも含まれます!ただし、問題はデータを安全に消去する方法に関するものでした(以前は暗号化されていなかった可能性があることを意味します)。
Takkat

39

既に削除されたすべてのファイルを簡単にクリーンアップするコマンドを実行することはできません。ただし、将来この種の攻撃に対する脆弱性を減らすためにできることはたくさんあります。

他の人が言ったように、shredやsrmなどのツールを使用すると、ファイルシステムから単に削除するのではなく、実際に上書きして特定のファイルを削除できます。大胆な気分であれば、rmコマンドを置き換えるshredsrm、今後ファイルを安全に削除することができます。それはあなた(または別のプログラム)が使用して何かを削除しようとするたびことを意味しrm、安全な削除コマンドが代わりに実行されます。

ただし、ソリッドステートディスクを使用している場合、またはあなたはそれが(書いていると思うところディスクが実際に書き込めません可能性があるため、さらにいくつかの新しいメカニカルディスク、細断処理およびその他の上書きベースの方法は、効果的ではないかもしれないソースを)。


フルディスク暗号化

より便利なオプションは、フルディスク暗号化です。代替インストーラーを使用する場合、Ubuntuは完全に暗号化されたディスクを自動的にセットアップできますが、設定を自分でカスタマイズおよび構成することもできます。暗号化をインストールすると、暗号化はほとんど見えなくなります。コンピューターの起動時にパスフレーズを入力すると(必ず、長いパスフレーズを選択してください)、すべてが通常のUbuntuのように見えます。

Ubuntuのディスクユーティリティを使用して、USBドライブなどの外部メディアを暗号化することもできます。暗号化された外部ディスクのセットアップは、ディスクをフォーマットするときに「基になるファイルシステムの暗号化」ボックスをチェックするのと同じくらい簡単です。パスフレーズを(暗号化された)キーリングに保存することもできます。これにより、そのディスクをコンピューターに接続するたびにフレーズを入力する必要がなくなります。

ディスク全体とすべてのリムーバブルメディアが暗号化されていれば、心配する必要はほとんどありません。泥棒や警察官は、データにアクセスするために、コンピューターの電源が入っている間(または、非常に良い場合は電源を切ってから1〜2分以内)にコンピューターをスワイプする必要があります。使用していないときにコンピューターを(サスペンドするのではなく)休止状態にすれば、かなり安全になります。

すべてのデータを完全に破棄する必要がある場合は、ディスク全体をガットマンワイプする必要はありません。暗号化されたボリュームのヘッダーを破棄するには、ディスクの最初の部分を上書きするだけです。通常のファイルシステムとは異なり、これは実際にデータを回復することを不可能にします。


では、現在のセットアップから安全に暗号化されたディスクにどのように移動しますか?暗号化されたディスクを使用するために、現在インストールされているオペレーティングシステムを改造することは非常に困難です。最も簡単な方法は、すべてのデータと設定をバックアップしてから、暗号化されたディスクで再インストールすることです。バックアップするときは、必ず暗号化された外部ドライブにデータをバックアップしてください。ただし、キーリングにパスフレーズを保存しないでください。

すべてをバックアップした後、ハードドライブを積極的に消去して、既存のデータが将来回復されないようにすることができます。SSDを使用している場合、プロセスはさらに難しくなります。そのため、プロセスにどれだけ投資したいかによっては、現在のディスクを破壊し(挑戦的な提案)、新しいディスクから始める価値があります。

OSを再インストールするときに、ディスクを積極的に消去していない場合は、新しい暗号化されたパーティションを完全にいっぱいにして、古いデータをすべて上書きしてください。バックアップを復元したら、バックアップディスクの開始部分を積極的に消去して、暗号化ヘッダーを破棄し、再び復元できないようにすることができます。


「ヘッダーを破壊するために、ディスクの最初の部分を単純に上書きする」という部分を説明できますか?誰もデータを復元できないと想定して、暗号化されたドライブが故障したときは常に破棄または返却しました。これは悪い仮定ですか?これは、64文字のランダムな16進パスワードであるため、誰もそれらを解読しません。
トム・ブロスマン

1
リンクしたスライド(pdf)は、SSDを確実に細断する唯一の方法は文字通り(物理的に)細断することであるという結論に至りました。
タイタス

19

更新:回復不能にしたいファイルをまだ削除していない場合は、受け入れられた回答を使用してください。ただし、すでにファイルを削除している場合は、これが次に知っている最良の方法です。

私があなたを正しく読んだなら、あなたはあなたの以前に削除されたすべてのファイルを消去したい。これを行う簡単な方法を次に示します。

$ dd if=/dev/zero of=/path/to/mounted/partition/tmp_file bs=1M count=999999999999

ディスク書き込みエラー[スペース不足]が発生するまで文句を言うまで実行します。その後、ファイルを削除してください!これは、空のディスクを000でいっぱいにするだけなので、以前のファイルはすべて上書きされます。今すぐファイルを削除してください。削除しないと、ディスクが残りません。あなたが本当に妄想的であるならば、あなたはこれを数回やりたいかもしれません。または、ディスクにランダムに書き込みたい場合は、に置き換えることをお勧め/dev/zero/dev/urandomます。

ただし、これにははるかに長い時間がかかるため、一晩実行します。また、進行状況メーターが必要な場合は、代わりにこれを実行します。

$ free=$( df {PARTITION OR MOUNTPOINT}  |awk '{print $3}'|tail -1 )
$ dd if=/dev/zero bs=1M count=999999999999 | pv -s "$free" > /path/to/mounted/partition/tmp_file

まず、du、awk、およびtailで空きディスクスペースを取得し、次にddを使用して/ dev / zeroを取得しpv、「pipe viewer」の略であるパイプをtmp_file 使用して、すべてをもう一度リダイレクトし、その後ファイルを削除します。 $ rm tmp_file

とにかく、誰かがこれが役に立つと思うことを願っています!:)


1
これを行うコマンドラインユーティリティはありますか?言うoverwrite_empty_space /dev/sdb1
ランドローニ14年

@landroni、私はそのようなユーティリティを知りません。ただし、これをBASHスクリプトに簡単に入れることができます。[行った場合、「/ dev / sdb1」を使用する代わりに、大きなファイルへのパスを指定することをお勧めします。マウントされているところはどこでも、それはそれがきれいにするディスクです]これは少し手間がかかるので、私はここで詳しく説明しようとはしません。検索して情報を見つけることができると確信しています。
マット14

ファイルが回復できないことを本当に確認したい場合、ディスクがいっぱいになった後にtmp_fileを細断処理しないのはなぜですか?
SPRBRN 14

13

最初に、ターミナルでrmを使用して、またはnautilusでshift-deleteを使用してファイルを削除します。さらに良いのsrmは、Secure-Deleteツールパッケージのを使用することです。

次のような安全な削除ツールをインストールできます。

apt-get install secure-delete

次に、sfillを使用して、ディスクの未使用スペースを一掃します。

sudo sfill -f <directory>

暗号化技術を使用してディスクにデータを書き込むため、これには時間がかかります。

警告:これはファイルシステム全体を通過しており、あなたはrootです。注意して使用してください!

これにより、既存のデータをすべて消去するファイルが作成されます。ファイルはに作成され<directory>ます。


4
このプログラムは時間がかかりすぎます。80 GBの場合、約18時間待機しました。さらに、進行状況を示すツールはありません。

追加するのを忘れます。ディスクに/000.0ファイルを入れるだけで18時間

2
しかし、それは安全であり、ファイルまたはディレクトリを削除できます。
-RusAlex

6
これが本当に安全かどうか疑問です。最新のファイルシステム(ext2 / 3/4、ntfsなど)には、偶発的なデータ損失を防ぐのに役立つジャーナルがあります。そのため、空き領域を消去しても、ジャーナルからファイルが削除されることは保証できません。また、一部のファイルシステムは、書き込み先の物理ディスクセクターを実際に上書きすることを保証するのが難しいほど高いレベルで動作することを理解しています。知る限り、安全に何かを消去する唯一の方法は、パーティション全体とその上のすべてのファイルを消去することです。
スコットセヴェランス

1
ジャーナリングファイルシステムであっても、空きクラスターとスラックスペースを上書きできる必要があります。スラックスペースについては、新しいファイルで使用するときにクリアすることをお勧めします。とにかく、開始時にジャーナルをフラッシュし、場合によっては通常のファイルシステム操作を一時停止する必要があります。
rsaxvc

10

このためのGUIプログラムBleachBitです(ソースにもあります)。BleachBit Sourceforgeページの最新(debファイル)バージョン。

単にファイルを削除するだけでなく、ファイル細断してリカバリを防止したり、空きディスク領域を消去して他のアプリケーションによって削除されたファイルの痕跡を隠すなどの高度な機能が含まれています。

「BleachBitはディスクスペースをすばやく解放し、プライバシーをたゆまなく保護します。無料のキャッシュ、Cookieの削除、インターネット履歴のクリア、一時ファイルの細断、ログの削除、不明なジャンクの破棄。LinuxおよびWindowsシステム向けに設計Firefox(高速化のためにバキューム処理)、Internet Explorer、Adobe Flash、Google Chrome、Opera、Safariなどを含む90のアプリケーション。(http://bleachbit.sourceforge.net/から)

BleachBitには、いくつかの高度なクリーナーがあります。

  • Linuxでメモリをクリアしてスワップする
  • Linuxで壊れたショートカットを削除する
  • ファイル全体を削除せずに、FirefoxのURL履歴を削除します-オプションで細断処理を行います
  • Thumbs.dbや.DS_Storeファイルなど、広く散らばったジャンクを見つけます。
  • Common.xcuファイル全体を削除せずにOpenOffice.orgの最近のドキュメントリストを削除する
  • 空きディスク容量を上書きして、以前のファイルを隠します
  • Firefox、Google Chrome、Liferea、Thunderbird、およびYumデータベースにバキューム:データを削除せずにファイルを圧縮してスペースを節約し、速度を向上
  • ファイル全体を削除して、.iniおよびJSON構成ファイルから個人情報を外科的に削除します

Bleachbitを使用して特定のファイルやフォルダーを安全に削除する方法の詳細については、この回答を参照してください。


7

病理学的に取りつかれた個人が阻止できない解決策が必要な場合は、次のいくつかの組み合わせ(金銭的リソースによって制限される)を検討する必要があります。

  • 消磁-ハードドライブの磁気消去
  • ハードドライブを物理的に無効にします-すなわち、工業用の穴あけ
  • 酸浴<-グーの山からビットを得ることはできません。

これらのソリューションは、コストと工夫が大幅に異なります。いくつか:


3
おもしろい答えですが、質問者は削除後もハードドライブを使い続けたいと思います。
クリストファーカイルホートン

3
意志はどこにありますか?なぜ原爆ではないのですか?

2
OPはデータを破壊したい-自分の国ではない!:P
ジョンリックス

2
15lbのハンマーは非常に効果的で、治療効果があります。
user535733

テルミットは完全な忘却の別の選択肢です(ドイツ語の記事ですが、プロセスのクールな写真が含まれています)。
デビッドフォースター

3

解決策は、ここで与えられたいくつかの答えの組み合わせだと思います。削除済みのファイルとパーティションがまだ使用中の場合、Mattに同意します。

その後、将来的には、単純な「rm」の代わりに安全な削除ツールの使用を開始することをお勧めします。

最後に、パーティションを再フォーマットできる場合、パーティションを暗号化するオプションを検討する必要があります。おそらく、Truecryptのようなもっともらしい拒否を提供する何らかのアプローチを使用している


3

SSDおよびその他のフラッシュストレージメディア用

SSDや他の多くのフラッシュストレージメディアは、「ウェアレベリング」と呼ばれる手法を使用して、以前の書き込みサイクル数に基づいてストレージセルの未使用ブロックを再割り当てし、ドライブの寿命を延ばします。結果として、ブロック範囲の上書きは、ハードディスクドライブの場合のように、ストレージコンテンツを安全に(または効率的に)消去する方法としては機能しません。一方、フラッシュストレージは、ブロック、ブロック範囲、またはドライブ全体のはるかに高速で効率的な安全な消去を可能にします。

ドライブ全体を消去します

ドライブのセキュリティ消去機能を使用する必要があります。

  1. ドライブのセキュリティが安全な消去1をサポートし、「凍結」されていないことを確認してください。そうである場合は、コンピューターを中断して再開すると役立つ場合があります。

    $ sudo hdparm -I /dev/sdX | grep frozen
           not     frozen 
    

    (フィルター処理された)コマンド出力は、このドライブが安全な消去をサポートし、「凍結されていない」ことを意味し、続行できます。

  2. ユーザーパスワードを設定しますEinsこの例では)。このパスワードもクリアされます。正確な選択は重要ではありません。

    sudo hdparm --user-master u --security-set-pass Eins /dev/sdX
    
  3. ATA Secure Eraseコマンドを発行します。

    sudo hdparm --user-master u --security-erase Eins /dev/sdX
    

トラブルシューティングを含む完全な手順については、LinuxカーネルWikiATA Secure Eraseの記事を参照してください。

ソース

手順1のコマンド出力が空の場合、ドライブは安全な消去をサポートしていませんが、以下のセクションに必要なTRIMコマンドをサポートしている可能性があります。

ドライブパーティションを消去する

図2は、しっかりとブロックデバイスを消去することができ、ドライブがサポートしている場合1blkdiscard(8)

sudo blkdiscard --secure /dev/sdXN

ここで、/dev/sdXN消去するドライブまたはパーティションを参照するブロックデバイスノードへのパスです。


1ドライブがUSBまたはFireWire接続を備えた外部ケーシング内にある場合、変換チップセットは、同封のドライブがサポートしていても、安全な消去やTRIMなどのオプション機能のサポートをブロックする場合があります。

2 Ubuntu Xenial Xerus(16.04)以降、デフォルトで利用可能およびインストール済み。


1

このような重要なデータには、truecryptファイルイメージを使用します。私は便利で、無料で、クロスプラットフォームではありません。また、フルディスクも、ファイルを「本当に削除」するために追加のソフトウェアを使用する必要もありません。

強力なパスワードを持っていることを確認し、画像ファイルのバックアップを作成してください。バックアップはクラウドに保存します。


2
警告:修正されていないセキュリティ問題が含まれている可能性があるため、TrueCryptの使用は安全ではありません。TrueCryptの開発は、MicrosoftがWindows XPのサポートを終了した5/2014で終了しました。
KrIsHnA

2
たとえば、さまざまなTrueCrypt派生物がまだ維持されています。VeraCrypt。余談ですが、MicrosoftがXPを中止することとTrueCryptの開発が停止することとの間に関連性はありませんでした。後者を取り巻く状況は、私の知る限り謎のままです。
ジョンリック

1
  1. 最初のオプションは細断処理されます。細断処理に関する以前の回答には、いくつかの必要な詳細が欠けています。パーティションで(例のようにsdc5)シュレッドを実行すると、ファイルシステムのキャッシング、スナップショット、ジャーナリングなどを克服できず、データが残ります。

    特に最新のSSDなどで細断処理を有効にするには、パーティションではなくデバイスで実行する必要があります。これは/dev/sdc、最後に番号がない場合(パーティション番号)になります。

    クリーニングするドライブがコンピュータの主要デバイスである場合、ライブUSBからこれを行う必要があります。この場合、ライブUSBを作成するときに永続性を追加して、ジョブを適切に実行するためのいくつかの追加ツールをダウンロードできるようにすることをお勧めします。

    コマンドを実行します:sudo shred -vfxz /dev/sdcまたはsda、デバイス名は何でも。名前がわからない場合は、DisksまたはGPartedを開いてデバイスを特定するかlsblk、ターミナルでコマンドを実行し、 そこでデバイスの名前を特定します。

    f =許可を強制し、x =ファイルの正確なサイズとして、文字fxコマンドを追加することが重要です。これらがないと、読み取りまたは書き込みの許可が必要なデータを見逃したり、ファイルがブロックサイズに切り上げられたときにデータを見逃したりする可能性があります。

    (必要な数)を追加することにより、書き込みパスの希望する数を追加でき-nます。例:sudo shred -vfxz -n 5 /dev/sdc

    これは、ドライブを消去する最初の呼び出しポートです。shrub、secure-delete、nwipeなどの同様のツールを実行すると役立つ場合があります。それらはすべて非常に類似したコマンドとわずかに異なる方法とパターンで同じように機能します。Linuxのmanページにアクセスするか、Googleを使用して、コマンドの使用方法をすぐに理解してください。標準の4つのシュレッドパスよりも多く必要になることはまずありませんが、重要な場合は、できる限り余分な距離を移動することをお勧めします。

  2. RAMにデータがある場合があります。secure-deleteをインストールした後、sdmemのコマンドを実行します。これにより、RAMメモリが消去されます。ただし、RAMに最初に入力したデータに加えて、長期間RAMに残ったデータには、痕跡が残っている可能性があります。

    新しいRAM(またはHD / SSD)を購入するときは、数回ドライブをいっぱいにすることをお勧めします。シュレッドを使用することもできますが、おそらくここではddの方が優れています。コマンド:

    sudo dd if=/dev/urandom of=/dev/ # (insert your device partion name)
    

    また、セキュリティを強化する場合は、機密データを使用する前にこの手順を繰り返し、RAMから機密データをできるだけ早くRAMから消去することをRAMで行うことをお勧めします。トレースを残す能力の主な原因は、この時点で残っています。

    あとは、パーティションを作成するか、次のディストリビューションをインストールするだけです。

  3. 暗号化 -多くの場合、これは信頼できる方法であると言われますが、ハードドライブを引き続き使用するか、他の人に渡す場合、これは効果的なオプションではありません。法的問題に関して、暗号化されたデバイスのロック解除に失敗することは多くの場合選択肢ではなく、多くの場所で罪悪感または実際の犯罪と推定されます。ただし、泥棒などを止めることができます(データを盗むだけです(笑))。

    また、暗号化されたホームフォルダーは非常に異なり、コンピューターで物理的に検査されることから何も保護しません。これは、基本的にオンライン/システムの安全のためであり、回避できます。

  4. デバイスを破棄する場合 -シュレッドでワイプし、*などの特殊文字を含む長いパスワードで暗号化してパスワードの文字と数字を分割した後、再度シュレッドを使用しますが、ドライブの最初の10ギガを指定するだけです(サイズに依存しますが、これは大きな安全な数値です)。例:sudo shred -vfxzs10G /dev/sdcこれは、これらの状況でドライブ全体を細断するのと同じくらい迅速で効果的です。

    確かに、ハードドライブとRAMを取り出してください。RAMは簡単にスナップおよび破壊できます。SSDも簡単です。創造性を発揮し、その偏執的なエネルギーを解き放ちます。


3
Ask Ubuntuへようこそ! :-) OPは...、ないデバイスを、ファイルをシュレッダーについて尋ねている
Fabby

1
おっと笑 karelからの編集も非常に必要でした。ありがとう
ジェイ

@Fabby-OPは、1つだけではなく、削除されたすべてのファイルをシュレッドすることについて尋ねました。この場合、デバイスの細断処理が適切です。すなわち、空きスペースを細断します。
ravery

1
暗号化が解決策ではない理由に対処するための+1
マット

0

ファイルを安全に消去するためにDDを使用できます。ファイルを削除したら、幸運にも回復できます。このサイトの例を参照してください。

ファイルを安全にワイプするためのコマンドは次のとおりです(bs=xxパラメーターの調整)

dd if=/dev/urandom of=/tmp/test/myfile.txt bs=27 count=1 conv=notrunc

どこbs=##バイト単位のファイルに書き込むためにどのくらいのランダムなデータである(、上書きされたファイルのサイズと一致して見られるようにバイト単位でファイルサイズを入力する必要がありますls -lコマンド)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.