web-dev-qa-db-ja.com

フラッシュドライブを一度だけ拭くだけで十分ですか?

従来のハードドライブをワイプするための「diskscrb」コマンドのドキュメントによると: http://www.forensics-intl.com/diskscrb.html

「国防総省5220.22-Mに規定されている政府基準に準拠し、それを超えています。周囲のデータ領域を9回上書きできます(各パスには、3つの個別の書き込みとそれに続く検証パスが含まれます。)これにより、シャドウデータの回復の可能性を排除できます。 」

HDDを上記の9回以上消去しても問題ありませんが、SSD、USBフラッシュドライブはどうでしょうか。それらからデータを9回ワイプする必要がありますか、それとも1回だけ必要ですか?

以下は、メモリカード、USBフラッシュドライブなどから定期的にデータを削除するために使用するものです。[夜に開始し、朝に停止します。例:USBフラッシュドライブを10回上書きします]:

loopcountdd=0;   
while [ 1 = 1 ]; 
do (( loopcountdd= $loopcountdd + 1 )); 
dd if=/dev/urandom bs=4096 | pv | dd bs=4096 of=/dev/XXX; 
echo "overwritten: $loopcountdd x"; 
done

この質問は今週のITセキュリティ質問でした。
詳細については、2011年8月3日ブログエントリをお読みください。または自分で送信今週の質問。

68
LanceBaynes

それをやめるのが一番です。最後の手段を除いて、SSD /フラッシュストレージデバイスを消去するために完全に上書きしないでください。

NVRAMで使用できる書き込みサイクルには制限があります。ある時点で、NVRAMセルへの十分な書き込みの後、完全に機能しなくなります。最新バージョンの場合、私たちは 推定寿命3,000書き込みサイクル の球場にいます。

さらに、内部SSDは従来のハードディスクのようには見えません。 SSDには、次の固有のプロパティがあります。

  • 多くの場合、フラッシュ全体の8%から20%程度の予備領域が確保されます ウェアレベリングの目的で 。エンドユーザーは通常のツールでこのスペア領域に書き込むことができません。SSDコントローラー用に予約されています。ただし、スペア領域には古い(少量の)ユーザーデータを保持できます。

  • 「Flash Translation Layer」、FTL。オペレーティングシステムがSSD(LBAアドレス)をどのように「認識する」か、および実際のNVRAMアドレス空間レイアウトにはまったく相関関係がありません。

  • コンシューマーグレードのSSDへの書き込みが非常に多いと、コントローラーのガベージコレクションアルゴリズムが遅れ、 コントローラーのパフォーマンスが低下した状態 になる場合があります。次に何が起こるかは、コントローラーによって異なります。極端な最悪のシナリオでは、パフォーマンスを回復できません。より可能性の高いシナリオでは、 オペレーティングシステムが「トリム」コマンドを送信する として、パフォーマンスが徐々に回復します。

最後に、ペーパー「フラッシュベースのソリッドステートドライブからのデータの確実な消去」の結論 "ディスク全体をサニタイズするために、[...]ソフトウェアテクニックは、すべての時間ではなく、ほとんどの時間で機能します。"

したがって、フラッシュストレージを完全に上書きしている場合、効果的なセキュアワイプを実行している可能性がありますが、一部のビットが欠落している可能性もあります。そして、あなたは確かにドライブの予想寿命をかなり消費しています。 これは良い解決策ではありません。

それで、私たちは何をすべきですか?

  • 「最新の」最新ドライブは、ベンダー固有の安全な消去機能をサポートしています。この例は、Intelの新しい320シリーズ、一部のSandforce 22xxベースのドライブ、および「フルディスク暗号化」または「自己暗号化ドライブ」を搭載していると宣伝されている多くのSSDです。この方法は、一般的に次のようなものです。

    1. SSDコントローラには、たとえばAES 128を使用するなど、完全なハードウェア暗号化エンジンが含まれています。
    2. 最初の初期化時に、コントローラはランダムなAESキーを生成し、これをNVRAMのプライベートな場所に保存します。
    3. ドライブに書き込まれるすべてのデータeverは、上記のAESキーで暗号化されます。
    4. エンドユーザーが安全なワイプを実行すると、ドライブはAESキーを破棄し、新しいキーを生成して、NVRAMの古いAESキーの位置を上書きします。古いAESキーを回復できない場合、これは古いデータを実質的に回復不能にします。
  • 一部のドライブには上記のものはありませんが、 ATA Secure Erase コマンドをサポートしています。これは、それがよりトリッキーになった場合です-基本的に、ドライブの製造元に「強力な」安全な消去の実装を任せています。しかし、それはブラックボックスであり、彼らが実際に何をしているのかはわかりません。高度なセキュリティが必要な場合は、これに依存しないでください。少なくとも、技術ドキュメントを読んだり、ドライブの製造元に連絡して、メソッドの安全性を確認したりする必要があります。彼らがやっていること/やるべきことについての公正な推測は次のとおりです:

    1. ドライブはAESなどの完全な暗号を使用していませんが、広範なデータ圧縮アルゴリズムとチェックサム、およびNVRAMの複数のバンクにわたるRAIDのようなデータのストライピングを使用しています。 (すべての最新の高性能SSDは、これらの技術のバリアントを使用しています。)これにより、ドライブ上のユーザーデータが難読化されます。
    2. ATA Secure Eraseコマンドを受信すると、ドライブはその「フラッシュ変換層」テーブルおよびその他の内部データ構造を消去し、すべてのNVRAMを解放済みとしてマークします。

私の個人的な推奨事項:

  1. SSDの安全でないワイプが必要な場合は、製造元のエンドユーザーツールを使用するか、LinuxのHDPARMなどを介してATA Secure Eraseコマンドを使用します。

  2. 安全なワイプが必要な場合:

    • 強力な(AES)暗号化による安全なワイプを明示的にアドバタイズし、製造元の安全なワイプを実行するドライブのみを使用してください。 および/または:
    • ドライブにアクセスする前に、ドライブに書き込むすべてのデータが暗号化されていることを確認してください。通常、PGP Whole Disk Encryption、Truecrypt、Microsoft BitLocker、Bitlocker-to-Go、OSX 10.7 FileVault、LUKSなどのソフトウェアフルディスク暗号化を使用します。 または:
    • ドライブを物理的に破壊します。
84
Jesper M

SSDとフラッシュドライブは興味深い問題です... @Bellがこの質問に対する 応答として指摘したように

はい。細断処理の効果は、ブロック番号と不揮発性ストレージの一部との間の固定または物理マッピングに依存します。これは、メディアの回転には機能しますが、パフォーマンスとライフサイクルの理由でブロックを仮想化するSSDには機能しません。そのため、シュレッディングモデルはSSD(および多くのSAN)には効果がありません。さらに興味深いのは、SSDの空き領域にデータが保持されることはまったく予測できないことです。また、ドライブの空き領域の準備プロセスによるスクラブ操作がない場合、完全に消去される可能性があります

一部の優れたSSDおよびフラッシュドライブは、安全な削除を実行するためのセキュリティ機能を提供します(通常、ライフサイクル/パフォーマンスアドレス指定メカニズムをバイパスすることにより)。これは、削除する必要がある機密データがある場合に推奨されますが、デバイスの寿命。

通常の上書きは信頼できません。

7
Rory Alsop

まず、現在のすべての磁気ハードドライブに対して、1回の上書きで十分です。ドライブから情報を復元するのは、人々が主張するほど簡単ではありませんでした。

第二に、フラッシュドライブを単に上書きするだけでは消去できません。実際にすべてのデータを上書きするずっと前に、それらを上書きして使い果たします。確実に確認できる唯一の方法は、最初にフラッシュドライブのデータを暗号化して、フラグメントが削除されずに残っていることを気にしないことです。

6