Sh4n3e

윈도우 시스템 조사 - 윈도우 레지스트리 본문

Digital Forensic/Windows Forensic

윈도우 시스템 조사 - 윈도우 레지스트리

sh4n3e 2017. 6. 21. 23:28

가. 레지스트리 소개

윈도우는 레지스트리에 운영체제 및 응용 프로그램 운영에 필요한 정보를 저장 및 관리한다. 레지스트리에는 부팅 과정에서 사용되는 정보뿐만 아니라 로그인, 서비스 실행, 응용 프로그램 실행, 사용자 실행에 이르기 까지 윈도우 시스템에서 수행되는 많은 활동에 관여한다.

레지스트리는 마치 파일 시스템의 구성요소와 유사하다. 파일 시스템에서 모든 파일(File)은 폴더(Folder)내에 위치하는 것과 유사하게 레지스트리에서 모든 값(Value)은 키 내에 위치하며, 키들은 계층형 구조로 이뤄져 있다.

레지스트리는 실제 디스크 상에서 "하이브(Hive)"로 불리는 분리된 파일로 존재하며 윈도우 부팅과정에서 메모리에 적재되어 관리된다. 하이브(Hive) 파일은 레지스트리 정보를 디스크에 저장한 바이너리 파일이다. 이 파일은 시스템이 로그온 되면 시스템 커널 프로그램에 의해 관리된다.

다음은 윈도우 시스템에서 관리하는 하이브 파일의 목록이다.


하이브 파일 이름 

윈도우 레지스트리 경로 

저장 정보 

HKEY_USER\.DEFAULT

Default

사용자 계정이 생성될 때, 기본적으로 필요한 정보를 저장한다. 

HKEY_LOCAL_MACHINE\SOFTWARE  

Software

응용 프로그램 정보 

HKEY_LOCAL_MACHINE\SAM

Sam 

사용자 계정정보 저장 

HKEY_LOCAL_MACHINE\SECURITY 

Security 

감사정책 및 권한정보 저장 

HKEY_LOCAL_MACHINE\SYSTEM

System 

하드웨어 드라이버 및 구성정보 

HKEY_USERS 

Ntuser.dat

(각 윈도우 계정마다 하나씩 존재) 

사용자 계정에 설정된 정보 저장 


레지스트리의 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist 경로에는 해당하는 하이브 파일의 위치 정보가 저장되어 있다.

디지털 포렌식 조사 관점에서 레지스트리는 사용자의 활동 정보나 응용 프로그램 사용 흔적, 설치된 하드웨어 및 소프트웨어 정보, 네트워크 설정 정보와 같이 디지털 증거를 수집할 수 있는 커다란 포렌식 자원이라고 할 수 있다. 특히 각각의 키에 마지막 수정 시각까지 기록되어 있기 때문에 일종의 로그로써 활용할 수 있다.



나. 레지스트리 포렌식 분석

1) 설치된 프로그램 목록

레지스트리의 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 경로에 설치된 프로그램의 이름, 버전, 게시자, 설치 시각, 설치 위치, 소스 경로가 저장되어 있다.

하위 키는 설치된 응용 프로그램의 목록(SID로 표시)을 가리키고, 값에 설치된 프로그램 정보가 저장되어 있다. 프로그램 추가,삭제 목록을 조사하여 사용자가 의도하지 않은 특정 프로그램이 설치되어 있는지, 해당 프로그램이 정상적인 프로그램인지를 확인할 수 있다.

사용자가 최소 한번이라도 응용 프로그램을 실행했을 경우, 레지스트리 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurretnVersion\Explorer\UserAssist\{5E6AB780-7743-11CF-A12B-00AA004AE837}\Count 경로에 실행한 프로그램의 경로와 실행 유형, 실행 횟수, 최종 실행 시간이 저장된다.

해당 데이터들의 Raw값을 디스크 마운트를 통해 살펴 볼 수 있다. 해당 데이터를 조사하면 악의적인 프로그램을 삭제한 후에도 레지스트리에 남아 있기 때문에 중요한 증거로 사용될 수 있다.

 

2) 최근 사용된 HWP 문서 파일 정보

HWP는 한글과 컴퓨터 사에서 개발하고 발표하는 한글 워드 프로세스 프로그램이다. 특히 관공서에서 많이 사용하며, 한국에서 가장 많이 사용하고 있는 문서 편집기이다. 한글 2007의 경우 레지스트리 HKEY_CURRENT_USER\Software\HNC\Hwp\7.0\HwpFrame\Recent File 경로에 최근 사용한 문서의 목록이 최대 10개까지 저장된다.

해당 데이터는 유니코드 형태로 저장되어 있으며, file0가 가장 최근에 사용한 문서이다.


3) 최근 사용된 Microsoft Office 문서 파일 정보

마이크로 소프트 오피스 2007의 경우 최근 접근 문서가 최대 50개까지 저장된다. 마이크로소프트 오피스 엑셀, 파워포인트, 워드 프로세스가 모두 동일한 구조로 레지스트리에 저장되며 item 0가 최근에 사용한 문서이다.

레지스트리 HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\{Excel|PowerPoint|Word}\File MRU 경로에 최근 사용한 문서의 정보가 저장된다.


4) USB 외부 저장 장치 사용 이력 

USB(Universal Serial Bus)에 장치를 연결하면 관련 드라이버 정보 등이 레지스트리에 저장되는데 이 정보를 분석하여 대상 시스템에 연결한 USB 외부 저장장치 사용 이력을 조사할 수 있다. 해당 정보는 레지스트리 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR경로에 저장되며 해당 시스템에 연결된 적이 있는 모든 USB 저장 장치의 생산자와 ID 값 등이 기록되어 있다.

USBSTOR 하위키는 {Device Type}&Ven_{Vendor String}&Prod_{ProductString}&Rev_{Version Information}와 같은 형태로 기록되어 있다. Device Type은 해당 장치의 종류를 나타낸다. 여기에는 주로 Disk나 CD-Rom등이 나타난다. Vendor String에는 제조사, Product String에는 제품 이름, Version Information에는 제품 버전이 각각 기록된다.

USB에 연결된 장치는 Unique Instance라는 ID 값을 가지게 되는데, 이 값은 모든 USB 저장장치에 대해서 서로 다른 값을 가진다. 해당 값은 다른 시스템에 연결될 때도 같은 값으로 나타나기 때문에, USB 저장장치로 특정할 수 있다. 그러나 USB 저장장치 중 일부에 해당 값이 없는 경우가 존재한다. 이런 경우 USB 저장장치를 특정할 수 없기에 유의해야 한다.


5) 최근 접근 문서

 윈도우 탐색기를 사용해서 '더블클릭'을 통해 열람된 파일 목록 정보는 레지스트리 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs 경로에 저장된다. 하위키는 확장자 별로 구분하여 사용된 문서 정보를 저장한다. 해당 값은 유니코드로 저장된다.


6) 접근한 인터넷 주소 목록

인터넷 익스플로러는 윈도우에 내장된 기본 웹 브라우저이다. 웹 브라우저 주소창에 기록하는 주소 목록을 레지스트리 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs 경로에 기록한다. 이 정보를 분석하면 사용자가 자주 접속하는 웹 페이지, 주제, 키워드 등을 유추할 수 있다. 하지만 인터넷 익스플로러 7 버전부터는 해당 경로에 기록하지 않으며, 더 정밀한 인터넷 사용 흔적 분석을 위해서는 다음에 논의할 인터넷 사용 흔적 조사를 참조하여 웹 브라우저 로그 파일을 분석하는 방법이 있다.


 

7) 최근 실행 명령어

윈도우의 실행 창을 통해서 입력된 명령어 목록을 레지스트리 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU 경로에 기록한다. 레지스트리 내부에는 a,b,c와 같은 알파벳의 이름을 가진 레지스트리 값들이 입력된 명령어와 매치되어 저장되어 있는데, 이 것들의 실행 순서는 MRUList(Most Recent Used List) 값에 나타난다. 이 값은 가장 최근에 사용된 명령어 순서로 값 정보를 저장한 배열이다.

 

참고 : 디지털 포렌식 개론(이상진 저)

Comments