본문 바로가기
잡학IT

timestamp 에 대해서 알아보자

by 프우마 2025. 6. 18.

타임스탬프(Timestamp)는 디지털 시스템에서 파일, 로그, 이벤트 등이 발생한 날짜와 시간 정보를 기록한 데이터입니다. 운영체제, 데이터베이스, 보안 시스템 등 거의 모든 컴퓨터 시스템에서 중요한 추적 기준으로 사용됩니다.


🧭 주요 개념 정리

📌 타임스탬프란?

  • 정의: 특정 사건이 발생한 시간을 컴퓨터가 인식 가능한 형식으로 기록한 것
  • 형식 예시: 2025-06-18 13:45:02 또는 Unix time (1718699102)

🗂️ 파일 시스템에서의 타임스탬프 종류

종료 의미 설명
mtime (Modified Time) 수정 시간 파일 내용이 변경된 시각
atime (Accessed Time) 접근 시간 마지막으로 파일이 열리거나 읽힌 시각
ctime (Change Time) 변경 시간 메타데이터(권한, 이름 등)가 바뀐 시각 (내용 변경은 아님)
btime (Birth Time) 생성 시간 일부 파일시스템에서만 지원 (ex: NTFS, ext4 일부 설정 시)
 
 

📂 리눅스 vs 윈도우 타임스탬프 비교

 

항목 리눅스(ext계열) 윈도우 (NTFS)
기본 타임스탬프 atime, mtime, ctime atime, mtime, ctime, btime
ctime 의미 메타데이터 변경 시각 내용 수정 시간으로 취급됨 (Win에서는 ctime = mtime)
btime (생성 시각) 기본적으로 미지원 (ext4에서 선택적 지원) 기본 지원
정밀도 나노초 단위 지원 가능 (ext4 이상) 100나노초 단위 (FILETIME 구조체)
타임존 적용 기본적으로 UTC 기준 (로컬 타임은 변환됨) 로컬 타임존 적용 (시스템 설정 기준)
명령어 stat, ls -l --time=..., debugfs dir, fsutil, Get-Item (PowerShell)
포렌식 주의점 ctime은 파일 변경 아님 ctime = mtime, 혼동 주의
 
 
 

 

🔐 보안/포렌식에서의 중요성

  1. 침해사고 추적: 웹쉘 업로드 시점, 악성 스크립트 수정 시점 확인
  2. 위장 탐지: mtime만 조작해 실제 공격 시점을 숨기는 행위 탐지 가능
  3. 로그 분석 기준: 시스템 로그와 파일 활동 간 타임라인 정합성 분석
  4. 디지털 증거로 활용: 법적 분석 자료로 제출될 수 있음

⚠️ 타임스탬프 조작 예시

 
    touch -m -d "2023-01-01 00:00:00" malware.php
  • 공격자가 악성 파일을 오래된 것처럼 보이게 하기 위해 사용하는 명령입니다.

 

 

✅ 대응 방안

  • 무결성 점검 도구 사용: AIDE, Tripwire 등으로 파일 변경 여부 모니터링
  • 타임라인 분석 도구 활용: Sleuth Kit, log2timeline 등으로 포렌식 타임라인 구성
  • EDR/XDR 연계 로그 분석: 타임스탬프 위조 여부 탐지 및 행위 추적

 

🔍 타임스탬프 확인 명령 예시

📌 리눅스

 
bash
 
stat filename
  • Access, Modify, Change 시간 확인 가능

 

📌 윈도우 (PowerShell)

powershell
 
(Get-Item filename).CreationTime (Get-Item filename).LastWriteTime (Get-Item filename).LastAccessTime

🎯 포렌식/보안 대응 차이

항목 리눅스 윈도우
웹쉘 타임스탬프 위조 대응 ctime 기준 로그 비교 필요 btime과 비교해 위조 확인
무결성 모니터링 AIDE 등으로 hash 및 mtime 감시 Windows Event Log + Sysmon
로그 기준 시간 UTC 기준 → 변환 필요 대부분 로컬 타임 → 혼동 위험
 

 

✅ 결론

  • 리눅스는 ctime의 의미 해석이 중요하고, 생성 시간 추적이 어렵다는 단점이 있음
  • 윈도우는 btime으로 생성 시각을 추적할 수 있어 위조 탐지에 유리하지만, 로컬 타임 기준으로 시간 정합성 검토 필요