情報保護學會論文誌第 16 卷第 1 號, 2006. 2 윈도우시스템에서디지털포렌식관점의메모리정보수집및분석방법에관한고찰 * 이석희, 1 김현상, 1 이상진, 1 임종인 1 1 고려대학교정보보호대학원 A Study of Memory Information Collection and Analysis in a view of Digital Forensic in Window System * Seok-Hee Lee, 1 Hyun-Sang Kim, 1 SangJin Lee, 1 JongIn Lim 1 1 Center for Information Security Technologies, Korea University 요 약 본논문에서는 RFC3227 문서 [1] 에따른일반적인디지털증거수집절차를살펴보고메모리정보수집에대한절차를정립하였다. 또한디지털증거수집절차의개선사항으로메모리덤프절차를포함시키고시스템전체메모리를획득하는방법을제시하였다. 실사용자들의메모리를덤프하고가상메모리시스템의페이지파일을수집하여얼마나많은정보가검출되는지를확인해보았는데, 이과정에서핵심보안정보인사용자 ID와패스워드가페이지파일의절반정도에서검출되었으며데이터복구를통해중요정보를획득할수있음을확인하였다. 또한각각에대한분석기법과메모리정보를중심으로하는메모리정보획득절차를제시하였다. ABSTRACT In this paper, we examine general digital evidence collection process which is according to RFC3227 document[1], and establish specific steps for memory information collection. Besides, we include memory dump process to existing digital evidence collection process, and examine privacy information through dumping real user s memory and collecting pagefile which is part of virtual memory system. Especially, we discovered sensitive data which is like password and userid that exist in the half of pagefiles. Moreover, we suggest each analysis technique and computer forensic process for memory information and virtual memory. Keywords : Computer Forensics, Virtual Memory, Pagefile Ⅰ. 서론 1) 최근컴퓨터에저장되어있는데이터가법정에서 접수일 :2005 년 10 월 19 일 ; 채택일 :2006 년 1 월 12 일 * 본연구는정보통신부대학 IT 연구센터육성 지원사업의연구결과로수행되었습니다. 주저자 : gosky7@korea.ac.kr 교신저자 : sangjin@korea.ac.kr 다루어지는경우가많은데이와관련된분야를컴퓨터포렌식이라고하고, 정보처리기기를통하여이루어지는각종행위에대한사실관계를확증하거나증명하기위해행하는각종절차와방법으로정의할수있다 [15]. 컴퓨터포렌식은크게시스템포렌식과네트워크포렌식으로분류할수있다. 시스템포렌식이란대상컴퓨터시스템에남아있는흔적을가
86 윈도우시스템에서디지털포렌식관점의메모리정보수집및분석방법에관한고찰 공, 수집, 분석, 보관하는과정이며, 네트워크포렌식이란침해사고확인을시발점으로침해와관련있는네트워크이벤트를수집, 분석, 저장하는일련의과정이다 [16][14]. 포렌식절차는포렌식준비, 증거물획득, 증거물보관및이송, 증거분석단계, 보고서작성단계로구성되어있다. 이중증거물획득단계는사고발생현장에서디지털증거를수집하고, 증거의무결성을확보하는단계이다 [16]. 일반수사에서현장을확인하고관련증거를수집하는초등수사가정확하고효율적으로수행되기위해서는이단계가가장중요한부분이다 [17]. 현재저장매체의디지털증거수집절차로잘알려진표준으로 RFC 3227(Guidelines for Evidence Collection and Archiving) [1] 이있다. 이문서에서제시된수집절차는다음과같다. ㆍ사고와관련되어있는시스템과수집해야할증거들을목록화한다. ㆍ증거로써인정될수있는것들을결정한다. 증거물로써인정될지아닐지확실하지않은사항일경우에는수집목록에되도록많은사항을포함시킨다. ㆍ각시스템별로휘발성이강한정보들부터수집순서를정한다. ㆍ증거가변경될수있는외부요소들을제거한다. ㆍ휘발성이강한순서에따라서증거수집도구를사용해서증거를수집한다. ㆍ소요시간을기록한다. ㆍ수집한것이외에어떠한것들이증거가될수있는지다시검사한다. ㆍ각단계별로진행과정을기록한다. ㆍ디지털증거수집작업을한사람들의모든행동을기록한다. 누가거기에있었고, 무엇을하였으며, 무엇을획득하였고, 어떤작업을했는지등을기록한다. ㆍ수집된증거들에대해서체크섬값과전자서명값을생성한다. RFC 3227은디지털증거물수집에대한기준을제시하였다는데의미가있다. 그러나각단계별세부절차가없기때문에디지털증거수집현장에바로적용할수없다. 본논문에서는휘발성정보에서메모리수집절차에대한일반적인내용을확인하고, 메모리정보와페이지파일수집에대한구체적인디지털증거수집절차와분석방법을제시한다. 1.1 라이브시스템의디지털증거수집라이브시스템이란컴퓨터시스템이부팅된후운영체제에의해서동작되고있는온라인상태의시스템을말한다. 라이브시스템은대상시스템의운영상태및데이타를각종저장매체에기록하고있다. 이정보들중방치하거나시스템이종료되면사라지는정보를휘발성정보라한다 [16]. 이휘발성정보는주로메모리또는하드디스크의임시파일에저장되어있다. RFC3227 에서는휘발성이강한정보의순서를다음과같이제시하고있다 [1]. 1 레지스터, 캐쉬 2 ARP 캐쉬, 프로세스테이블, 커널, 메모리, 라우팅테이블 3 임시파일시스템 4 디스크 5 의심스러운원격로그인과시스템에대한모니터링 6 물리적인설치상태와네트워크구성 7 저장매체특히 1, 2번정보는시스템이종료될경우복구할방법이없다. 따라서시스템활성상태에서프로세스와시스템상태를검사할수있는프로그램을사용하여디지털증거를수집해야한다. 디지털증거수집시사용하는프로그램은무결성이보장되어야한다. 침해가일어난컴퓨터시스템의명령어는공격자에의해서변조되었을가능성이있기때문에증거수집에는사용할수가없다. 따라서디지털증거수집툴들은따로준비해야하며, 이러한프로그램들은 Forensic CD [2] 에서실행하는것이권장된다. Forensic CD란대상시스템이동작중에있는경우에는 CD 안에초등수사에필요한프로그램을탑재하고있어스크립트를이용해그즉시시스템의휘발성정보를수집할수있고, 대상시스템이종료되어있는상태라면하드디스크에인스톨할필요없이 CD-ROM 한장으로부팅해서 Forensic 작업을할수있는 Live Linux CD를말한다. Forensic CD의내부실행파일은실행에필요한라이브러리나 DLL 모듈을모두포함하는정적링크방식으로컴파일되어있어야하며, bat 또는 Shell script를사용하여단계적으로실시되어야한다.
情報保護學會論文誌 (2006. 2) 87 표 1. 휘발성정보수집스크립트예 수행스크립트 Time /t Date /t Psloggedon Dir /t:a /o:d /a /s c:\ Dir /t:a /o:d /a /s d:\ Netstat na Fport Pslist Nbtstat c Time /t Date /t Doskey /history 설명 시스템날짜와시간 ( 시작시간 ) 현재로그온되어있는사용자목록 파일시스템의 Time/date stamp 현재열려있는소켓목록 열려진소켓에대기하고있는어플리케이션 현재동작하는프로세스목록 현재또는최근시스템에연결했던시스템들의목록 시스템날짜와시간 ( 종료시간 ) 작업히스토리기록 Ⅱ. 메모리정보수집절차와분석기법 2.1 메모리정보수집의필요성 초등수사에서는일반적으로스크립트를작성해서 휘발성정보를수집한다. 일반적으로시스템구성 상태위주의수집이이루어지고있다. 표 1 은윈도 우 2000 및 XP 시스템에서사용가능한휘발성정 보를수집하는스크립트의예제이다 [12]. 표 1 에서보는바와같이휘발성정보를수집하 는작업내용중에메모리정보를획득하는절차는 포함되어있지않다. 하지만메모리에는시스템명 령어로수집할수없는많은정보들이포함되어있 고, 수사의실마리를풀수있는단서를가지고있 을가능성이매우높다. 따라서메모리정보를반드 시획득해야할필요성이있다. 메모리정보는크게시스템메모리와프로세스메 모리로구분할수있다. 본절에서는프로세스메모리 를획득하는방법을제시하고프로세스메모리에어 떠한정보가존재하는지를조사해보았다. 프로세스 메모리는그림 1 과같이 Microsoft OEM Support Tools 패키지에 있는 userdump.exe 를 사용할 수 있다. [3] 메모리덤프파일에는해당프로세스가사용했던 정보들이있기때문에, 사용자가입력한데이터혹 은프로세스가생성한데이터들이존재한다. 메모리 에정보가어떤식으로존재하는지알아보기위하여 두가지실험을하였다. 첫번째는보안접속을통해 인터넷 A 포탈사이트에로그인을한후메모리를 그림 1. 메모리덤프과정 덤프하였고, 두번째는인터넷뱅킹프로그램을사 용한후해당프로세스메모리를덤프하였다 [3]. 메모리덤프파일에는바이너리값과문자열이섞 여있어수사관이분석하기힘들기때문에가독성이 편한형태로변환하였다. 리눅스에서는오브젝트파 일이나실행파일에서 ASCII 코드나유니코드문 자열을검색해서출력해주는 strings' 명령을사용 할수있고, 윈도우에는이와같은명령어가존재하 지않지만 Sysinternals 사에서이러한기능을하 는유틸리티를제공하고있다 [4]. ㆍ인터넷익스플로러 인터넷익스플로러를이용해서특정웹사이트에 보안접속을통한로그인을하고그메모리를덤프 하였다. 그리고덤프파일에 passwd 라는문자열 로검색을수행하였다. 그결과, 파일에는사용자의 ID 와패스워드가평문으로존재하는것을확인할 수있었다. pu=http%3a%2f%2flogin.empas.com%2flogin%2flog_empas.h tml%3fes%3dhttp%253a%252f%252fwww.empas.com&bsecu re=1&userid=idsample&passwd=passwdsample&x=20 &y=19 그림 2. 인터넷익스플로러메모리덤프파일의검색결과 ( 로그인 ID/ 패스워드 ) ㆍ인터넷뱅킹프로세스 인터넷뱅킹을사용하기위해특정은행의웹사이 트에공인인증서를통한로그인을하고클라이언트 프로그램과인터넷익스플로러프로세스메모리를 덤프하였다. 덤프파일에는인증서패스워드, 계좌 번호, 해당계좌의비밀번호가평문형태그대로있 는것을확인하였다.
88 윈도우시스템에서디지털포렌식관점의메모리정보수집및분석방법에관한고찰 ()0021IB0001107798,ou=CHB,ou=personal,o=yessign,c=krcn=yessi gnca,ou=licensedca,o=yessign,c=krcer.passwdsample 그림 3. 인터넷뱅킹클라이언트프로그램메모리덤프파일의검색결과 ( 인증서패스워드 ) 호 _SEL=XXXX-XX-XXXXXXX& 출금계좌번호 =XXXX-XX- XXXXXXX& 비밀번호 =PASSWDSAMPLE& 입금계좌번호 =XXXX-XX-XXXXXXX&se_select=XXXX-XX-XXXXXXX& 입금은행코드 =02& 이체금액 =40,000& 의뢰인성명 = 그림 4. 인터넷익스플로러 ( 인터넷뱅킹 ) 메모리덤프파일의검색결과 그림 5. 메모리에서의웹로그인정보추출 그림 5 와같이웹서버에보안접속과정을거쳐 로그인을하더라도 ID 와패스워드는반드시메모리 에적재되었다가암호화되어서통신을하기때문에 메모리에암호화되기전의평문상태가그대로남아 있게된다. 사용자가일반적으로웹페이지에서특정정보를 입력하고그정보를프로그램이사용하기위해서는현 재컴퓨터특성상항상데이터를메모리에적재하게 되어있다. 웹브라우저의클라이언트프로그램이나익 스플로러의프로세스가서버와암호통신을하기위해 서는일단평문데이터를메모리에적재하고그것을 암호화해야하기때문에컴퓨터시스템의특정메모리 공간에는사용자가입력한정보가적재된다. 따라서 메모리정보를수집하는것은시스템을종료하면획득 할수없는중요한정보를획득할가능성이있다. 2.2 시스템전체메모리수집 앞에서살펴본프로세스메모리덤프방법을사용 해서는시스템메모리를획득할수가없다. 하지만 윈도우시스템의최대절전모드를사용한다면시스 템의전체메모리를손쉽게획득할수있다. 최대절전모드는주로배터리를사용하는랩탑 컴퓨터에서부족한전원을관리하기위해서사용하 는기능으로써열려있는모든파일및문서와함께 바탕화면의이미지를저장한다음컴퓨터의전원을 끈다. 즉현재메모리내용을하드디스크에저장하 고종료한다. 다시전원을켜면전원을끄기전과 똑같은작업환경으로부팅이된다. 단하드웨어에 서최대절전기능을지원해야한다는단점이있지 만, 요즘의대부분의 PC 는최대절전기능을지원 하고있다. 이러한최대절전모드는시스템의비활 성기간을설정해놓고자동으로사용할수도있고 사용자가직접최대절전모드로전환할수도있다. 컴퓨터의전원이차단될때메모리의모든내용을 하드디스크에저장하는데그위치는 C:\hiberfil.sys 라는파일에저장된다. 시스템이설치될때운영체 제에서기본적으로 RAM 용량과같은크기의공간 을확보한다. 최대절전기능으로종료한후, hiberfil.sys 파일을획득한다면현재메모리전체내 용을획득할수있다. Hiberfil.sys 파일은해당하드디스크를분리하 여다른시스템에슬레이브로디스크를장착하여획 득할수있고, Forensic CD 를이용하여획득할 수도있다. 하지만디스크이미징작업이예정되어 있다면이미징파일안에서획득할수가있어또다 른추가작업을하지않아도된다. 기존의알려진일반적인포렌식절차에서는라이 브데이터를수집하고난후시스템의전원을바로차단하여비정상종료 [11] 후디스크이미징작업을 하지만이러한절차는시스템전체메모리를획득할 수없고, 시스템에치명적인손상을가할위험이있 다. 최대절전모드는종료될때메모리의데이터를 하드디스크로옮기고전원을바로차단하여종료하 지만시스템에하드웨어적인손상을가하지않기때 문에시스템메모리정보도확보하고하드디스크의 내용도변경하지않는다. 따라서디스크이미징 작업을할때에는, 기존에알려진전원을차단하여 비정상종료하는방법대신최대절전모드를사용 하는것으로바뀌어야한다. 최대절전기능을사용 하는방법은표 2 와같다. Ⅲ. 가상메모리시스템과페이지파일 현재사용되고있는대부분의컴퓨터시스템은가 상메모리기법을이용한다. 가상메모리 (Virtual
情報保護學會論文誌 (2006. 2) 89 표 2. 최대절전모드사용법 제약사항 순서 1. 전원사용자그룹의구성원또는관리자로로그온해야한다. 2. 컴퓨터가네트워크에연결되어있으면네트워크정책설정으로인해이절차를완료하지못할수도있다. 1. 제어판에서전원옵션을연다. 2. 최대절전모드탭을클릭한다음최대절전모드지원확인란을선택한다. ( 최대절전모드탭이표시되지않으면하드웨어가이기능을지원하지않는것이다.) 3. 확인을클릭하여전원옵션대화상자를닫는다. 4. 시스템종료를클릭하고, 드롭다운목록에서최대절전모드를선택한다. Memory) 는운영체제에의해구현되는개념으로서, 프로그래머에게큰용량의메모리나데이터저장공 간을사용할수있도록허용하는것을말한다 [5]. 즉 보조기억장치를마치주기억장치인것처럼이용하 는방법으로, 실제존재하지않는메모리를있는것 처럼사용하는방법이다. 프로세스가수행되려면주기억장소내에있어야 하지만시분할시스템에서일시적으로주기억장소 에서보조기억장소로이주될수있고수행될필요 성이있으면다시주기억장소로되돌아온다. 어떤 프로세스가중앙처리장치의사용기간이만료되어더 이상사용할수없을경우이프로세스는더이상주 기억장소에있을필요가없다. 이런프로세스를잠시 메인메모리에서보조기억장치의 pagefile 로이주 시킨다. 이때주기억장치와보조기억장치사이의 데이터교환을스왑핑 (swapping) 이라고한다. 그리 고보조기억장치, 즉하드디스크에서주기억장치 로들어오는것을 swap-in, 주기억장치에서하드 디스크로물러나는것을 swap-out 이라고한다 [6]. 그림 6 의스왑과정은다음과같다. 1 프로그램실행 2 운영제체가메모리에서중요하지않다고판단 되는프로세스선택 3 하드디스크의스왑영역으로이동 4 메모리에빈공간확보 5 프로그램로딩 그림 6. 스왑과정 3.1 페이지파일개요윈도우 NT/2000 시스템에서사용하는스왑영역은통상실제메모리용량의 1.5배크기로 C:\pagefile.sys 파일로만들어지고윈도우 9x에서는 C:\windows\win386.swp 파일로만들어진다. 그림 7은윈도우시스템에서페이지파일에접근하는프로세스들을모니터링한것이다 [7]. 윈도우시스템에서메인메모리의정보를하드디스크의페이지파일에기록하는모습을볼수있다. 즉메인메모리의일정영역에존재하던특정프로세스의데이터가더이상필요하지않거나작업스케쥴링알고리즘에의해서잠시페이지파일로이동되는것을알수있다. 페이지파일로이동되는페이지정보는수사진행에핵심적인내용과용의자의개인정보및사건정황에대한정보를담고있을가능성이있기때문에페이지파일의내용도조사할필요성이있다. 페이지파일에기록되어있는정보들은윈도우에서기본적으로시스템이종료될때삭제하지않게되어있다. 다음의레지스트리정보를통해설정값을확인할수있다. -HKLM\ System\CurrentControlSet\Contr ol\sessionmanager\memorymanagement\ Cl 표 3. 페이지파일의기본크기 시스템메모리크기 페이지파일의최소크기 페이지파일의최대크기 1GB 이하 1.5 * RAM 3 * RAM 1GB 초과 1 * RAM 3 * RAM 그림 7. Pagefile.sys 파일접근모니터링
90 윈도우시스템에서디지털포렌식관점의메모리정보수집및분석방법에관한고찰 그림 8. Pagefile 구조 그림 9. 페이지파일기록순서 earpagefileatshutdown 의값이 0일경우, 종료될때페이지파일의내용을삭제하지않는다 [8]. 다음그림 8은페이지파일의대략적인구조이다. 운영체제를하드디스크에새로설치할경우시스템에서페이지파일의영역을하드디스크상임의의공간에할당한다. 이렇게할당된페이지파일에서하드디스크의이전사용흔적을찾을수있다. 왜냐하면하드디스크의데이터를삭제하고포맷을하더라도실제데이터는지우지않기때문에시스템을설치하기이전의데이터가남아있기때문이다. 페이지파일의첫 4096byte 는모두 0 으로채워지거나 PAGE" 라는문자열을반복해서적는다. 첫 4096 바이트는 0 으로채워지는경우가대부분이다. 단시스템종료시페이지파일을삭제하도록레지스트리값을설정하면, 시스템종료과정중에페이지파일의첫번째 4096byte 는반드시 "PAGE" 라는문자열로값을설정한다. 실제가상메모리정보들은두번째 4096byte 부터채워진다. 페이지단위 4096byte 로 page-out 되는내용들이기록되며페이지파일의끝까지확장되면서기록된다. 3.2 페이지파일분석 3.2.1 데이터분석기법 Disk 전체의이미지작업이예정되어있다면, 디스크이미지안에해당파일이존재하기때문에페이지파일을따로수집할필요는없다. 하지만전체이미지파일획득이불가능하다면페이지파일을따로수집해야한다. 또한페이지파일은단서가될수있는정보가매우많이포함되어있기때문에그 에적합한분석방법이필요하다. 본절에서는페이지파일의분석기법을제시한다. 페이지파일을처음부터 4096byte 단위로구분하였을때한개의 4096byte 페이지의내용은모두동일한프로세스에서사용한내용이다. 4096byte 내의데이터들을관련지어서분석을한다면의미있는결과가도출될가능성이있다. 또한페이지파일에내용이기록될때에는 page-out 되는순서에따라서페이지파일의 offset 1000h부터 4096byte 단위로순차적으로기록된다. 이러한점을고려해볼때, 페이지파일의 offset 번지에따라서 pageout되는시간을예측할수있다. 즉 offset 1000h 의 4096byte 페이지보다그이후의 1000h 보다큰 offset부터시작하는 4096byte 페이지가시간적으로뒤에일어난일이라고분석할수있다. 하지만이러한분석내용은언제나적용되는것은아니다. 왜냐하면시스템이 page-out 된정보를페이지파일의끝까지채워서사용하고, 페이지파일에더이상채워넣을공간이없다면, 사용을마치고반환된페이지영역에그이후 page-out 되는페이지를덮어쓰기때문이다. 하지만이러한시간순서에따라나타나는분석결과는어느정도높은확률로존재하는데, 그이유는시스템을재실행할때마다페이지파일의처음부터기록하므로페이지파일뒷부분은덮어써지는횟수가적다. 따라서페이지파일의뒷부분정보는시간순으로되어있을확률이높다. 3.2.2 데이터복구페이지파일은텍스트문자열, 바이너리코드값
情報保護學會論文誌 (2006. 2) 91 등이섞여있어분석자가쉽게인식할수없는형태 이다. 따라서페이지파일을수집하였을때에는사 람이읽을수있는형식으로변환하는작업이필요 하다. 리눅스의 strings 명령은오브젝트파일이나실 행파일에서문자열을찾아주는기능이있는데반해 윈도우유틸리티는한글검색을지원하지않기때문 에본논문에서는가상메모리파일로부터주요키 워드를추출하는필터링프로그램을작성하였다. 여 러시스템으로부터획득한페이지파일은필터링프 로그램을통해가독성있는형태로변경한다음에 분석하였다. 가상메모리시스템을사용하는이상 페이지파일에는 swap-out 된정보가하드디스크 에그대로남아있게되며, 실제로페이지파일로부 터다음과같은정보들을획득할수있었다. 표 4. 스왑파일 ( 페이지파일 ) 내의정보 1. 문서의글자 2. ID, 패스워드 3. 사용자가보았던내용 (URL, 메신저내용 ) 4. 타이핑했던정보 5. 그림파일 6. 기타정보 표 5. 인터넷검색정보 인코딩된검색문자열 http://search.naver.com/search.naver?wher e=nexearch&query=%c0%da%b5%bf %C2%F7+%C5%B0+%BA%D0%BD%C7 디코딩검색어원문 자동차키분실 위의검색정보의쿼리문자열은 url 인코딩 [13] 되 어있는정보이기때문에 url 디코더를사용해서다 시원래의단어를복원할수있고간단하게브라우 저의주소창에전체 url 를붙여넣기만하더라도원 래의단어를알아낼수있다. 이러한정보는과거에 용의자가인터넷검색을위해서어떠한단어를입력 했고어떠한정보를검색하고있었는가를판단할수 있는중요한단서를제공한다. 위의여러가지정보중에서도특히패스워드를 중심으로조사를하였는데메모리에서볼수있었던 사용자 ID 와패스워드가 page-out 된것을확인할 수있었다. 그결과는다음과같다. 표 6. 페이지파일패스워드검사결과 전체시스템검사개수 패스워드발견시스템개수 30 개 17 개 대부분의파일은자기자신만의고유한시그니쳐를가지고있다. 이러한파일시그니쳐검색을이용한다면페이지파일에서조각난파일이나전체를획득할수도있다. 그예로, JPEG 그림파일의시그니쳐를이용해서페이지파일을검색한결과다수의파일시그니쳐가검색됨을확인하였다. 검색된해당바이너리코드를 hex 편집기를이용해서수동으로복구하였으나, 대부분의파일이완전하게복구되지않았다. 하지만이러한복구절차가중요한이유는예상치못한증거를획득할수있는기회가있기때문이다. 인터넷포탈사이트등에서인터넷검색을위해서검색창에타이핑했던정보도다음과같이검출되었다. 표 7. 페이지파일의크기별패스워드존재개수 페이지파일크기 메모리크기검사파일수패스워드존재수 256M 미만 192M 미만 4 개 0 개 384M 256M 7 개 5 개 768M 512M 12 개 7 개 1G 이상 768M 이상 7 개 5 개 표 6 을보면약절반정도에서패스워드가존재 하는것을확인할수있으며, 표 7 을보면페이지 파일의크기가 384M 바이트이상일경우패스워드 가존재하는것이약 65% 이상임을알수있다. 요 즘 PC 사양은메모리크기가대부분 256M 바이트 그림 10. jpg 파일검색결과 그림 11. 복구된그림파일
92 윈도우시스템에서디지털포렌식관점의메모리정보수집및분석방법에관한고찰 이상임을고려할때수사에활용할수있는정보가 더많이존재할것으로예상된다. 이러한정보는범 죄수사단계에서용의자의알리바이또는컴퓨터활 용성향을알아낼수있는좋은자료가될수있다. 3.2.3 페이지파일분석의의 메모리와페이지파일에는사용자입력정보, ID, 패스워드등중요한개인정보들이포함되어있다. 따라서메모리정보수집을통해증거수집직전에 사용하던용의자의이메일또는웹사이트의계정과 비밀번호를쉽게획득할수있다. 또한페이지파일 수집을통해과거에기록되었던개인정보를획득할 수도있다. 만약범죄용의자의시스템인경우그의 진술또는추가조사없이도이메일계정의 ID, password, 인터넷뱅킹계좌정보등을알수있 는장점을제공한다. 따라서메모리분석은라이브 시스템의디지털증거수집단계에서반드시수행되 어야하는절차이다. 이러한메모리및페이지파일 정보분석을통한컴퓨터포렌식정보수집은컴퓨 터범죄수사과정에서다음과같은의미를가진다. 첫째, 용의자의중요정보를획득할수있다. 특 히 ID/ 패스워드는하드디스크에저장이안되거나, 저장될지라도암호화되어저장된다. 따라서수사과 정에서 ID/ 패스워드가필요한경우용의자의진술 에의존하거나, 직접패스워드를획득해야한다. 그 러나메모리정보분석작업은이를수사관스스로 획득할수있는가능성을제공한다. 둘째, 용의자의과거시스템사용기록및성향을 유추할수있다. 페이지파일에는과거메모리사용 내역이기록되어있다. 따라서이를분석하면시스 템을사용한내역을유추하여, 수사의실마리를제 공할수있다. 셋째, 하드디스크에서찾을수없는정보를제공 한다. 용의자가특정문서나그림을열람하고이를 Anti-Forensic 기법 [10] 으로완벽히삭제하였을경 우, 이를하드디스크에서복구하기가어렵다. 그러 나문서의전체또는일부의정보가메모리에남은 경우, 이를복구할가능성이있다. Ⅳ. Window 활성시스템에대한디지털증거수집절차제안 우리는앞절을통해메모리및가상메모리파일 을수집하여분석한결과를제시하였고, 이를통해 사용자의중요한개인정보들을다수발견할수있음을확인하였다. 이러한메모리및가상메모리파일의특성을사용하여컴퓨터포렌식조사 / 분석과정에서용의자의개인정보를획득할수있고, 이를수사과정의주요단서로사용하거나, 혐의를입증하거나반증할수있는디지털증거로사용할수있다. 이번절에서는메모리및가상메모리파일의활용을최대화하기위해서, 디지털증거수집과정에서가능한많은메모리정보를수집할수있는절차를제안하고자한다. 제안하는메모리정보획득을중심으로한디지털증거수집과정은다음과같다. 1. 디지털증거수집현장에최초로도착한자는용의자의자료삭제및파괴행위를방지한다. 2. 관련시스템과증거를수집할수있는시스템목록을작성하고수색영장이허용하는범위에서모든 H/W, S/W, 메모, 로그, 주기억장치, 보조기억장치등을수색한다. 3. 작성된목록에서휘발성정보를포함하고있는시스템및저장매체를식별한다. 4. 메모리정보를수집할수있는 tool이포함된 Forensic CD를사용하여메모리덤프를실시한다. 메모리정보수집 tool은자동으로정보를확인및수집하는 bat 또는 Shell Script 형태로구성되는것이가장이상적이다. 5. 획득된메모리정보는용의자의저장매체에저장하지않고, 디지털증거수집자가준비한휴대용저장매체에저장하거나, 휴대용저장매체를연결할수없을경우, 네트워크를통하여전송하도록한다. 6. 휘발성정보를모두획득하였다면, 이때저장매체의정보변경을최소화하고시스템메모리를획득하기위해최대절전모드로시스템을종료한다. 7. 부팅이가능한컴퓨터포렌식 CD를활용하여재부팅한다. 컴퓨터포렌식 CD 내부에있는툴을사용하여, 일반디지털증거수집과이미징작업을실시한다. 만약필요하다면 pagefile.sys와 hiberfil.sys 파일은앞절에서설명한방식으로따로수집한다. ( 제안절차는메모리정보수집을중심으로설명하였기때문에, 이후의일반적인디지털증거수집절차는언급하지않도록한다.) 위의디지털증거수집절차를사용하면, 최대한
情報保護學會論文誌 (2006. 2) 93 많은메모리정보를수집하여, 향후디지털증거분석과정에서용의자에대한핵심정보획득을기대할수있을것이다. Ⅴ. 결론본연구에서는 RFC3227 증거수집지침에대해서살펴보았다. 휘발성데이터를수집하는절차에서정보를수집하는것이좀더세부적으로명시되어있을필요가있다. 따라서윈도우시스템의프로세스및전체메모리정보와페이지파일을수집하고그분석기법을제시하였다. 메모리정보와페이지파일에는개인정보, 그림파일, 입력한문자열을확인할수있었고, 특히패스워드정보는약절반정도검출되는것을확인할수있었다. 이는컴퓨터범죄수사과정에서용의자를추적할수있는단서와정보를획득할수있는수단으로사용할수있다. 메모리와페이지파일에는수사에활용할수있는정보가많이포함되어있으므로반드시수집을해야하며그에적합한분석기법이필요하다. 또한시스템전체메모리를획득하고안전하게전원을차단하기위해서최대절전모드를사용해야한다. 향후연구과제로는본논문에서제시한메모리정보와페이지파일의분석기법을적용한포렌식분석기를구현하고, 메모리덤프파일과페이지파일분석기를통해실제적인증거분석에대한실험결과를도출해내고자한다. 참고문헌 [1] RFC3227, "Guidelines for Evidence Collection and Archiving", http:// www.faqs.org/rfcs/rfc3227.html, 2002. [2] Kyle Rankin, KNOPPIX HACKS, O RELLY, 2005, pp.256-263 [3] Microsoft Support tools, http://download.microsoft.com/download/win2000 srv/utility/3.0/nt45/e N-US/Oem3sr2.zip [4] Strings, Sysinternals, http://www.sysinternals.com /Utilities/Strings.html [5] Virtual Memory, http://searchstor a g e. t e c h t a r g e t. c o m / s D e f i n i t i o n / 0,, sid5_gci213300,00.html [6] A. Silberschatz, P. Galvin, "Operating System Concepts", fifth edition, John Wiley & Sons, Inc., 1998. [7] File Monitor, Sysinternals. http:// www.sysinternals. com/ ntw2k/source/ filemon.shtml [8] Chris, Kevin, "Incident Response & Computer Forensics", Second Edition, McGraw-Hill, 2003, pp.315-316 [9] Douglas Schweitzer, "Incident Response:Computer Forensics Toolkit", Wiley Pulishing Inc.. 2003, pp. 121-123 [10] 김정민, 박종성, 허재성, 이상진, Anti-Forensic 기법을이용한프라이버시보호에관한연구, 한국정보보호학회하계학술대회논문집, Vol14, NO1, pp.159-160, june 2004. [11] ACPO(Association of Chief Police Officers), "Good Practice Guide for Computer based Eletronic Evidence", htt p://www.acpo.polic e.uk/asp/policies/p olicieslist.asp, Version 3, pp.11 [12] Chris, Kevin, "Incident Response & Computer Forensics", Second Edition, McGraw-Hill, 2003, pp.114-115 [13] RFC 3875, The Common Gateway Interface (CGI) Version 1.1, http:// www.faqs.org/rfcs/rfc3875.html, 2004 [14] 박종성, 최운호, 문종섭, 손태식, 자동화된침해사고대응시스템에서의네트웍포렌식정보에대한정의, 정보보호학회논문지, 2004년 8월 [15] 이형우, 이상진, 임종인 컴퓨터포렌식스기술, 정보보호학회지, 2002년 10월 [16] 황현욱, 김민수, 노봉남, 임재명, 컴퓨터포렌식스 : 시스템포렌식스동향과기술, 정보보호학회지, 2003년 8월 [17] 이하영, 김현상, 최운호, 이상진, 임종인, 국내환경에맞는컴퓨터포렌식에서의초기신고시스템, 정보보호학회지, 2005년 2월
94 윈도우시스템에서디지털포렌식관점의메모리정보수집및분석방법에관한고찰 < 著者紹介 > 이석희 (Seok-Hee Lee) 2003 년 : 부경대학교컴퓨터공학과졸업 ( 학사 ) 2004 년 ~2006 년 : 고려대학교정보보호대학원졸업 ( 석사 ) 2006 년 3 월 ~ : 고려대학교정보보호대학원박사과정관심분야 : 컴퓨터포렌식, XML 보안, 역공학 김현상 (Hyun-Sang Kim) 2002 년 : 경희대학교졸업 ( 학사 ) 2004 년 : 고려대학교정보보호대학원졸업 ( 석사 ) 2005 년 ~ 현재 : 고려대학교정보보호대학원박사과정관심분야 : 컴퓨터포렌식, 디지털증거인증, 임베디드포렌식, 분산처리컴퓨팅 이상진 (Sangjin Lee) 1987 년 2 월 : 고려대학교수학과학사 1989 년 2 월 : 고려대학교수학과석사 1994 년 2 월 : 고려대학교수학과박사 1989 년 2 월 ~1999 년 2 월 : 한국전자통신연구원선임연구원, 1999 년 2 월 ~2001 년 8 월 : 고려대학교자연과학대학조교수, 2001 년 9 월 ~ 현재 : 고려대학교정보보호대학원부교수 < 관심분야 > 대칭키암호. 정보은닉이론, 컴퓨터포렌식 임종인 (Jongin Lim) 1986 년 2 월 : 고려대학교대학원수학과박사 ( 암호학 ) 2000 년 8 월 : 고려대학교정보보호대학원 /CIST 원장 ( 센터장 ) 2004 년 1 월 : 국가정보원정보보호정책자문위원 2005 년 7 월 : 대통령자문전자정부특별위원 2005 년 12 월 : 국회과기정위원회정보통신정책자문위원 < 관심분야 > 정보보호기술, 정보보호정책, PET, 컴퓨터포렌식