高齢者が使用していた、おそらくマルウェアに感染していた古いコンピューターから、外付けハードドライブに大量の写真をコピーしました。写真を別のハードドライブに保存しました。現在、外付けハードドライブは完全に空ですが、心配なので、ドライブにマルウェアや悪意のあるコードが残っていないことを確認したいと思っています。
そこで、ファイルシステムやパーティションテーブルを破壊せずに、ディスクをゼロで埋めたいと思います。ある意味、購入したばかりのディスクを取り戻したいのです。
それを実行することは可能ですか? また、それを実行するための Linux コマンドはありますか?
私のハードドライブは、msdos(mbr) パーティション テーブルを使用して NTFS でフォーマットされています。
答え1
簡単な答え:
mount /dev/your/disk /some/free/mountpoint
dd if=/dev/zero of=/some/free/mountpoint/zero bs=512
sync # See edit below
rm /some/free/mountpoint/zero
umount /some/free/mountpoint
これはまさにあなたが要求した通りのことを行います。つまり、ファイル システム内のファイルに使用可能なすべてのスペースをゼロで上書きします。
より複雑な答え:
- MBRを破壊しなければ、MBRウイルスに感染していないかどうかはわかりません。
- 空のファイルシステムには価値がない
したがって、デバイスを消去(つまり、MBRとファイルシステムを含むデバイスをゼロにする)してから、パーティションテーブルを再作成してmkfs.ntfs -f -L LABEL -I
編集
@Nyos がコメントで指摘したように、NTFS ドライバーが同期してマウントしない場合 (デフォルトはわかりません)、sync
の前にを追加することをお勧めしますrm
。現在のバージョン (2020-05-02 に完全にパッチを適用した Ubuntu 18.04 時点) では、遅延ブロック割り当ては行われないため、sync
割り当てられたすべてのブロックが に書き出されるため、 は厳密には必要ありませんumount
が、将来についてはわかりませんし、ソース コード全体を読んだこともありません。
同様に、NTFS ドライバーがスパース ファイルのサポートを取得したら、(ほぼ) 無限の書き込みを回避するために/dev/urandom
、 の代わりにを使用する必要があるかもしれません。/dev/zero
答え2
これはあなたの質問にはまったく答えていませんが...それでも:
まず、ディスクをゼロにするのは本当に悪い考えです。これは「従来の」ディスクに当てはまりますが、ソリッド ステート ディスクの場合はなおさらです。ディスクをゼロにするのは簡単です (ファイルを作成してそれを埋めるだけです。Eugen Rieck が正確な方法を説明しています) が、時間がかかり、ディスクが消耗します。書き込みサイクルは、どの種類のハード ディスクでも無限ではありません。
また、上書きが実際に意図どおりに機能するという保証さえないことにも注意してください。目的の場合、違いは目立ちませんが、他の目的 (機密データの安全な消去など) の場合、このアプローチはまったく信頼できません。これは、ウェア レベリングと再割り当てにより、何かを上書きすると何が起こるかを知る方法がまったくないためです。ドライブは、誰にも (オペレーティング システムを含む!) 知られることなく、変更どころか伝える方法さえなく、多くのことを行います。たとえば、コントローラが再試行回数や CRC などに満足しなかったためにセクターが再割り当てされた場合、今後は何をしてもかまいませんが、そのセクターにはもうアクセスできなくなります。二度とアクセスできません。それでも、データ、またはデータの残り (知ることはできません) はそこに残り、潜在的な窃盗犯がそれを読み取る可能性があります。
第二に、完全なパラノイアモードで操作している場合、特にディスクが「空」のときは、ファイルシステム(およびMBR)を保持するのは非常に悪い考えです。ファイルシステムのUUID以外は、新しいファイルシステム(おそらくできる状況によっては少々面倒ですが、これも簡単に修正できます。ただし、予期しない場所 (たとえば MBR) には何も残っていないという確信は得られます。
3 番目に、実際にはまったく空ではない「空の」ファイルシステムをゼロにして再利用するのは、良い考えではありません。新しい FS (古い変更ジャーナル エントリ、非表示のアイテム、忘れられたストリーム、属性、断片化された MFT などなし) を最初から作成する代わりに、パフォーマンスの面で良くありません。すべてを最初から再作成すると、はるかに安全になるだけでなく、はるかに高速になり、今後は全体的なパフォーマンスが向上する可能性があります。
要約
ほとんどのデバイスには、専用のセキュア消去または「ファクトリー リセット」オプション (同じ) があり、付属の管理ツールまたは標準 ATA コマンド経由のその他のツールでサポートされています。ドライブは、最も効率的で破壊性の低い方法を使用します (一部のドライブは、実際に機能をサポートしていないため、ディスク全体を上書きしますが、ほとんどのドライブは、ディスク サイズに関係なくほぼ瞬時に機能する暗号化またはビット スクランブル キーをダンプするだけです)。
hdparm
ほぼすべての Linux ディストリビューションですぐに使用できるこのツールには、--security-erase
まさにその目的のためのオプションが用意されています。
これによりディスクが提供されます「まるで買ったばかりのように」しばらく使用されていた場合を除きます。これは、(技術的に可能な範囲で) 最も高速で、ディスクをあまり消費しない方法で実行されます。その後、パーティション分割してファイルシステムを作成すれば完了です。