解析者を誤解させるため・不正ファイルの発覚を遅らせる目的でマルウェアがタイムスタンプ偽装を行うことがあります。
本記事ではタイムスタンプ偽装に関する初歩的な内容を記載します。
タイムスタンプとは
ある時刻にその電子データが存在していたことと、それ以降改ざんされていないことを証明する技術。
タイムスタンプに記載されている情報とオリジナルの電子データから得られる情報を比較することで、タイムスタンプの付された時刻から改ざんされていないことを確実かつ簡単に確認することが可能。
国民のための情報セキュリティサイト タイムスタンプとは?
https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/basic/structure/05.html
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 タイムスタンプ (timestamp)
https://wa3.i-3-i.info/word13116.html
タイムスタンプ偽装とは
フォレンジックの際に解析者を誤解させたり、不正ファイルの発覚を遅らせる目的などで、マルウェアによりタイムスタンプが改ざんされることがある。
専門用語でtimestompという。
タイムスタンプの仕組み
Windowsのデータ格納の構造としてはデータ自体だけでなく、それに紐づく様々なデータと構造がある。
※データを管理するためのデータ = Metadata
ファイルの変更日時やパーミッション、データの実位置など、様々な情報を含む。
メタデータもファイルとして扱われるが、その中でも重要なのがMFT(Master file table)。
「$」から始まる隠しファイルで、ファイルシステムの情報を格納した特殊なデータファイル。
MFT内ではSIAとFNAの二種類のタイムスタンプを保持する。
1.SIA(Standard Information Attribute) ※ Windows上から確認できるタイムスタンプはこちら
2.FNA(File Name Attribute) 本当にファイルが作成された時刻
→SIAの偽装は比較的簡単に行うことができ、フリーウェアのツールなども存在する。
より詳細な仕組みについてはこちらを参考:MFTアーティファクト
https://www.kazamiya.net/fte/MFT
実際現場で使われていたタイムスタンプ偽装
端末内に存在する正規のアプリケーション(calcやnotepad等)からコピーし、タイムスタンプを改変している挙動が確認された。