1.장치 인식 절차
USB를 컴퓨터에 꽂으면 [그림 1]의 일련의 절차를 거치게 된다.
[그림 1] 장치 인식 절차
1. USB를 컴퓨터에 꽂았을 때 Bus driver는 PnP manager에게 Device descriptor(제조 사, 일련번호 등)를 보내 장치가 연결
됬음을 알린다.
2. 커널모드 PnP manager는 Device descriptor 정보를 기반으로 Device Class ID를 구 성한 후, 레지스트리에서 드라이버
가 설치되있는지 검색한다.
3. 드라이버가 설치되어 있다면 로드하고, 없을 경우 커널모드 PnP manager가 장치의 펌 웨어에 정보를 요청하고 전달받은
정보를 유저모드 PnP manager에게 전달한다.
4-1. 유저모드 PnP manager는 드라이버를 설치하고 레지스트리에 기록한다.
4-2. 설치과정을 SetupAPI 로그에 기록 한다.
5. 설치가 완료되면 USB장치를 마운트하고 관련 정보를 레지스트리에 기록한다.
2. 아티팩트
[그림 2] XP USB 흔적 조사 절차
대략적인 USB 접촉 흔적 조사 순서는 위 그림과 같다. 위 절차에서 수집하는 기본적인 아티팩트는 PnP에 의해 자동적으로 생성되는 레지스트리와 로그가 있으며, 또 로그는 이벤트 로그와 SetupAPI 로그로 나뉜다.
가. setupapi.dev.log
C:\Windows\inf 경로에 위치하였으며 USB 연결사실과 최초 연결 시각을 확인 할 수 있다.
[그림 3] SetupAPI 로그
나. 이벤트 로그
Windows7 이후부터 많은 이벤트 로그가 생겨났는데, 그중 DriverFrameworks-UserMode이벤트 로그는 장치들의 드라이버가 로드된 이벤트를 기록한다. 이벤트 뷰어의 응용 프로그램 및 서비스 로그 - Microsoft - Windows - DriverFrameworks-UserMode에서 확인이 가능하다.
[그림 4] DriverFrameworks-UserMode
이벤트에 관해서 추가적으로 이 글에서는 장치 연결/해제 시 동일 이벤트가 발생하지만 상황에 따라 다를 수 있음을 언급하고 있다. 또, 여러 장치가 짧은 시간에 연결되어 연결/해제 쌍의 확인이 어려운 경우 [lifetime] GUID 값을 이용해 동일 장치의 연결/해제 시간을 확인 할 수 있다.
[그림 5] lifetime
다. 레지스트리
√ USBSTOR
시스템에 연결된 USB 디바이스와 관련해 제조사, 제품명 및 시리얼번호, 연결시각 등 기초 조사에 활용
[그림 6] HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR
[그림 6]의 시리얼번호 형식과 달리 두개의 &기호가 존재하는 경우는 시리얼 번호가 없어 PnP가 생성한 번호가 시리얼 번호 대신 표기된 경우이다.
√ WpdBusEnumRoot
볼륨의 이름 또는 사용되었던 드라이브 문자 확인
[그림 7] HKLM\SYSTEM\CurrentControlSet\Enum\WpdBusEnumRoot\UMB
√ Windows Portable Devices
USB 및 기타 디바이스 문자 확인
[그림 8] HKLM\SOFTWARE\Microsoft\Windows Portable Devices\Devices
√ MountedDevices
디스크 시그니처 확인
[그림 9] HKLM\SYSTEM\MountedDevices
√ Windows Portable Devices & Volume & EMDMgmt
아래의 키들의 하위키 중 제품명이나 시리얼 번호를 포함하는 키의 마지막 수정시간을 통해 장치가 연결된 시각을 확인 할 수 있다.
HKLM\SOFTWARE\Microsoft\Windows Portable Devices\Devices
HKLM\SYSTEM\CurrentControlSet\Enum\STORAGE\Volume
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDMgmt
이외에 추가적인 아티팩트는 여기를 참조
3. 참고
http://forensic-proof.com/archives/3632
http://forensic-proof.com/wp-content/uploads/2013/07/FP-%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC-%ED%8F%AC%EB%A0%8C%EC%8B%9D%EA%B3%BC-%EB%B3%B4%EC%95%88.pdf
http://forensic-proof.com/archives/3694
http://forensic-proof.com/archives/265
http://dfstream.blogspot.kr/2014/01/the-windows-7-event-log-and-usb-device.html
http://forensic-proof.com/wp-content/uploads/2012/06/USB-Device-Tracking-Artifacts.pdf
http://forensic-proof.com/archives/3421
http://forensic-proof.com/archives/5945
https://blogs.sans.org/computer-forensics/files/2009/09/VISTAUSB1.jpg
https://blogs.sans.org/computer-forensics/files/2009/09/XPUSB.jpg
'old > Forensic' 카테고리의 다른 글
[자료] 포렌식 강의 (0) | 2014.05.14 |
---|---|
[자료] 포렌식 이미지 샘플 (0) | 2014.05.08 |
[정리] NTFS, FAT 파티션 영역 복구 (0) | 2014.04.29 |
[자료] windows ShellBag (0) | 2014.04.22 |
[자료] Windows7 아티팩트 간단 정리 (0) | 2014.04.15 |