본문으로 건너뛰기
로그인 둘러보기
시스템·유틸리티 · 윈도우즈 유틸

LogFileParser

0

LogFileParser는 NTFS 파일 시스템의 $LogFile을 분석하여 파일 시스템 변경 내역을 복구하고 디코딩하는 도구입니다.

CSV 출력디지털 포렌식로그 파일 분석명령줄 도구파일 시스템 복구

소개

LogFileParser는 NTFS 파일 시스템의 $LogFile을 분석하여 파일 시스템 변경 내역을 복구하고 디코딩하는 도구입니다. jschicht가 개발했으며, 트랜잭션 레코드, 데이터 런, MFT 레코드 등을 추출하여 CSV 및 SQLite 데이터베이스로 출력합니다. 이 프로그램은 디지털 포렌식 및 파일 시스템 분석 전문가를 대상으로 하며, 명령줄 및 GUI 모드를 모두 지원합니다.

상세정보

트랜잭션 디코딩 및 덤프

$LogFile에서 InitializeFileRecordSegment, CreateAttribute, UpdateResidentValue 등과 같은 다양한 트랜잭션 유형을 디코딩하여 상세한 정보를 출력합니다. 각 트랜잭션의 타임스탬프, LSN, 파일 참조 등을 포함하여 CSV 파일로 저장합니다.

데이터 런 복구

파일의 데이터 런을 재구성하여 삭제되거나 손상된 파일의 실제 데이터 위치를 추적할 수 있습니다. ‘Reconstruct dataruns’ 옵션을 활성화하면 부분적 또는 완전한 데이터 런 목록을 생성하여 파일 복구에 활용할 수 있습니다.

다양한 출력 형식 지원

CSV 형식으로 로그 파일 데이터, 데이터 런, 인덱스 엔트리, 더티 페이지 테이블 등을 별도 파일에 저장합니다. 또한 모든 데이터를 SQLite 데이터베이스(ntfs.db)로 통합하여 테이블 기반 쿼리가 가능하도록 지원합니다.

타임스탬프 커스터마이징

타임스탬프 형식(6가지 옵션), 정밀도(None, MilliSec, NanoSec), 구분자, 지역 조정(UTC 기준)을 유연하게 구성할 수 있습니다. 이는 서로 다른 시스템 환경과의 호환성을 높이기 위한 기능입니다.

슬랙 스페이스 분석

$LogFile 내의 슬랙 스페이스(사용되지 않은 영역)에서 잔여 트랜잭션을 탐지하고, 가능한 경우 헤더를 재구성하여 추가적인 역사적 정보를 복구할 수 있습니다. 이 기능은 디버그 로그를 통해 상세한 분석 과정을 제공합니다.

다운로드 및 설치 방법

공식 GitHub 저장소에서 최신 버전의 ZIP 파일을 다운로드받아 압축을 해제하면 바로 사용할 수 있습니다. 별도의 설치 과정 없이 실행 파일을 더블클릭하여 GUI 모드로 실행하거나, 명령줄 인수를 배치하여 배치 스크립트에서 활용할 수 있습니다.

기본 사용법

GUI 모드에서는 실행 후 ‘LogFileFile’ 필드에 분석 대상 $LogFile 경로를 입력하고 원하는 옵션을 설정한 후 ‘Start’ 버튼을 클릭하면 분석이 시작됩니다. 출력 파일은 기본적으로 프로그램과 동일한 디렉터리에 생성되며, ‘OutputPath’ 옵션으로 위치를 변경할 수 있습니다.

명령줄 모드에서는 다음과 같은 형식으로 실행합니다:

LogFileParser.exe /LogFileFile:C:pathto$LogFile /OutputPath:C:output /ReconstructDataruns:1 /Unicode:1 /TSPrecision:NanoSec

주요 명령줄 스위치는 다음과 같습니다:

  • /LogFileFile: 필수. 분석할 $LogFile 경로 지정
  • /OutputPath: 선택. 출력 파일 저장 경로 (기본값: 프로그램 디렉터리)
  • /ReconstructDataruns: 1로 설정 시 데이터 런 복구 활성화
  • /Unicode: 1로 설정 시 유니코드 문자열 디코딩 활성화
  • /TSPrecision: 타임스탬프 정밀도 (None, MilliSec, NanoSec)
  • /MftRecordSize: MFT 레코드 크기 (1024 또는 4096)
  • /SectorsPerCluster: 섹터당 클러스터 수 (기본값 8)
  • /SourceIs32bit: 1로 설정 시 32-bit 원본 볼륨 처리 모드 활성화

지원 환경 및 시스템 요구사항

이 프로그램은 Windows 운영 체제에서 실행되며, 분석 대상은 NTFS 파일 시스템의 $LogFile입니다. 32비트 및 64비트 시스템 모두에서 사용할 수 있으나, 볼륨이 처리된 OS 비트를 정확히 설정해야 정확한 OpenAttributeTable 덤프가 가능합니다. 버전 2.0.0.8부터 자동 감지 기능이 추가되었으나, 수동 설정이 여전히 권장됩니다.

제한 사항 및 확인 사항

유니코드 모드에서는 데이터 런 재구성이 정상적으로 작동하지 않으므로, 유니코드 환경에서는 해당 기능을 비활성화해야 합니다. 또한 Mft2Csv에서 생성된 유니코드 CSV 파일은 가져오기 기능과 호환되지 않습니다. 부분적인 인덱스 레코드 업데이트는 원래 구조에 대한 정보 부족으로 해석이 어려울 수 있으며, $LogFile의 원형 구조 특성상 시스템 드라이브에서는 보존 가능한 역사 데이터가 제한적일 수 있습니다. resident 속성 업데이트(예: $DATA의 내용 변경)는 로그에 변경 사실만 기록되고 실제 데이터는 저장되지 않으므로, 이러한 변경 사항은 복구할 수 없습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.