SCW アイコン
ヒーロー背景(区切りなし)
ブログ

보안 코딩 기법: 파일을 안전하게 삭제

ピーテル・デ・クレマー
2017年9月10日 掲載
最終更新日: 2026年3月9日

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

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

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

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

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

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

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

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

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

데이터 잔여성은 어떤 식으로든 지워진 데이터의 잔여 물리적 표현입니다.

もっと興味がありますか?

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

もっと詳しく

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

デモ予約
共有対象:
リンクトインのブランドソーシャルx ロゴ
作成者
ピーテル・デ・クレマー
2017年9月10日発行

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

共有対象:
リンクトインのブランドソーシャルx ロゴ

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

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

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

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

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

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

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

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

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

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

当社製品および/または関連するセキュリティコーディングのトピックに関する情報をお送りするため、お客様の同意を求めます。当社は常に、お客様の個人情報を最大限の注意を払って取り扱い、マーケティング目的で他社に販売することは一切ありません。

提出
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには「Analytics」クッキーを有効にしてください。完了後、いつでも再度無効にできます。

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

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

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

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

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

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

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

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

ウェビナーを見る
はじめに
もっと詳しく

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

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

レポートを見るデモ予約
リソースを見る
共有対象:
リンクトインのブランドソーシャルx ロゴ
もっと興味がありますか?

共有対象:
リンクトインのブランドソーシャルx ロゴ
作成者
ピーテル・デ・クレマー
2017年9月10日発行

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

共有対象:
リンクトインのブランドソーシャルx ロゴ

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

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

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

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

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

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

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

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

目次

PDFダウンロード
リソースを見る
もっと興味がありますか?

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

もっと詳しく

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

デモ予約ダウンロード
共有対象:
リンクトインのブランドソーシャルx ロゴ
リソースハブ

始めるのに役立つリソース

もっと多くの投稿
リソースハブ

始めるのに役立つリソース

もっと多くの投稿