- 혹시나 디지털 포렌식 전문가 2급 시험을 준비하는 사람들은 아래 게시물도 추가로 참조하길 바란다
https://isc9511.tistory.com/182
Prefetch | Spuerfetch(Sysmain) |
- Windows에서 자주 사용되는 프로그램들을 미리 메모리에 로드, 빠른 실행을 지원하기 위해 SW 활동 관련 정보를 저장하기 위해 사용하는 메모리 관리 기법 (요약하자면 "메모리 효율화를 위한 별도 파일 저장 후 필요 시, 메모리에 빠르게 로딩" 이라고 할 수 있겠다) - .pf 확장자로 파일을 저장하며 최대 1,024개 까지 생성이 가능하다 (오랫동안 사용되지 않는 메모리 영역에 대해서는 페이징 아웃으로 메모리 공간 확보를 지원함) - 활성화/비활성화 선택 제공 |
- 기존 Prefetch가 현재에 와서는 대부분 SSD 및 하드웨어 스펙 상승으로 오히려 성능 저하를 유발하는 경우도 있음 - 이에 따라, Vista 이후 Prefetch의 메모리 페이징 아웃으로 인한 문제 개선 후 적용된 것 - Prefetch와 별개로 추가적인 사용자의 프로그램 사용 패턴을 기록 |
- 굳이 나눠놨지만, 포렌식 상에서 둘은 동일하게 Prefetch 개념으로 볼 수 있고, 포렌식 담당자는 결국 .pf 파일로 분석을 진행해야 한다고 볼 수 있음
* .pf 제공 정보
- 사용자가 실행한 Application 이름
- Application 실행 횟수
- 실행 시간
- 실행되며 참조한 목록 (DLL 등)
* Prefetch 분류
Boot Prefetch | - 부팅 속도 향상을 목적으로 함 - 시스템 자원을 파악, 한 곳에 모아놓는 역할 - ‘NTOSBOOD-BOODFAAD.pf’ 단일 파일로 존재 |
Application Prefetch | - ‘프로그램실행파일명-4Byte해시값(8자리).pf’ 여러 파일로 저장 ex) NOTEPAD.exe-C5670914.pf |
* Windows의 Prefetch 상태 확인 및 활성화
레지스트리 확인 | * 경로 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters - 'EnablePrefetcher 값 확인 0 : 비활성화 1 : 응용 프로그램 pf만 활성화 2 : 부팅 pf만 활성화 3 : 모든 pf 활성화 (Default) |
SysMain 서비스 확인 | * Win + R 후 ‘services.msc’ (서비스 관리) - SysMain 서비스의 [일반] 탭에서 '시작 유형'을 '자동'으로 설정 - 서비스 상태가 '실행 중' 인지 확인 후, 실행 중이 아니라면, '시작'으로 전환 |
Prefetch 폴더 확인 | * 경로 : C:\Windows\Prefetch - 시간 순으로 정렬 후, 특정 일자 이후에 생성, 수정된 파일이 없다면 pf 설정이 비활성화된 상태 (이 경우 레지스트리 및 SysMain 서비스 확인 필요) |
* Prefetch 파일 수집 및 분석
- 포렌식 툴에서 ' %SystemRoot%\Prefetch' 경로의 전체 파일을 추출
- 추출 후, 별도 디렉터리에 모두 저장
- 이후, WinPrefetchView 툴(포렌식 시험 공식 도구)을 사용하여 추출한 pf 파일들이 있는 폴더의 경로 설정
(Options -> Advanced Options -> 경로 변경) / 경로를 변경하지 않으면 로컬의 pf 폴더를 기본 경로로 잡음
- 그 중, 프리패치 상세 정보를 확인하기 위해 특정 .pf 더블 클릭 시, Properties 창의 확인이 가능
(Properties에서 Process Path 부분이 Drive 정보가 아닌 Volume으로 표시되는 경우가 종종 존재)
- 해당 경우에는 중괄호 내의 첫 16진수 값(위 이미지에서는 '01DA93217D957270')을 DCode 등의 툴로 변환하여 Volume 생성 시간 정보를 확인할 수 있다
(뒤의 16진수인 'ac7da1ac'는 해당 Volume의 Serial 정보)
* Properties에서 확인할 수 있는 정보
File Name | - pf의 파일 이름 |
Created Time | - 해당 파일의 최초 생성 시간 |
Modified Time | - 해당 파일의 수정 시간(즉, 최종 실행 시간) |
File Size | - 실행 파일의 Size |
Process EXE | - 실제 실행 파일의 이름 |
Process Path | - 실제 실행 파일의 경로 |
Run Counter | - 실행 횟수 |
Last Run Time | - 실행 시간에 대한 기록(내림 차순으로 표시) |
'Information Security > Digital Forensic' 카테고리의 다른 글
[Digital Forensic] Windows Timeline (With DB Browser for SQLite) (0) | 2024.10.08 |
---|---|
[Digital Forensic] NTFS Log Tracker (1) | 2024.09.27 |
[Digital Forensic] Jump List (0) | 2024.09.26 |
[Digital Forensic] 네트워크 정보 확인 (0) | 2024.09.26 |
[Digital Forensic] Print 정보 확인 (1) | 2024.09.24 |