SWUFORCE/드림핵

시스템 로그

amy06s 2026. 5. 17. 01:44

$LogFile

$LogFile

  • 파일시스템의 저널링 기능을 위해 존재하는 파일
  • 저널링: 데이터 변경을 디스크에 반영하기 전에 행위를 기록해 오류 발생 시 복구하도록 하는 기능
  • 데이터 기록 이전 그 위치와 시점을 별도의 파일에 기록해두고, 문제 발생 시 해당 파일을 참조해 작업이 이루어지기 전 상태로 시스템 복원

트랜잭션

  • 저널링 단위로, 쪼갤 수 없는 업무 처리의 최소 단위
  • 파일 또는 디렉토리 생성, 수정, 삭제 행위가 각각 트랜잭션에 해당함
  • $LogFile은 트랜잭션을 기록하는 파일

 

$LogFile 수집 및 분석

[root]\$LogFile
  • 해당 경로에 저장
  • FTK Imager로 해당 파일 추출, 추가적으로 분석에 사용되는 $MFT파일도 추출(동일 경로에 존재)

  • NTFS Log Tracker로 분석 가능

  • 도구에 $LogFile, $MFT 경로 추가 후 분석
  • 아래 창이 나오면 결과값 저장할 DB 값을 입력하고 시작
  • 이때 DB파일은 프로그램이 생성하기 때문에 미리 파일 생성 필요x
  • 완료되면 결과 조회 가능
  • 편의를 위해서는 별도의 프로그램 이용 가능

  • SQLite 형식 DB 조회 프로그램 DB Browser for SQLite로 데이터베이스 확인 가능

12799행 기록

EventTime: 이벤트가 발생한 시간, 시스템 시간으로 표현됨

  • 2024-04-04 22:15:38(UTC+9)

Event: 이벤트 정보

  • Renaming File은 파일 이름이 변경된 이벤트

Detail: 이벤트 상세 기록

  • 미확인 760647.crdownload -> NTFS Log Tracker v1.71.zip
  • 크롬 브랑주로 NTFS Log Tracker v1.71.zip 파일을 다운하는 과정에서 미확인 760647.crdownload 파일이 임시 생성되었다가 다운로드 완료 이후 NTFS Log Tracker v1.71.zip 파일로 이름이 변경됨

Filename&FullPath: 파일의 이름과 전체 경로 

File Creation 키워드로 검색

  • 새 파일 생성 이벤트
  • 해당 문자열이 포함된 기록들만 필터링됨
  • EventTime 칼럼 관찰 시, 로그가 $LogFile에 저장되는 시간이 길지 않은 것 확인 가능
  • 많은 프로그램 실행 중이면 보통 경우보다 저장 시간이 짧을 수 있음

 

$LogFile 분석 팁

 

$UsnJrnl

$UsnJrnl

  • 응용 프로그램이 특정 파일의 변경 여부 파악을 위해 사용하는 로그
  • $LogFile과 달리 파일 복원 목적인 로그가 아니라 단순 파일에 작업이 있었다는 사실 확인 목적으로 생성
  • 시간 순서대로 엔트리를 저장하고, 오래된 데이터는 삭제

 

$UsnJrnl 경로

[root]\$Extend\$UsnJrnl\$J
  • FTK Imager로 $UsnJrnl로 이동

  • 파일 더블클릭 시 아래 사진처럼 진입 가능
  • $J 파일 추출($UsnJrnl이라고 부르는 파일이 $J파일)

  • $MFT파일도 함께 추출

 

$UsnJrnl 분석

  • NTFS Log Tracker 도구 이용
  • $UsnJrnl, $MFT 경로 입력 후 분석

  • 데이터 베이스를 DB Browser for SQLite로 열고 나열된 데이터 확인

  • $LogFile과 마찬가지로 NTFS Log Tracker v1.71.zip 파일 다운로드 흔적이 있음

TimeStamp: 이벤트 발생 시각, 시스템 시각으로 출력

  • 2024-04-04 22:15:38(UTC+9)

FileName: 이벤트가 발생한 대상 파일

  • 미확인 760647.crdownload
  • NTFS Log Tracker v1.71.zip

Event: 대상 파일에 발생한 이벤트

  • 미확인 760647.crdownload: File_Renamed_Old
  • NTFS Log Tracker v1.71.zip: File_Renamed_new
  • 위 파일이 아래 파일로 이름 변경 확인

FullPath: 대상 파일의 경로

  • $MFT와 연계해 가져오는 데이터

 

$UsnJrnl 분석 팁

$LogFile, $UsnJrnl 활용

$LogFile, $UsnJrnl 활용

1) 랜섬웨어 분석 상황

  • 랜섬웨어: 컴퓨터에 있는 모든 파일 암호화 후 원격 서버로 전송하고, 원본 파일은 삭제해 사용불가로 만듦
  • 이 과정에서 파일의 암호화, 전송할 임시 파일 생성, 원본 파일 삭제 등 관련 로그 다수 발생
  • $LogFile을 깊게 분석하면 트랜잭션을 복구해 몇몇 파일을 되살리는 작업 가능
  • $UsnJrnl로 파일 암호화, 이름 변경, 압축 등 다양한 이벤트 확인 가능

 

2) 자료 유출 사건 분석 상황

  • 회사 내부망에서 파일을 다운로드해 USB로 옮기고, 다운로드한 파일은 삭제했다 가정
  • 내부망 PC에서 파일 다운로드(파일 생성, 데이터 쓰기) 기록 발견, 이후 삭제 기록 발견
  • USB가 NTFS 시스템이면, USB에서도 $LogFile, $UsnJrnl로 파일이 생성된 흔적과 생성 시각 확인 가능

 

3) 안티-포렌식 행위 분석 상황

  • 안티-포렌식: 디지털 포렌식 분석을 막기 위해 의도적으로 관련 파일 삭제나 훼손하는 행위
  • $LogFile, $UsnJrnl로 공격자가 삭제한 아티펙트 종류, 삭제 시간 확인 가능

 

교차 검증

  • 하나의 사건이 발생한 흔적을 여러 자료로부터 중복되게 확인하는 것
  • 디지털 포렌식의 사실 관계 밝히는 방법은 주로 귀납적 관찰
  • 귀납적 관찰: 개별적으로 발생한 사건들을 관찰해 전체에 대한 일반적인 인식으로 바꾸는 과정
  • but 귀납적 방식도 오류가 종종 나옴

=> 이러한 경우 방지를 위한 방법이 교차 검증

  • 같은 이벤트를 기록하는 여러 아티펙트를 동시 관찰해 사실관계 파악을 중복 확인해야 함