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

2017年9月10日発行
ピーテル・デ・クレマー著
ケーススタディ

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

2017年9月10日発行
ピーテル・デ・クレマー著
リソースを見る
リソースを見る

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

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

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

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

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

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

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

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

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

著者

ピーテル・デ・クレマー

もっと知りたい?

セキュアコーディングに関する最新の知見をブログでご紹介しています。

当社の豊富なリソースライブラリは、安全なコーディングアップスキルに対する人間的なアプローチを強化することを目的としています。

ブログを見る
もっと知りたい?

開発者主導のセキュリティに関する最新の研究成果を入手する

ホワイトペーパーからウェビナーまで、開発者主導のセキュアコーディングを始めるために役立つリソースが満載のリソースライブラリです。今すぐご覧ください。

リソース・ハブ

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

2017年9月10日発行
Pieter De Cremer 著

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

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

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

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

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

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

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

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

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

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