ファイルが変更されたかどうかを検出するときに、ファイルの最終変更(NTFSなど)を使用しても安全ですか?そうでない場合、ファイルバックアップアプリケーションは常にファイル全体をハッシュして変更をチェックしますか?もしそうなら、どのハッシュアルゴリズムがこのチェックに適していますか?
3 に答える
アプリケーションの要件によって異なります。誤検知を許容できますか?偽陰性?
ファイルの最終更新日は信頼できません。たとえば、FTPはファイルを変更せずに変更日を変更したり、ファイルを2回ダウンロードして、ファイルを変更せずに変更日を変更したりすることができます。一方、ファイルを変更するが、ファイルの最終更新日を同じに保つユーティリティがいくつかあります。
ファイルが変更されたときに絶対にアクションを実行する必要がある場合、信頼できる方法は、適切なハッシュまたはフィンガープリントを使用することです。これには時間がかかります。それほど時間をかけずにオッズを改善する1つの方法は、変更日とファイルサイズを比較することですが、これも絶対確実ではありません。
ファイルを開いて1つの文字を追加するだけでも変更時間が変更されるため、最終変更時刻はあまり信頼できません。ハッシュには衝突の問題があるので、RabinのFingerprintingアルゴリズムについて読むことをお勧めします。
効果的で定期的に監視されるハッシュチェックの設定に慣れていると思います。最終変更私は多くの人が考えるほど安全ではないと思います。ハッシュのチェックに固執し、定期的にそれを行う優れたソフトウェアを使用してください。
私を信じてください。最も簡単なルートを選択せず、常に最も安全なルートを選択することに慣れたら、他のセキュリティ対策に進むための優れた習慣を身に付けることができます。