Windows Forensics

윈도우 포렌식

Prefetch

개요

  • 윈도우 XP부터 운영체제에서 제공하는 메모리 관리 정책
  • 실행파일을 메모리로 로딩 시 효율을 올리기 위해 개발
    - 컴퓨터에 장착된 드라이버와 서비스, 폴더 정보, 어플리케이션 정보 등을 미리 읽습니다.
  • 응용프로그램의 이름, 실행 횟수, 마지막 실행 시간, 볼륨 정보 등 저장
    - Layout.ini 파일에는 프리패치 파일에 대한 목록 저장

포렌식 관점

  • 사용자가 실행한 응용프로그램 이름 확인

  • 응용프로그램 실행 횟수

  • 응용프로그램 마지막 실행 시간

레지스트리 주요경로

번호 레지스트리 경로
1 C:\Windows\Prefetch

%SystemRoot%\Prefetch
프리패치 파일은 Prefetch 디렉토리 안에 "PF"확장자를 가진 파일입니다.

Layout.ini파일 확인

Latout.ini 파일을 확인해 보면 프리패치 파일에 대한 목록이 저장되어 있습니다.

HKLM\SYSTEM\CurrentControlsSet\Control\SessionManager\MemoryManagement\PrefetchParameters\EnablePrefetcher

EnablePrefetcher의 값은 다음 중 하나가 될 설정할 수 있습니다.
0: 사용 불가, 1: 응용 프로그램 실행 프리 패치 사용, 2: 부팅 프리 패칭 사용, 3: Applaunch and Boot enabled (최적 및 기본값)

EnablePrefetcher의 세팅값

  • Application-Launch Prefetching

    응용프로그램 사용빈도를 감시하여 사용자가 자주 사용하는 응용프로그램 정보를 Prefetch 하는 것을 말하고 응용프로그램의 실행 속도를 높여줍니다.

  • Boot Prefetching

    부팅시 함께 사용되는 파일이나 프로그램 정보를 Prefetch 하는 것을 말하고 부팅 속도를 줄여주는 역할을 합니다.

  • Both(디스크 접근성 최적화)

    이 부분은 Prefetch 역할을 하는 것은 아니지만 Application-Launch Prefetching과 Boot Prefetching 모두 적용 할 수 있습니다.

좌측 운영체제 카테고리에서 Windows 8/10 Prefetch Files 아티팩트 클릭

[증거]테이블의 상단 칼럼 정보를 통해
응용프로그램 이름, 실행횟수, 마지막 실행 시간(최대 8번) 정보를 확인 할 수 있고 우측 [세부 정보]테이블을 통해서도 확인 가능

[세부 정보]테이블의 [증거 정보]- [소스]를 통해서 Prefetch 경로 확인이 가능하고
하이퍼링크를 클릭하면 자동으로 이동

C:\Windows\Prefetch

EnCase에서 Prefetch 경로 확인
C:\Windows\Prefetch

경로를 찾아간 후 Prefetch 파일 확인

Layout.ini 파일을 통해 프리패치 파일에 대한 목록 확인

프리패치 파일을 Hex View를 통해서 보면 원래 pf파일의 맨 처음 부분에는 SCCA 시그니처가 있어야 하지만, MAM 시그니처가 있는 것을 보면 Pf 파일이 압축되어 있는 상태인 것으로 확인할 수 있습니다.

EnablePrefetcher 값을 확인하기 위해 먼저 SYSTEM 하이브 파일의 경로 확인
C:\Windows\System32\Config\System

SYSTEM 하이브 파일 확인

SYSTEM 하이브 파일은 윈도우 시스템과 관련된 모든 설정 정보를 담고 있습니다.

EnablePrefetcher 값을 확인하기 위한 경로
SYSTEM\ControlsSet00x\Control\SessionManager\MemoryManagement\PrefetchParameters\EnablePrefetcher

경로를 찾아간 후 Hex View를 통해 EnablePrefetcher 설정 값이 3(Applaunch and Boot enabled)인 것을 확인

%SystemRoot%\Windows\Prefetch

파일 명, 경로, 실행횟수 및 시간, 의존성 파일 정보

[Pf] 확장자로 분류

SystemRoot(C:\)\Windows\Prefetch

ADS TOOL.EXE-AC6E470F

프로세스 명과 경로

참조된 실행 파일

  • 응용 프로그램을 실행할 때마다 응용 프로그램에서 실행한 파일에 대한 정보가 포함된 Prefetch 파일이 생성

오픈소스인 WinPrefetchView v1.36 프로그램은 시스템에 저장된 프리패치 파일을 읽고 저장된 정보 표시
모든 응용 프로그램에서 사용하는 파일과 Windows 부팅시 로드되는 파일 확인 가능

- WinPrefetchView의 주 창에는 2 개의 창이 있고 위쪽 창에는 시스템의 모든 프리 패치 파일 목록 표시

- 위쪽 창에서 파일을 선택하면 아래쪽 창에 선택한 프리 패치 파일 내에 저장된 파일 목록이 표시
- 이 목록은 이전에 사용했던 응용 프로그램에서 로드한 파일 확인 가능