ブログ

セキュアコーディング技術。ファイルを安全に削除する

ピーテル・デ・クレマー
2017年9月10日発行

コンピュータシステム上でファイルを削除するのは厄介だ。誰もが、たとえあなたのお母さんであっても、これまでにファイルを削除しすぎて、まだゴミ箱に残っているのを見つけて、それを回復できたことを喜んだことがあるでしょう。

コンピュータシステムのデータは、一連のビットで表現されます。つまり、どのビットがどのファイルを表しているかを知るために、システムはファイルシステム内でいくつかの簿記を行う必要があるのだ。その情報とは、ファイルのサイズ、最終更新日時、所有者、アクセス権限などである。この記録データは、ファイルの内容とは別に保存される。

通常、ファイルを削除しても、ファイルを表すビットには何も起こりませんが、簿記データが変更されることで、システムはストレージのこの部分が無意味になったことを認識し、再利用できるようになります。この場所に別のファイルが保存され、この場所のビットが上書きされるまでは、保存されていたデータを復元できることが多いのです。これは、ファイルを削除する際の速度を向上させるだけでなく、削除を元に戻すための便利な機能であることが多い。

しかし、この方法には欠点があります。コンピュータシステム上のアプリケーションが機密情報を扱う場合、そのデータはファイルシステムのどこかに保存されます。ある時点で、その情報が不要になったときに、このデータが削除されることがあります。開発者が意図してすべてのデータを削除したにもかかわらず、特別な注意を払わなければ、このデータは復元できる可能性があります。

そのデータを完全に消去する最も簡単な方法は、ファイルの内容をランダムなデータで書き換えることです(場合によっては、数回繰り返して書き換えることもあります)。既存の安全なファイル削除の方法はいくつかあり、Gutmann法など、ストレージの種類やファイルシステムによって異なります。しかし、日常的に使用するアプリケーションでは、これらの方法は少し過剰であり、自分でデータを上書きすることができます。

ただし、注意が必要です。すべてのゼロやその他の低エントロピーデータを使用しないでください。多くのファイルシステムでは、このようなスパースファイルの書き込みが最適化され、元のコンテンツの一部が残ってしまうことがあります。ファイル自体を削除する前に、安全なランダムデータを生成して、ファイルの内容全体を上書きすることをお勧めします。

データの残存とは、何らかの方法で消去されたデータの物理的な表現が残っていること。記憶媒体が消去された後、データを再構築できるような物理的特性が残っている場合があります。

https://fas.org/irp/nsa/rainbow/tg025-2.htm

リソースを見る
リソースを見る

データの残存とは、何らかの方法で消去されたデータの物理的な表現が残ること。

ご興味がおありですか?

アプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

デモを予約する
シェアする
著者
ピーテル・デ・クレマー
2017年9月10日発行

アプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者

シェアする

コンピュータシステム上でファイルを削除するのは厄介だ。誰もが、たとえあなたのお母さんであっても、これまでにファイルを削除しすぎて、まだゴミ箱に残っているのを見つけて、それを回復できたことを喜んだことがあるでしょう。

コンピュータシステムのデータは、一連のビットで表現されます。つまり、どのビットがどのファイルを表しているかを知るために、システムはファイルシステム内でいくつかの簿記を行う必要があるのだ。その情報とは、ファイルのサイズ、最終更新日時、所有者、アクセス権限などである。この記録データは、ファイルの内容とは別に保存される。

通常、ファイルを削除しても、ファイルを表すビットには何も起こりませんが、簿記データが変更されることで、システムはストレージのこの部分が無意味になったことを認識し、再利用できるようになります。この場所に別のファイルが保存され、この場所のビットが上書きされるまでは、保存されていたデータを復元できることが多いのです。これは、ファイルを削除する際の速度を向上させるだけでなく、削除を元に戻すための便利な機能であることが多い。

しかし、この方法には欠点があります。コンピュータシステム上のアプリケーションが機密情報を扱う場合、そのデータはファイルシステムのどこかに保存されます。ある時点で、その情報が不要になったときに、このデータが削除されることがあります。開発者が意図してすべてのデータを削除したにもかかわらず、特別な注意を払わなければ、このデータは復元できる可能性があります。

そのデータを完全に消去する最も簡単な方法は、ファイルの内容をランダムなデータで書き換えることです(場合によっては、数回繰り返して書き換えることもあります)。既存の安全なファイル削除の方法はいくつかあり、Gutmann法など、ストレージの種類やファイルシステムによって異なります。しかし、日常的に使用するアプリケーションでは、これらの方法は少し過剰であり、自分でデータを上書きすることができます。

ただし、注意が必要です。すべてのゼロやその他の低エントロピーデータを使用しないでください。多くのファイルシステムでは、このようなスパースファイルの書き込みが最適化され、元のコンテンツの一部が残ってしまうことがあります。ファイル自体を削除する前に、安全なランダムデータを生成して、ファイルの内容全体を上書きすることをお勧めします。

データの残存とは、何らかの方法で消去されたデータの物理的な表現が残っていること。記憶媒体が消去された後、データを再構築できるような物理的特性が残っている場合があります。

https://fas.org/irp/nsa/rainbow/tg025-2.htm

リソースを見る
リソースを見る

以下のフォームに記入し、レポートをダウンロードしてください。

弊社製品や関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
フォームを送信するには、「Analytics」のCookieを有効にしてください。完了したら、再度無効にしてください。

コンピュータシステム上でファイルを削除するのは厄介だ。誰もが、たとえあなたのお母さんであっても、これまでにファイルを削除しすぎて、まだゴミ箱に残っているのを見つけて、それを回復できたことを喜んだことがあるでしょう。

コンピュータシステムのデータは、一連のビットで表現されます。つまり、どのビットがどのファイルを表しているかを知るために、システムはファイルシステム内でいくつかの簿記を行う必要があるのだ。その情報とは、ファイルのサイズ、最終更新日時、所有者、アクセス権限などである。この記録データは、ファイルの内容とは別に保存される。

通常、ファイルを削除しても、ファイルを表すビットには何も起こりませんが、簿記データが変更されることで、システムはストレージのこの部分が無意味になったことを認識し、再利用できるようになります。この場所に別のファイルが保存され、この場所のビットが上書きされるまでは、保存されていたデータを復元できることが多いのです。これは、ファイルを削除する際の速度を向上させるだけでなく、削除を元に戻すための便利な機能であることが多い。

しかし、この方法には欠点があります。コンピュータシステム上のアプリケーションが機密情報を扱う場合、そのデータはファイルシステムのどこかに保存されます。ある時点で、その情報が不要になったときに、このデータが削除されることがあります。開発者が意図してすべてのデータを削除したにもかかわらず、特別な注意を払わなければ、このデータは復元できる可能性があります。

そのデータを完全に消去する最も簡単な方法は、ファイルの内容をランダムなデータで書き換えることです(場合によっては、数回繰り返して書き換えることもあります)。既存の安全なファイル削除の方法はいくつかあり、Gutmann法など、ストレージの種類やファイルシステムによって異なります。しかし、日常的に使用するアプリケーションでは、これらの方法は少し過剰であり、自分でデータを上書きすることができます。

ただし、注意が必要です。すべてのゼロやその他の低エントロピーデータを使用しないでください。多くのファイルシステムでは、このようなスパースファイルの書き込みが最適化され、元のコンテンツの一部が残ってしまうことがあります。ファイル自体を削除する前に、安全なランダムデータを生成して、ファイルの内容全体を上書きすることをお勧めします。

データの残存とは、何らかの方法で消去されたデータの物理的な表現が残っていること。記憶媒体が消去された後、データを再構築できるような物理的特性が残っている場合があります。

https://fas.org/irp/nsa/rainbow/tg025-2.htm

リソースにアクセス

以下のリンクをクリックし、この資料のPDFをダウンロードしてください。

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

レポートを見るデモを予約する
PDFをダウンロード
リソースを見る
シェアする
ご興味がおありですか?

シェアする
著者
ピーテル・デ・クレマー
2017年9月10日発行

アプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者

シェアする

コンピュータシステム上でファイルを削除するのは厄介だ。誰もが、たとえあなたのお母さんであっても、これまでにファイルを削除しすぎて、まだゴミ箱に残っているのを見つけて、それを回復できたことを喜んだことがあるでしょう。

コンピュータシステムのデータは、一連のビットで表現されます。つまり、どのビットがどのファイルを表しているかを知るために、システムはファイルシステム内でいくつかの簿記を行う必要があるのだ。その情報とは、ファイルのサイズ、最終更新日時、所有者、アクセス権限などである。この記録データは、ファイルの内容とは別に保存される。

通常、ファイルを削除しても、ファイルを表すビットには何も起こりませんが、簿記データが変更されることで、システムはストレージのこの部分が無意味になったことを認識し、再利用できるようになります。この場所に別のファイルが保存され、この場所のビットが上書きされるまでは、保存されていたデータを復元できることが多いのです。これは、ファイルを削除する際の速度を向上させるだけでなく、削除を元に戻すための便利な機能であることが多い。

しかし、この方法には欠点があります。コンピュータシステム上のアプリケーションが機密情報を扱う場合、そのデータはファイルシステムのどこかに保存されます。ある時点で、その情報が不要になったときに、このデータが削除されることがあります。開発者が意図してすべてのデータを削除したにもかかわらず、特別な注意を払わなければ、このデータは復元できる可能性があります。

そのデータを完全に消去する最も簡単な方法は、ファイルの内容をランダムなデータで書き換えることです(場合によっては、数回繰り返して書き換えることもあります)。既存の安全なファイル削除の方法はいくつかあり、Gutmann法など、ストレージの種類やファイルシステムによって異なります。しかし、日常的に使用するアプリケーションでは、これらの方法は少し過剰であり、自分でデータを上書きすることができます。

ただし、注意が必要です。すべてのゼロやその他の低エントロピーデータを使用しないでください。多くのファイルシステムでは、このようなスパースファイルの書き込みが最適化され、元のコンテンツの一部が残ってしまうことがあります。ファイル自体を削除する前に、安全なランダムデータを生成して、ファイルの内容全体を上書きすることをお勧めします。

データの残存とは、何らかの方法で消去されたデータの物理的な表現が残っていること。記憶媒体が消去された後、データを再構築できるような物理的特性が残っている場合があります。

https://fas.org/irp/nsa/rainbow/tg025-2.htm

目次

PDFをダウンロード
リソースを見る
ご興味がおありですか?

アプリケーション・セキュリティ・リサーチャー、R&Dエンジニア、博士号取得者

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

デモを予約するダウンロード
シェアする
リソース・ハブ

始めるためのリソース

その他の記事
リソース・ハブ

始めるためのリソース

その他の記事