점프 목록 포렌식
1. 점프 목록 소개
응옹 프로그램 사용 로그
최근 접근 문서(Recent) 폴더와 RecentDocs 레지스트리 키
UserAssist 레지스트리 키
점프 목록 확인
작업표시줄의 마우스 우클릭으로 점프 목록 확인

점프 목록 종류
Recent: 사용자가 최근 접근한 파일이나 폴더
Frequent: 사용자가 빈번히 접근한 파일이나 폴더
Tasks: 응용프로그램에서 지원하는 작업 목록
Pinned: 사용자가 고정시킨 작업 목록
점프 목록 활용
포렌식적 의미
사용자의 응용프로그램 사용 흔적 및 패턴 파악
윈도우 7에서 기본 활성화
최근 접근 문서나 UserAssist 키보다 더 많은 정보 포함
사용자가 직접 삭제하지 않는 이상 운영체제 설치 시부터 지속적으로 로그 저장
사용자의 행의 파악하거나 정보 유출 사건 분석에 큰 역할
점프 목록 설정
[제어판]=> [작업표시줄 및 시작메뉴]
첫번째 체크박스:
최근 사용한 프로그램 시작 메뉴에 표시 여부
체크 해제한 후 적용을 누르면 시작 메뉴 항목 제거
두번째 체크박스:
점프 목록에 관한 설정
체크 해제한 후 적용을 누르면 이전에 기록된 모든 점프 목록 삭제
고정된(pinned) 점프 목록은 삭제되지 않음
사용자 지정 버튼
시작 메뉴와 점프 목록에 지정할 프로그램 지정이나 목록 수 설정
2. 점프 목록 구조
저장 경로
Recent 폴더 하위에 저장
%UserProfile%\AppData\Roaming\Microsoft\Windows\Recent

Recent 폴더 하위에 저장

AutomaticDestinations
운영체제가 자동으로 남기는 항목
최근 사용한 목록이나 자주 사용되는 목록
CustomDestinations
응용프로그램이 자체적으로 관리하는 항목
작업 목록
AppID
파일명
각 응용프로그램 별로 고유한 16자리 사용

점프 목록 파일 구조
OLE Compound 파일 구조 사용
점프 목록 각 아이템을 OLE 스트림(바로가기 파일)으로 저장


3. 점프 목록 카빙
카빙 방법
1. 8바이트 시그니처를 통해 OLE 문서 파일 카빙

2. 카빙된 문서 파일에서 점프 목록 분리
3. 점프 목록 OLE 형식은 모두 기본 3개의 스트림을 가짐 => 초기 3개의 스트림 검증
Root Entry
Root Entry\1
Root Entry\DestList

프리, 슈퍼 패치 포렌식
1. 윈도우 메모리 관리 기법
메모리 관리 기법
가상 메모리(Virtual Memory)
페이징 파일을 이용하여 물리메모리 용량 한계 해결(다중 프로그램 실행)
프리패치(Prefetch)
운영체제 부팅, 응용 프로그램 실행 시 속도 향상을 위해 프리패칭 기법 사용
슈퍼패치(Superfetch)
프리패치에 부족했던 요소들을 추가하여 성능 향상
레디부스트(ReadyBoost)
USB, SD 카드, CF 카드 등의 플래시 메모리를 이용한 캐싱 기법
SSD 메모리 관리 기법
윈도우 7 자동 최적화
윈도우 7부터는 SSD에 대한 최적화 기능이 추가
저장매체의 속도가 빠르다면 메모리 관리 기술은 불필요
SSD 사용 시 윈도우 7 자동 설정
TRIM 명령 활성화
슈퍼패치가 자동으로 중지
레디부스트의 사용 불필요
2. 프리패치
프리패치 소개
윈도우 프리패치
실행 파일이 사용하는 시스템 자원을 특정 파일에 미리 저장 => 프리패치 파일
윈도우 부팅 시 프리패치 파일을 모두 메모리에 로드
사용자가 파일을 실행할 경우 미리 저장된 정보를 메모리에서 실행하여 실행 속도를 향상
윈도우 XP 이후 (2003, Vista, 2008, 7) 의 운영체제에서 제공
분류
부트 프리패칭: XP, 2003, Vista 2008, 7
응용프로그램 프리패칭: XP, Vista, 7, 8
프리패치 저장 경로
%SystemRoot%Prefetch
파일명
부트 프리패치 파일: NTOSBOOT-B00DFAAD.pf
응용프로그램 프리패치 파일: <filename>-<filepath hash>.pf
부트 프리패칭
윈도우는 부팅 중 다양한 파일을 사용
부팅과 관련된 파일은 저장매체에 흩어져 있거나 단편화되어 있을 수 있음 => 부팅 속도 저하
프리패치에 의해 시스템이 부팅 시작 후 최대 120초까지 모니터링
부팅 시 사용되는 코드와 데이터를 모니터링한 후 결과를 파일에 저장
부트 프리패칭된 파일을 이용하여 부팅 시 속도 향상
응용프로그램 프리패칭
응용프로그램 초기 실행 시 캐시 관리자는 처음 10초를 모니터링
10초 동안 메모리에 로드한 코드와 데이터의 일부 혹은 전체를 파일로 생성 => 프리패치 파일
프리패칭된 응용프로그램 다시 실행 시 프리패치 파일을 이용해 초기 실행 속도 향상
파일 개수는 최대 128개로 제한 => 최대 한계를 넘으면 오래된 프리패치 파일은 자동 삭제
프리패치 동작 확인
[Event Log], [Task Ssheduler]: 두 서비스 중 하나라도 중지되면 프리패칭 동작 중지

레지스트리를 이용한 활성화 설정

도구를 이용한 간편 설정

프리패치 파일 구조
프리패치 파일의 포렌식적 의미
프리패치 파일은 다양한 정보 저장 => 포렌식적으로 중요한 정보 활용 가능
프리패치 파일에서 획득 가능한 정보





파일시스템 시간 정보와의 통합 분석
프리패치 파일도 파일시스템 시간 정보 가짐
일반적으로 파일시스템은 파일의 생성, 수정, 마지막 접근 시간 유지
프리패치 파일 시간 분석
생성 시간: 응용프로그램을 처음 실행한 시각은 x(재성성일 수는 있음)
수정 시간: 프리패치 파일이 마지막으로 수정한 시간
마지막 접근 시간: 프리패치 파일을 사용하는 응용프로그램이 마지막으로 접근한 시간
응용프로그램의 마지막 실행 시간은 파일 내부에서 확인해야 함
프리패치 활용
부트 프리패치
참조 목록을 통해 부팅 과정에서 로드되는 악성코드 확인 가능
응용프로그램 프리패치




3. 슈퍼패치
슈퍼패치 소개
프리패치 문제점
메모리를 이용한 빠른 실행(실행 전 미리 메모리에 로딩하는 기술)
메모리의 한계로 인해 메모리에 로딩된 프리패치 데이터는 페이징 파일로 이동
다시 응용프로그램 실행 시 페이징 파일로부터 로딩 => 성능 저하
슈퍼패치 개선점
사용자 프로그램 사용 패턴을 추가적인 파일에 기록 및 추적
프리패치 데이터가 페이징 된 후, 프로그램이 종료되면 이를 감지하여 페이징된 데이터를 다시 메모리 로드




슈퍼패치 파일 구조
파일명
Ag 접두어, db 확장자(데이터베이스 파일)
TRX 파일



4. 레디부스트
레디부수트
윈도우 Vista에서 처음 소개된 디스크 캐시 기법
플래시 메모리, SD 카드, CF 카드 등의 포터블 플래시 저장 장치를 캐시로 활용 => 성능 향상
레디부스트 설정 시 슈퍼패치 데이터도 캐시됨

레디부스트 사용
sysmain(슈퍼패치 서비스 호스트)이 동작하는 경우 이동식 디스크 연결
슈퍼패치에 의해 페이지 아웃되면 가상메모리가 아닌 플래시 메모리에 저장
플래시 메모리로부터 필요 페이지 로드 => 성능 향상


'SWUFORCE > 인프런 강의' 카테고리의 다른 글
| Jumlist & Prefetch 개념 및 실습 (0) | 2026.07.04 |
|---|---|
| section3 ~ 바로가기(.LNK) 개념 및 실습 & 바로가기 파일 포렌식(LNK Forensics) (0) | 2026.05.16 |
| section 3 ~ Windows Registry 실습 (0) | 2026.05.10 |
| 디지털 증거 획득 & 디지털 증거 수집 방안 (0) | 2026.05.05 |
| [인프런 강의] section2 ~CTF-D, GrrCon2015 정리 & 추가 분석 & 메모리 포렌식 (0) | 2026.04.07 |