web-dev-qa-db-ja.com

OSがファイルを最初から安全に削除しなかったのはなぜですか?そしてなぜ彼らはまだこれをしないのですか?

何十年もの間「削除」によってデータを回復することが実際には不可能にならないと聞いた後、ずっと前にOSが修正されていないのはなぜですか?大したことは何ですか?システムは、バックグラウンドでの上書きと他の何が起こっても何が起こっているのかを理解できませんか?いつも起こっていると思っていた処理を行うために、追加のユーティリティが必要なのはなぜですか?この問題を修正しないOS開発者の動機は何ですか?

ADDITION:これは技術的な質問ではありません。明らかにIS物を安全に削除することが可能であるか、そうでなければそれを実行するためのツールがないためです。それはポリシーの質問:一部の人々がそれが重要でOSの一部である必要があると感じた場合、なぜそれがOSの一部ではないのですか?長年にわたって多くのものがOSに追加されており、これは確かにそれらの1つになる可能性があります。 IS重要な問題です。さもなければ、約30年間それに関する記事や物語はありませんでした。慣性とは何ですか?正しいことをしてください。

88
user82913

別の「あなたは間違っている」の代わりに、私は少し異なるアプローチをとりたいと思います。

初期のコンピューターOSは、プログラマーのためにプログラマーによって作成されました。ポインターをプログラミングして知っている人なら誰でも、ポインターを「削除」しても、ポインターが指しているものは削除されないことを理解できます。それらは別々です。

削除が実際に削除されないという意味ではありません。そのポインタはなくなっています。 「削除」(メモリの解放、名前の再バインド)した後で使用しようとすると、問題が発生する可能性があります。

しかし、歴史は前進し、今や(自分自身のように)削除の異なる概念を持っているエンドユーザーが姿を現しています。彼ら(そしてあなた)は不合理である(このスレッドで他に述べられていることは何でも)期待を抱いています。

しかし、削除はあなたがそれを考えるべきことを(コンピュータにとって)意味することは決してありません:技術的(他の答えでかなり詳しく説明されています)と社会的(45年の慣性)の両方に理由があります。

現代の(そして私は* nixを含む)OSは多くのことを抽象化します:コンピューターを所有する/操作するためにコンピューターの専門家である必要はなくなりました。車を運転する。あなたが支払う代償は、それらの抽象化が leaky であるということです:決して完全にブリッジすることができない根本的な切断があります。コンピュータの「ドキュメント」は実際にはドキュメントではなく、「デスクトップ」はデスクトップではなく、「ウィンドウ」はウィンドウではありません。

108
Jared Smith

以下の理由により:

  • パフォーマンス-ファイルを破壊するリソースを消費します。数百または数千のファイルを使用するアプリケーションを想像してみてください。それぞれを安全に削除するのは大変な作業です。
  • ドライブの余分な磨耗。
  • ファイルを取得する機能は、OSの機能である場合があります(ごみ箱、ごみ箱、ボリュームシャドウコピーなど)。
  • Xanderが指摘したように、物理ストレージメカニズムはOSから抽象化される場合があります(SSDやネットワークドライブなど)。
248
SilverlightFox

故障ではないため、修正する必要はありません。

ファイルへのポインタが削除され、ファイルが占有していた領域が空き領域としてマークされます。その後、ドライブはこの領域を自分の時間に上書きします。ドライブの摩耗を防ぐためだけにあります。結局のところ、ストレージデバイス(特にSSD)は、障害が発生する前に書き込むことができる回数に制限があります。ほとんどのユーザーは、6か月後にドライブが故障することを認めません。

安全なソリューションは、ハードドライブの空き領域を安全にワイプするために利用可能なツールで存在します。

96
Virtual Anomaly

あなたはdelete用語の表現の問題と、機能が何をすべきかについての誤った期待を持っているようです。

Merriam-Webster Webサイトで簡単な定義を確認できます。

削除:文書、記録、コンピュータから(単語、画像、コンピュータファイルなど)を削除する等.

削除機能の目的は、選択したオブジェクトを現在の場所から削除することです。それらは、偶発的な損失を防ぐために別の一時的な場所(ゴミ箱)に移動できます。または、占有していたスペースに直接空き領域としてマークを付けることができます。

これを例えばeraseの定義と比較してください:

erase:テープ(ビデオテープやオーディオテープなど)またはコンピューターから(記録されたもの)を削除するディスク;また:(テープまたはディスク)から記録された素材を削除する

:見えないように、こすったり削ったりして(書かれた何か)を削除する

:(サーフェス)から書き込まれたものを削除する

これは実際には下位レベルに移動します。ここでは、フォルダーからファイルを削除するだけでなく、ファイルのデータをディスクから削除しますが、この微妙な違いはすべて異なります。

Eraseは、Windowsの世界で最も遭遇する可能性があるWordです。Unixの世界では、代わりにwipeが発生します。より技術的な視点:

ワイプ:タオルや手などを使用して、(何か)を掃除または乾燥します。

:擦って(何か)を削除する

:サーフェス上で(何かを)移動する

OSがデフォルトでこれを行わないのはなぜですか?いくつかの理由で:

  • 一般的なホームユーザーはそのような機能を必要としません。必要なのは、単にフォルダーからファイルを削除すること、または外部ドライブの場合は完全にクリーンアップされることを確認することです(素人用語では「遅い」形式)。特定の1つのファイルを消去する必要はほとんどありません。

  • 一般的なホームユーザーは実際にはそのような機能を欲しません。デフォルトでは、ファイルが消去されないだけでなく、実際に削除されることもありません。ホームユーザーは、誤った操作が行われた場合にOSがファイルを保存できることを期待しているため、ゴミ箱に移動されます。ごみ箱を経由せずにファイルを削除するには、特定のキーの組み合わせ(Shift + Delオプション)を使用する必要があることがよくあります。

  • 最後に、そのようなオプションは実装が容易ではないか、可能ではないかもしれません。技術の進化により、実際のデータの周囲にいくつかの論理層と物理層が追加されました。

    • 一部のOSは、ファイルシステムコンテンツの定期的なスナップショットを作成します。そのような場合、ファイルはこれらのスナップショットの1つまたはいくつかに含まれている可能性があります。スナップショットの整合性を危険にさらすことなく、このような状況で適切なファイル消去を確実にすることは複雑になる可能性があります。

    • 他の回答やコメントで述べたように、ストレージデバイスの寿命を延ばすために、実際のストレージとそれがOSでどのように認識されるかの間には抽象レベルがあります。このような場合、OSはファイルシステムレベルでファイルのデータが確実に削除されるように最善を尽くしますが、ストレージレベルでデータが効果的に消去されたことを確認する方法はありません。

一方では、ファイルに関して(単純化するために)理由がありますが、実際にはバイトストレージについては気にしないOSがあります。他方では、バイトに関しては理由がありますが、ファイルについて何も知らないストレージデバイスのファームウェアがあります。そして、ファイルシステムが実際に設定される方法。

では、これはすべてが失われ、ファイルシステムをストレージデバイスのファームウェアにネイティブに実装するためにありそうもない未来を待つ必要があることを意味しますか?いいえ。ただし、何をすべきかは、実際の懸念事項によって異なります。

  • ファイルシステムレベルのデータに関する懸念がある場合は、サードパーティソフトウェアを利用できます。これにより、コンテキストメニューに新しい消去/ワイプオプションが追加されます。このファイルのコピーがファイルシステムのスナップショットとバックアップに存在しないことを手動で確認する必要があります。これには、ケースごとの決定が必要であるため、OSがそれを実行できないためです(OSの消しゴムウィザードは不要です)。あなたのバックアップを台無しにするために、またはあなたを助けるために、あなたはしますか?).

  • ストレージデバイスに物理的に保存されているデータについて懸念がある場合は、ファイルシステムの暗号化を使用してください。これにより、ウェアレベリングと不良ブロック処理が原因で発生する可能性のある「漏洩」データが、ストレージデバイスを手にしたユーザーに悪用されないようになります。

75
WhiteWinterWolf

パフォーマンス上の理由から。インデックスからファイルを削除し、ファイルがあったゾーンが解放され、再利用できることを宣言すると、そのゾーンのすべてのデータを消去するよりもはるかに効率的です。

11
Benoit Esnard

「削除」が何を意味するかについてのあなたの定義に誰もが同意するわけではありません。

ユーザーの99.9%は、誰かがデータを取得するのを盗聴することを心配していません。彼らは、より急流のテレタビーズエピソードを保存するためのスペースを求めています。ほとんどの人にとって、ファイル用のスペースを予約しなくなっただけで十分です。

次に、あなたが所属している個人のグループがいて、ファイルを消去して回復できないようにしたいと考えています。ただし、ハードドライブの別の場所にある可能性があるファイルのキャッシュされたコピーを適切に検討しましたか?実際に何かを完全に削除することは難しい場合があります。このような機能が必要な人にとって、セキュリティの質問はすでにバランスが取れているかもしれませんが、99.9%はそうだと思いますか?

最後に、自分の秘密を消去することを本当に気にしている人を考えてください。政府の標準的なプロセスは、ハードドライブをグラインダーに投入することです。どうして?ファイルを消去すると、ディスクの磁気特性の一部がデータにアクセスできることを知っていますか?通常のハードドライブヘッドからはアクセスできませんが、プラッターを取り出して高価な磁気リーダーに入れると、実際にデータを取り出すことができます。

政府がハードドライブを再利用したい場合、標準的なプロセスは7倍のワイプで、ディスクのすべてのセクターに7回書き込みます。彼らは通常、グラインダーを使用します。これは、このプロセスが非常に機械的に集中するため、ほとんどのディスクが遭遇を乗り越えられないためです。

「削除」とはどういう意味ですか?

編集:私はいくつかの点を描いて、他の人に線を引かせようとしましたが、私も線を引くのに役立つかもしれません。セキュリティは常に妥協を伴います。妥協のレベルを適切に選択できるほど十分にセキュリティを理解している人はほとんどいません。できる人は、人を3つのカテゴリに分類できます。セキュリティへの関心が低く、使いやすさを犠牲にしてセキュリティよりもセキュリティを強化することを嫌う人々のカテゴリが1つあります。あなたよりもセキュリティに関心があり、製品のセキュリティの欠如に不満を抱く人のカテゴリが1つあります。最後に、そのバランスに満足しているカテゴリが1つあります。

誰もが「十分に安全」とは何かについて独自の定義を持っている場合、安全な削除ファイルを最初から「正しく」取得することは、思ったより難しいです。

7
Cort Ammon

現実のゴミ収集業者がトラックに捨てる前にすべてを細断しないのと同じ理由で。

オブジェクトまたは情報を削除する主な理由は2つあります。

  1. 彼らは、他の誰か(またはおそらく特定の人物)による使用を防止したいと考えています。

  2. 彼らは、アイテムがそれらを維持するか、またはそれらが有用であるかもしれない誰かを見つけることの費用を正当化するためにアイテムがだれにとっても十分な価値を持つとは考えていません。

最初の理由で物を取り除く人は、それらを使用不可にするためにそれらを破壊する必要がありますが、2番目の理由で物を取り除く人は、問題のアイテムに関連する残りの総費用を最小限に抑えることが望ましいです。コンピュータは多くの情報を生成しますが、比較的短時間で役に立たなくなるため、また、ほとんどのコンピュータにとって、多くの情報はリリースされても誰にも損害を与えそうにないため、多くの場合、ほとんどメリットがありません。意図的に情報を破壊する。情報が占有していたスペースは、必要になったときに再利用できることを確認するだけで十分です。

6
supercat

実際には、2つのdifferentプロシージャ、つまり削除と安全なワイプをめちゃくちゃにしています。最初の操作は標準 FSに依存する操作であり、決定された標準化の操作です。 2番目の-安全なワイピング-には、多くのアプローチ、消去防止グレード、規格などがあります。そのため、1つ目の2番目のカテゴリが必要な場合は、 '独自の固有の状況で適切なメカニズムを選択してアクティブにする責任があります。安全なワイピングのためのすべてのケース/タスク/環境の実装に共通で標準化されたものはありません。

4
Alexey Vesnin
OSがファイルを最初から安全に削除しなかったのはなぜですか?

削除の最初からですか、それともオペレーティングシステムの最初からですか?初期のオペレーティングシステムは、フロッピードライブやパンチカードではなく、ハードドライブにデータを保存するような技術の進歩に焦点を当てようとしていました。オペレーティングシステムがフロッピードライブからデータを取得することを不可能にするために特別なことをする必要はありませんでした。 (申し訳ありませんが、フロッピードライブの信頼性を少し楽しんでいるだけです。)当時、 "保存"機能は大きな問題でした。 「削除」できるなど、ファイルのメンテナンスを行うことは、埋没してほとんど使用されないメニューオプションである可能性があります。 「安全に削除」することは、ディスクを捨てるか、最初にディスクを焼くだけの人にとっては無意味に思えます。今日に比べて速度がはるかに遅いノイズの多いフロッピードライブを使用して、1分をゼロで上書きできるように、30分以上待つのはなぜですか。 「ダブルクリック」が何であるか誰も理解していなかった日、彼らはマウスすら持っていなかったのでシングルクリックすらしなかったので、「コピーアンドペースト」は非常に高度な技術であると考え、人々を獲得しました目的を理解することさえ非常に困難でした。

その後、ハードライブが発生したとき、オペレーティングシステムは単純なことを行いました。これは、フロッピードライブで信頼できることが証明されているのと同じコンピューターコードを使用することです。

そして、それはIS重要な問題です。そうでなければ、約30年間、それに関する記事や物語はありませんでした。

実際、これは、人々が興味深いと思うかもしれないものを書くというジャーナリズムの目標をより反映したものかもしれませんし、教育的な努力の結果かもしれません。多くの人々は、削除がかなり永続的でないことを単に理解していません、そして人々が物事を理解することは良いことなので、教育は前向きなことです。これは、softareのデフォルトの動作を変更する必要があるという意味ではありません。

それが重要であり、OSの一部である必要があると感じる人がいる場合、なぜそれがOSの一部ではないのですか?

一部の人はそれが重要ではないと感じているからです。ワイプは一部の人(どうしても無料で、削除する代わりに削除するのが好きな人)にとって非常に便利な場合がありますが、優先順位は人によって異なります。 1つには、使用済みのディスク領域の代わりに使用可能なディスク領域を確保するためにデータを削除し、すべてのファイルに影響するアクション(ハードドライブ上のすべての使用済みのディスク領域をコピーするなど)を高速化します。古いファイルのファイル名を確認し、新しいファイルが必要なときに古いファイルを誤って開かないようにします。削除は、ソフトウェアから不要なデータ(古いデータなど)を隠して、ソフトウェアが不要なデータを使用しないようにする効果的な方法です。より確実にデータのバックアップを開始する前に、データを「復元」できる回復ソフトウェアを時々使用できることを高く評価しました。他の人が述べたように、ワイピングは追加の速度低下と追加の「摩耗」を引き起こす可能性があります。私のコンピューターは、私が秘密にしたいと思っていた何かを学ぶために私の削除されたデータを掘り下げるかもしれないと心配している人々の前にいないので、ワイピングは私にとって大きな優先事項ではありませんでした。これらすべてを念頭に置いて、「正しいことをやるだけ」という最後のステートメントへの回答として、ワイピングよりもはるかに頻繁に削除が私の使用シナリオの「正しいこと」だったと思います。多くの質問に答える最大の単純な理由は、ほとんどのシナリオでどの動作が「正しいこと」であるかを特定することは、あなたがそれに貢献しているほど簡単ではないかもしれないということです。

2
TOOGAM

そしてなぜ彼らはまだこれをしないのですか?

他の回答では、過去に実行されなかった理由(パフォーマンス、ユーザーの期待など)が回答されているので、今はまだ実行されていない理由についてメモを追加します。 1つの問題は、安全な削除が部分的なセキュリティソリューションと見なされていることです。ファイルの1つのコピーが削除されますが、最新のアプリケーションのほとんどは、履歴(元に戻す)バッファー、バックアップコピーなど、かなりの痕跡を残します。集まった。削除される前にアクセスされるファイルの問題もあります(たとえば、ドライブからそのファイルを安全に削除しようとしていましたが、チャンスが来る前に誰かがドライブを盗んだ)。これらの理由により、最近のオペレーティングシステムでは、代わりにユーザーストレージの完全な暗号化が実装されているため、安全な削除は不要です。暗号化されたユーザーデータを使用すると、ドライブが「削除された」ファイルのイメージを保持していても、そのファイル(および他のすべてのファイル)のすべてのトレースは、復号化キーを持たない攻撃者に隠されます。 Chrome OS、Android、iOSはすべてデフォルトでユーザーデータを暗号化するようになりました。そのため、少なくともこれらのシステムでは、個々のファイルを安全に削除する必要はほとんどありません。

2
bain

他の回答も適切で、技術的なレベルで完全に問題をカバーしています。しかし、(IMHO)この質問は実際には技術的なものではない(なぜ何かが違った方法で行われなかったのかが、技術的なものよりもビジネス上の決定である理由を尋ねる)ので、問題の別の見方をする別の回答が促されると思います。

OSが実際にデータを削除しない理由を質問します。 OSのメーカーは、好きなように動作させることができます。データを削除できるOSを構築できない理由はありません。しかし、なぜ彼らはそうするのでしょうか?問題をひっくり返してみてください。あなたのためにそれを行うユーティリティを簡単にダウンロードできるのに、なぜ誰かがデータを削除するOSを構築するのでしょうか。また、OSはミニマリストであり、コンピュータの操作に必要な機能のみを含む必要があるというのが通常の考え方です。

私は自分の答えを厳しくするつもりはありません。私が言っているのは、質問は間違った視点から尋ねられたようであり、予備的な知識が欠けていることです。

1
Celeritas