MAC 時刻は、コンピュータ ファイルに関連する特定のイベントが最後に発生した日時を記録するファイル システム メタデータの一部です。イベントは通常、「変更」(ファイル内のデータが変更された)、「アクセス」(ファイルの一部が読み取られた)、「メタデータの変更」(ファイルのアクセス許可または所有権が変更された) と説明されますが、この頭字語はUnixファイル システムによって維持される「mtime」、「atime」、および「ctime」構造に由来しています。Windows ファイル システムでは、ファイルのメタデータが変更されても ctime は更新されません[引用が必要]。代わりに、このフィールドを使用して、ファイルが最初に作成された時刻 (「作成時刻」または「誕生時刻」と呼ばれる) を記録します。他のシステムでもファイルの誕生時刻が記録されますが、このメタデータの標準名はありません。たとえば、ZFSでは、誕生時刻を「crtime」というフィールドに格納します。MAC 時刻は、コンピュータ フォレンジックでよく使用されます。[1] [2] Mactime という名前は、同じ名前のツールを作成した Dan Farmer によって最初に考案されました。[3]
変更時刻 (mtime)
ファイルの変更時刻は、ファイルの内容が最後に変更された時刻を表します。ほとんどのファイル システムでは、ファイルに書き込まれたデータと既存のデータを比較しないため、プログラムがファイルの一部を、その場所に以前存在していたデータと同じデータで上書きすると、内容が技術的に変更されていなくても、変更時刻は更新されます。
アクセス時間 (atime)
ファイルのアクセス時間は、ファイルが最後に読み取り用に開かれた時間を示します。アクセス時間は通常、大きなファイルのごく一部のみが調べられた場合でも更新されます。実行中のプログラムは、ファイルを「開いた」状態で一定時間維持できるため、ファイルが開かれた時間は、ファイルからデータが最後に読み取られた時間と異なる場合があります。
コンピュータの構成によっては、データの読み取りが書き込みよりはるかに高速であるため、読み取り操作のたびにアクセス時間を更新すると、非常にコストがかかる場合があります。一部のシステムでは、アクセス時間を他の時間よりも粗い粒度で保存することでこのコストを軽減しています。アクセス時間を最も近い時間または日に丸めるだけで、短期間に繰り返し読み取られるファイルは、アクセス時間を 1 回更新するだけで済みます。[4] Windows では、更新されたアクセス日付をディスクにフラッシュするのに最大 1 時間待つことで、この問題に対処しています。[5]
一部のシステムでは、アクセス時間の更新を完全に無効にするオプションも提供されています。Windowsでは、 Vista以降、ファイルアクセス時間の更新はデフォルトで無効になっています。[6]
変更時刻と作成時刻 (ctime)
Unix と Windows のファイル システムでは 'ctime' の解釈が異なります。
- Unix システムでは、 ctime は、ファイルのコンテンツではなく、ファイルの権限や所有者などの特定のファイル メタデータが最後に変更された時刻であるという歴史的な解釈を維持しています(例: 「このファイルのメタデータは05/05/02 12:15pm に変更されました」)。
- Windows システムでは、 ctime を「作成時刻」[要引用] (「誕生時刻」とも呼ばれる) の意味で使用します (例: 「このファイルは05/05/02 12:15pm に作成されました」)。
この使用方法の違いにより、Windowsシステムで作成されたファイルがUnixシステムでアクセスされたときに、時間メタデータが誤って表示される可能性があります(逆の場合も同様)。[要出典] POSIXでは指定されていませんが、最近のUnixファイルシステムのほとんど( ext4、HFS+、ZFS、UFS2など)では作成時刻を保存できます。[7] NTFSは作成時刻と変更時刻の両方を保存します。
作成時刻の意味は、いくつかの論争の元となっています。[要出典] 1 つの見解は、作成時刻はファイルの実際の内容を参照するべきであるというものです。たとえば、デジタル写真の場合、作成時刻は写真が撮影されたとき、またはコンピューターに最初に保存されたときを示します。別のアプローチは、作成時刻がファイル システム オブジェクト自体が作成された時刻を表すことです。たとえば、写真ファイルが最後にバックアップから復元されたとき、またはあるディスクから別のディスクに移動されたときなどです。
メタデータの問題
すべてのファイル システム メタデータと同様に、メタデータに対応していないプログラムによって、MAC 時間に関するユーザーの期待が裏切られる可能性があります。一部のファイル コピー ユーティリティは、新しいコピーの MAC 時間を元のファイルの MAC 時間と同じになるように明示的に設定しますが、新しいファイルを作成し、元のファイルの内容を読み取り、そのデータを新しいコピーに書き込むだけのプログラムでは、元のファイルと一致しない時間を持つ新しいファイルが生成されます。
一部のプログラムでは、書き込み操作が中断された場合にデータが失われるのを避けるために、既存のファイルの変更を回避します。代わりに、更新されたデータは新しいファイルに書き込まれ、新しいファイルは元のファイルを上書きするように移動されます。この方法では、プログラムが元のファイルからメタデータを明示的にコピーしない限り、元のファイルのメタデータが失われます。Windows は、ファイル システム トンネリングと呼ばれる回避策機能により、この影響を受けません。[8]
参照
参考文献
- ^ Luque, Mark E. (2002)。「Linux システムの論理レベル分析」。Casey, E. (編)。コンピュータ犯罪捜査ハンドブック: 法医学ツールとテクノロジー。ロンドン: Academic Press。pp. 182–183。ISBN 0-12-163103-6。
- ^ Sheldon (2002)。「Windows システムのフォレンジック分析」。Casey, E. (編)。『コンピュータ犯罪捜査ハンドブック: フォレンジックツールとテクノロジー』。ロンドン: Academic Press。pp. 134–135。ISBN 0-12-163103-6。
- ^ Dan Farmer (2000 年 10 月 1 日)。「MACtimes とは何か?」Dr Dobb's Journal。
- ^ 「File Times」。Microsoft MSDN ライブラリ。
- ^ 「File Times」。Microsoft MSDN ライブラリ。
- ^ 「Windows Vista で最終アクセス時刻を無効にして NTFS のパフォーマンスを向上させる」。Microsoft のストレージ チーム。
- ^ Thierry, Aurélien; Müller, Tilo (2022年4月). 「Unix系システム上のMACBタイムスタンプを理解するための体系的なアプローチ」. Forensic Science International: Digital Investigation . 40, Supplement: 301338. doi : 10.1016/j.fsidi.2022.301338 . S2CID 247735761.
- ^ 「Windows NT にはファイル システム トンネリング機能が含まれています」。Microsoft サポート。
外部リンク
- Windows と Unix のタイムスタンプに関する議論 ( Cygwin プロジェクトメーリング リスト)
