セキュアコーディング技術。ファイルを安全に削除する
コンピュータシステム上でファイルを削除するのは厄介だ。誰もが、たとえあなたのお母さんであっても、これまでにファイルを削除しすぎて、まだゴミ箱に残っているのを見つけて、それを回復できたことを喜んだことがあるでしょう。
コンピュータシステムのデータは、一連のビットで表現されます。つまり、どのビットがどのファイルを表しているかを知るために、システムはファイルシステム内でいくつかの簿記を行う必要があるのだ。その情報とは、ファイルのサイズ、最終更新日時、所有者、アクセス権限などである。この記録データは、ファイルの内容とは別に保存される。
通常、ファイルを削除しても、ファイルを表すビットには何も起こりませんが、簿記データが変更されることで、システムはストレージのこの部分が無意味になったことを認識し、再利用できるようになります。この場所に別のファイルが保存され、この場所のビットが上書きされるまでは、保存されていたデータを復元できることが多いのです。これは、ファイルを削除する際の速度を向上させるだけでなく、削除を元に戻すための便利な機能であることが多い。
しかし、この方法には欠点があります。コンピュータシステム上のアプリケーションが機密情報を扱う場合、そのデータはファイルシステムのどこかに保存されます。ある時点で、その情報が不要になったときに、このデータが削除されることがあります。開発者が意図してすべてのデータを削除したにもかかわらず、特別な注意を払わなければ、このデータは復元できる可能性があります。
そのデータを完全に消去する最も簡単な方法は、ファイルの内容をランダムなデータで書き換えることです(場合によっては、数回繰り返して書き換えることもあります)。既存の安全なファイル削除の方法はいくつかあり、Gutmann法など、ストレージの種類やファイルシステムによって異なります。しかし、日常的に使用するアプリケーションでは、これらの方法は少し過剰であり、自分でデータを上書きすることができます。
ただし、注意が必要です。すべてのゼロやその他の低エントロピーデータを使用しないでください。多くのファイルシステムでは、このようなスパースファイルの書き込みが最適化され、元のコンテンツの一部が残ってしまうことがあります。ファイル自体を削除する前に、安全なランダムデータを生成して、ファイルの内容全体を上書きすることをお勧めします。
データの残存とは、何らかの方法で消去されたデータの物理的な表現が残っていること。記憶媒体が消去された後、データを再構築できるような物理的特性が残っている場合があります。
アプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者
Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。
デモを予約するアプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者
コンピュータシステム上でファイルを削除するのは厄介だ。誰もが、たとえあなたのお母さんであっても、これまでにファイルを削除しすぎて、まだゴミ箱に残っているのを見つけて、それを回復できたことを喜んだことがあるでしょう。
コンピュータシステムのデータは、一連のビットで表現されます。つまり、どのビットがどのファイルを表しているかを知るために、システムはファイルシステム内でいくつかの簿記を行う必要があるのだ。その情報とは、ファイルのサイズ、最終更新日時、所有者、アクセス権限などである。この記録データは、ファイルの内容とは別に保存される。
通常、ファイルを削除しても、ファイルを表すビットには何も起こりませんが、簿記データが変更されることで、システムはストレージのこの部分が無意味になったことを認識し、再利用できるようになります。この場所に別のファイルが保存され、この場所のビットが上書きされるまでは、保存されていたデータを復元できることが多いのです。これは、ファイルを削除する際の速度を向上させるだけでなく、削除を元に戻すための便利な機能であることが多い。
しかし、この方法には欠点があります。コンピュータシステム上のアプリケーションが機密情報を扱う場合、そのデータはファイルシステムのどこかに保存されます。ある時点で、その情報が不要になったときに、このデータが削除されることがあります。開発者が意図してすべてのデータを削除したにもかかわらず、特別な注意を払わなければ、このデータは復元できる可能性があります。
そのデータを完全に消去する最も簡単な方法は、ファイルの内容をランダムなデータで書き換えることです(場合によっては、数回繰り返して書き換えることもあります)。既存の安全なファイル削除の方法はいくつかあり、Gutmann法など、ストレージの種類やファイルシステムによって異なります。しかし、日常的に使用するアプリケーションでは、これらの方法は少し過剰であり、自分でデータを上書きすることができます。
ただし、注意が必要です。すべてのゼロやその他の低エントロピーデータを使用しないでください。多くのファイルシステムでは、このようなスパースファイルの書き込みが最適化され、元のコンテンツの一部が残ってしまうことがあります。ファイル自体を削除する前に、安全なランダムデータを生成して、ファイルの内容全体を上書きすることをお勧めします。
データの残存とは、何らかの方法で消去されたデータの物理的な表現が残っていること。記憶媒体が消去された後、データを再構築できるような物理的特性が残っている場合があります。
コンピュータシステム上でファイルを削除するのは厄介だ。誰もが、たとえあなたのお母さんであっても、これまでにファイルを削除しすぎて、まだゴミ箱に残っているのを見つけて、それを回復できたことを喜んだことがあるでしょう。
コンピュータシステムのデータは、一連のビットで表現されます。つまり、どのビットがどのファイルを表しているかを知るために、システムはファイルシステム内でいくつかの簿記を行う必要があるのだ。その情報とは、ファイルのサイズ、最終更新日時、所有者、アクセス権限などである。この記録データは、ファイルの内容とは別に保存される。
通常、ファイルを削除しても、ファイルを表すビットには何も起こりませんが、簿記データが変更されることで、システムはストレージのこの部分が無意味になったことを認識し、再利用できるようになります。この場所に別のファイルが保存され、この場所のビットが上書きされるまでは、保存されていたデータを復元できることが多いのです。これは、ファイルを削除する際の速度を向上させるだけでなく、削除を元に戻すための便利な機能であることが多い。
しかし、この方法には欠点があります。コンピュータシステム上のアプリケーションが機密情報を扱う場合、そのデータはファイルシステムのどこかに保存されます。ある時点で、その情報が不要になったときに、このデータが削除されることがあります。開発者が意図してすべてのデータを削除したにもかかわらず、特別な注意を払わなければ、このデータは復元できる可能性があります。
そのデータを完全に消去する最も簡単な方法は、ファイルの内容をランダムなデータで書き換えることです(場合によっては、数回繰り返して書き換えることもあります)。既存の安全なファイル削除の方法はいくつかあり、Gutmann法など、ストレージの種類やファイルシステムによって異なります。しかし、日常的に使用するアプリケーションでは、これらの方法は少し過剰であり、自分でデータを上書きすることができます。
ただし、注意が必要です。すべてのゼロやその他の低エントロピーデータを使用しないでください。多くのファイルシステムでは、このようなスパースファイルの書き込みが最適化され、元のコンテンツの一部が残ってしまうことがあります。ファイル自体を削除する前に、安全なランダムデータを生成して、ファイルの内容全体を上書きすることをお勧めします。
データの残存とは、何らかの方法で消去されたデータの物理的な表現が残っていること。記憶媒体が消去された後、データを再構築できるような物理的特性が残っている場合があります。
コンピュータシステム上でファイルを削除するのは厄介だ。誰もが、たとえあなたのお母さんであっても、これまでにファイルを削除しすぎて、まだゴミ箱に残っているのを見つけて、それを回復できたことを喜んだことがあるでしょう。
コンピュータシステムのデータは、一連のビットで表現されます。つまり、どのビットがどのファイルを表しているかを知るために、システムはファイルシステム内でいくつかの簿記を行う必要があるのだ。その情報とは、ファイルのサイズ、最終更新日時、所有者、アクセス権限などである。この記録データは、ファイルの内容とは別に保存される。
通常、ファイルを削除しても、ファイルを表すビットには何も起こりませんが、簿記データが変更されることで、システムはストレージのこの部分が無意味になったことを認識し、再利用できるようになります。この場所に別のファイルが保存され、この場所のビットが上書きされるまでは、保存されていたデータを復元できることが多いのです。これは、ファイルを削除する際の速度を向上させるだけでなく、削除を元に戻すための便利な機能であることが多い。
しかし、この方法には欠点があります。コンピュータシステム上のアプリケーションが機密情報を扱う場合、そのデータはファイルシステムのどこかに保存されます。ある時点で、その情報が不要になったときに、このデータが削除されることがあります。開発者が意図してすべてのデータを削除したにもかかわらず、特別な注意を払わなければ、このデータは復元できる可能性があります。
そのデータを完全に消去する最も簡単な方法は、ファイルの内容をランダムなデータで書き換えることです(場合によっては、数回繰り返して書き換えることもあります)。既存の安全なファイル削除の方法はいくつかあり、Gutmann法など、ストレージの種類やファイルシステムによって異なります。しかし、日常的に使用するアプリケーションでは、これらの方法は少し過剰であり、自分でデータを上書きすることができます。
ただし、注意が必要です。すべてのゼロやその他の低エントロピーデータを使用しないでください。多くのファイルシステムでは、このようなスパースファイルの書き込みが最適化され、元のコンテンツの一部が残ってしまうことがあります。ファイル自体を削除する前に、安全なランダムデータを生成して、ファイルの内容全体を上書きすることをお勧めします。
データの残存とは、何らかの方法で消去されたデータの物理的な表現が残っていること。記憶媒体が消去された後、データを再構築できるような物理的特性が残っている場合があります。