윈도우 프리패치
- 윈도우 XP부터 운영체제에서 제공하는 메모리 관리 기법 중 하나
메모리 관리 기법에는 프리패치 외에 가상 메모리, 슈퍼패치, 레디부스트가 있다.
- 실행파일을 메모리로 로딩 시 효율을 올리기 위해 개발
컴퓨터에 장착된 드라이버와 서비스, 폴더 정보, 어플리케이션 정보 등을 미리 읽음 -> 사용자가 파일을 실행할 경우 미리 저장된 정보를 메모리에서 실행하여 실행 속도를 향상 -> 즉, 응용 프로그램을 빨리 실행시키기 위해 이전에 사용했던 정보를 저장, 불러오기를 통해 속도를 높인다. (인터넷 브라우저 캐시와 비슷)
- 응용 프로그램의 이름, 실행 횟수, 마지막 실행 시간, 볼륨 정보 등 저장
Layout.ini 파일에는 프리패치 파일에 대한 목록 저장
- 윈도우 부팅, 응용 프로그램 시작 시 성능 향상을 위해 프리패치 파일을 모두 메모리에 로드
Tip) 사용자가 실행한 응용 프로그램 이름 / 실행 횟수 / 마지막 실행 시간, 참조 목록, 파일시스템 시간 정보를 통한 타임라인 분석이 포렌식 관점에서 중요하다.
프리패치 파일은 다양한 정보가 저장되어 있으므로 포렌식적으로 중요한 정보 활용 가능!!
+) 프리패치 파일의 성능을 향상 시킨 슈퍼패치도 존재
프리패치 파일의 분류
부트 프리패칭
- 윈도우는 부팅 중 다양한 파일을 사용
- 부팅과 관련된 파일은 저장매체에 흩어져 있거나 단편화되어 있을 수 있음, 그 경우 부팅 속도 저하
- 프리패치에 의해 시스템이 부팅을 시작한 후 최대 120초까지 모니터링
- 부팅 시 사용되는 코드와 데이터를 모니터링한 후 결과를 파일에 저장
- 부트 프리패칭된 파일을 이용하여 부팅시 속도 향상
참조 목록을 통해 부팅 과정에서 로드되는 악성코드 확인 가능
응용 프로그램 프리패칭
- 응용 프로그램 초기 실행 시 캐시 관리자는 처음 10초를 모니터링
- 10초동안 메모리에 로드한 코드와 데이터의 일부 혹은 전체를 파일로 생성하는데, 그게 바로 프리패치 파일
- 프리패칭 된 응용 프로그램 다시 실행 시 프리패치 파일을 이용해 초기 실행 속도 향상
- 파일 개수는 최대 128개로 제한되어 이를 초과할 시 가장 오래된 파일을 삭제
프리패치 목록을 통해 악성코드의 직접 실행 흔적 발견
참조 목록을 통해 참조된 혹은 삽입된 악성흔적 발견
참조 목록을 통해 프로그램 관련 파일 목록 확인
고려사항
- 원본 실행파일이 제거되어도 프리패치 파일은 시스템에 남아있다.
- 프리패치 파일이 존재하지 않는다고 특정 프로그램이 실행되지 않았다는 의미는 아니다.
- 윈도우 XP 이후의 모든 운영체제에서 프리패치 파일을 생성하는 것은 아니다.
사용할 수 있는 툴
Prefetch Manager (XP/2003/Vista)
WinPrefetchView
Practice
자신의 시스템에서 프리패치 파일 흔적 확인
비할당 영역에서 프리패치 파일 카빙한 후 분석
프리패치 파일은 최대 128개의 파일을 유지하고, 새로운 응용 프로그램이 실행되면 가장 오래 사용하지 않은 응용 프로그램의 프리패치 파일이 삭제되고 새 응용 프로그램 프리패치 파일이 추가된다. 이때 삭제는 일반삭제이므로 비할당영역에서 프리패치 파일을 카빙해볼 수 있다. - 상당히 많은 파일 발견 가능 예상
+) 비할당 영역 파일 카빙
실습 추가하기
Reference
http://www.forensic-artifacts.com/windows-forensics/prefetch
https://github.com/proneer/Slides/tree/master/Windows
https://ws1004-4n6.notion.site/Prefetch-Structure-Analysis-071a648fdb4445d9bfee8be3a6e4e107
'Forensics > 윈도우 아티팩트' 카테고리의 다른 글
[Windows Forensic Artifacts - 6] AmCache & ShimCache (0) | 2023.03.12 |
---|---|
[Windows Forensic Artifacts - 5] MUICache (0) | 2023.03.12 |
[Windows Forensic Artifacts - 4] Jumplist (0) | 2023.01.10 |
[Windows Forensic Artifacts - 3] LNK (0) | 2023.01.10 |
[Windows Forensic Artifacts - 1] Event Log (0) | 2022.04.01 |
댓글