디지털포렌식기술및동향 Technologies and Trends of Digital Forensics u-it839 의정보보호이슈특집 정익래 (I.R. Jeong) 홍도원 (D.W. Hong) 정교일 (K.I. Chung) 암호기술연구팀선임연구원암호기술연구팀팀장정보보호기반그룹그룹장 목차 Ⅰ. 디지털포렌식 Ⅱ. 증거수집 Ⅲ. 증거분석 Ⅳ. 증거제출 Ⅴ. 포렌식시스템및툴현황 Ⅵ. 포렌식활용분야 Ⅶ. 포렌식발전방향 디지털포렌식은정보기기에내장된디지털자료를근거로삼아그정보기기를매개체로하여발생한어떤행위의사실관계를규명하고증명하는신규보안서비스분야이다. 본고에서는디지털포렌식수행절차인증거수집, 증거분석, 증거제출과정에서필요한기술들과문제점들에대해서살펴본다. 또한현재까지개발된포렌식툴들의현황과활용분야및발전방향에대해서도살펴본다. 97
I. 디지털포렌식 IT 기술의발전및급격한정보화사회로의변화는정보의디지털화를가속시켜서컴퓨터관련범죄뿐만아니라일반범죄에서도중요증거또는단서가컴퓨터를포함한디지털정보기기내에보관하는경우가증가함에따라, 증거수집및분석을위한전문적인디지털포렌식기술이요구된다. 디지털포렌식은정보기기에내장된디지털자료를근거로삼아그정보기기를매개체로하여발생한어떤행위의사실관계를규명하고증명하는신규보안서비스분야이다. 디지털포렌식은검찰, 경찰등의국가수사기관에서범죄수사에활용되며, 일반기업체및금융회사등의민간분야에서도디지털포렌식기술의필요성이증가하고있다. 예로써, 포렌식기술은보험사기및인터넷뱅킹피해보상에대한법적증거자료 수집및내부정보유출방지, 회계감사등의내부보안강화에활용가능하다. 디지털포렌식은크게증거수집, 증거분석, 증거제출과같은절차로이루어진다 [1],[2]. 증거수집 : 손상되기쉽고, 사라지기쉬운디지털증거가저장된저장매체 ( 컴퓨터메모리, 하드디스크, USB 등 ) 에서데이터의무결성을보장하면서데이터를읽어내야한다. 이때무결성이란원저장매체에대한데이터변조가일어나지않음을의미한다. 증거수집에서유용한기술로는무결성을보장하는이미징기술등이있다. 증거분석 : 증거수집으로얻은데이터로부터유용한정보를이끌어내야한다. 유용한정보는 용어해설 디지털포렌식 : 정보기기에내장된디지털자료를근거로삼아그정보기기를매개체로하여발생한어떤행위의사실관계를규명하고증명하는것을말한다. 무결성 : 디지털증거의무결성이란증거자료의신뢰성을확보하기위해서수집된디지털데이터가변조및손상되지않았음을보장하는것을말한다. 보통저장매체에존재하는파일시스템의내부나외부에존재할수있다. 예를들면, 범죄자는저장매체에존재하는 NTFS와같은파일시스템내부나, NTFS에서사용하지않는저장매체구역에중요정보를숨길수있다. 증거분석에서유용한기술로는삭제된파일복구기술이나암호화된파일해독및문자열검색기술등을들수있다. 증거제출 : 입수된디지털증거가법적증거로채택되기위해서는증거자료의신뢰성이확보되어야한다. 이를위해법률적으로디지털포렌식에대한표준절차뿐만아니라포렌식툴에대한검증절차또한이루어져야한다. 디지털포렌식의종류는다음과같이나누어볼수있다. 컴퓨터포렌식 : Windows나 Unix와같은운영체제를탑재한범용컴퓨터를대상으로하는디지털포렌식을말한다. 임베디드 ( 모바일 ) 포렌식 : 핸드폰과같은모바일기기나디지털카메라, 캠코더, PDA와같은다양한디바이스에대한디지털포렌식을말한다. 네트워크포렌식 : 컴퓨터나핸드폰과같은통신디바이스를사용해서통신이이루어지는경우에, 이런통신디바이스에서네트워크정보, 사용자로그, 인터넷사용기록등과같은정보를수집및분석하는포렌식을말한다. Ⅱ. 증거수집 보통의디지털기기는운영체제가탑재되어있으며, 운영체제는휘발성저장매체와비휘발성저장매체를사용한다. 휘발성저장매체란 DRAM과같이컴퓨터운영체제가종료되면더이상데이터를복구할수없는저장매체를말하며, 비휘발성저장매체란 EEPROM, 플래시메모리, 하드디스크와같이운영체제가종료된이후에도데이터를복구할수있는저장매체를말한다. 디지털포렌식에서증거수집은 98
정익래외 / 디지털포렌식기술및동향 대상매체의운영체제종료여부에따라서다음과같이나눌수있다. 데드시스템상에서의증거수집 : 운영체제가종료된컴퓨터나핸드폰같은기기에대한증거수집을말하며, 주로하드디스크나플래시메모리로부터데이터를얻는것으로이루어진다. 라이브시스템상에서의증거수집 : 운영체제가종료되지않은컴퓨터나핸드폰같은기기에대한증거수집을말한다. 하드디스크와같은비휘발성매체뿐만아니라컴퓨터메모리와같은휘발성저장매체로부터데이터를얻는것으로이루어진다. 라이브시스템상에서의디지털포렌식을수행하기위해서는운영체제가사용중인휘발성메모리와하드디스크를접근할필요가있다. 하지만 Windows와같은운영체제에서는중요한메모리영역이나하드디스크상의파일에대한사용자프로그램의접근을막고있다. 따라서라이브시스템상에서의포렌식을위해서는운영체제의보호기능을우회할수있는기술이필요하다. 1. 데드시스템상에서의증거수집데드시스템상에서의증거수집기술은포렌식대상기기에따라달라지게된다. 핸드폰기기와같이비휘발성저장매체를분리및접근하기가용이하지않은기기는상대적으로컴퓨터하드디스크와같이쉽게저장매체를분리및접근할수있는기기보다데이터획득이어렵다. 데이터를쉽게획득할수있는컴퓨터하드디스크에서도원본데이터의이미지를만들게되는데, 이는나중에증거분석을할경우에원본데이터가변경되는것을막기위해서이다. 따라서본저장매체에있는데이터의무결성을보장할수있는이미징기술이필요하다. 2. 라이브시스템상에서의증거수집운영체제가종료되지않은시스템에서의데이터 획득순서는휘발성저장매체에있는데이터들을먼저획득한후에, 비휘발성저장매체에있는데이터들을획득하는순서로이루어진다. 포렌식대상이되는라이브시스템에서휘발성저장매체나비휘발성저장매체에서데이터를획득하기위해서는라이브시스템운영체제에있는명령어들을사용하기보다는포렌식툴을사용해서데이터를획득해야하는데, 그이유는다음과같다. 첫째, 대상시스템의운영체제명령들이공격자에의해서이미바뀌어있어서그명령을사용할경우사건증거들을삭제할가능성이있기때문이다. 둘째, 운영체제명령어들이바뀌지않았다하더라도, 정상적인운영체제명령의실행이시스템정보를변경할가능성이있기때문이다. 예를들어보면, Windows 운영체제에서단순히탐색기창을여는것만으로여러파일들의마지막접근시간 (accessed time) 이변경되게된다. 파일과관련해서여러시간정보가존재하는데마지막접근시간이외에마지막수정시간 (modified time), 생성시간 (created time) 이존재한다. 이런 MAC(Modified, Accessed, Created) 시간은사건을조사하는데있어서중요한요소이므로절대변경되어서는안된다. 셋째, 운영체제는시스템보호를위해서일부데이터나파일들에대해사용자들의접근을막고있다. 즉, 운영체제에서제공하는명령어들에의해서는접근할수없는데이터나파일들이존재한다. 따라서운영체제의보호메커니즘을우회할수있는포렌식툴의사용이필요하다. 라이브시스템에서휘발성데이터의획득과비휘발성데이터를획득하는데는다양한어려움들이존재하며, 이는라이브시스템운영체제에따라달라지게된다. 다음두하위절에서는 Windows나 Unix 운영체제를사용하는라이브시스템에서디지털포렌식이이루어지는방식과문제점에대해서설명한다. 가. 라이브시스템메모리덤프 Windows나 Unix 운영체제를사용하는시스템 99
에서는애플리케이션에따라서사용자의 ID나패스워드가휘발성저장매체인컴퓨터메모리에올라와있을수있다. 때문에메모리상의데이터를모두얻을수있다면이런메모리데이터로부터중요한정보를획득할수가있다. Windows나 Unix에서는물리적메모리의한계를극복하기위하여 ( 그림 1) 과같은가상메모리 (virtual memory) 를사용하고있다 [3],[4]. 예를들어서, 컴퓨터의실제물리적메모리는 256M 바이트라도가상메모리를사용하면각각의프로세스는혼자서 4G 바이트의메모리를사용한다고느낄수있다. 이런가상메모리관리를해주는모듈을가상메모리매니저 (virtual memory manager) 라고한다. 가상메모리매니저는여러프로세스의수행을위해서물리적메모리를페이지라는단위로나누고프로세스실행시필요한프로세스들의일부분을물리적메모리로올려서실행시키며, 나머지부분은하드디스크에존재하는스왑파일 (swap file) 에저장시킨다. 가상메모리를사용하는시스템에서하나의사용자프로세스가사용하는가상메모리를모두덤프하는것은가능하며, 덤프하기위해서는물리적메모리에있는프로세스에할당된페이지뿐만아니라하드디스크에있는스왑파일내용일부까지덤프해야함을알수있다. 물리적메모리의일부분은운영체제에의해서보호되고있기때문에컴퓨터부팅전에특별한셋팅을미리해놓지않는한물리적메모리의전부를덤 프하는방법은현재까지알려져있지않다. 나. 라이브시스템하드디스크이미징애플리케이션이나운영체제는중요한데이터를저장하기위해서임시파일을하드디스크에만들어사용하다가시스템종료시에삭제하는경우가있다. 따라서컴퓨터를끄기전에하드디스크를이미징한다면이런중요한데이터를얻을수있을것이다. 하지만만약운영체제가캐시 (cache) 를사용한다면, 하드디스크만을이미징하는것은데이터의일관성 (consistency) 에문제가생길수있다. 파일에대한입출력을좀더효율적으로하기위해서운영체제는 ( 그림 2) 와같은캐시를사용한다 [3],[4]. 예를들어, 프로세스가어떤파일의한바이트를읽어오라는명령을하면, 운영체제는연속된 256K 바이트를한꺼번에읽어와서캐시메모리에저장하고프로세스에게는한바이트만을돌려준다. 프로세스가읽어들인한바이트옆의또한바이트를읽어오라고명령하면, 운영체제는이번에는하드디스크에접근할필요없이캐시메모리에저장된한바이트를돌려주면된다. 하드디스크접근시간보다캐시메모리접근시간이훨씬빠르기때문에캐시를사용해서하드디스크접근을줄이면시스템의효율성이더욱증가하게된다. 캐시메모리관리를하는모듈을캐시매니저 (cache manager) 라고한다. 파일을읽어들이는경우에는일관성에아무문제가발생하지않는다. 일관성에문제가발생하는경 0 프로세스 1 실제메모리페이지 0 프로세스 캐시매니저 페이지 1 0 프로세스 2 스왑파일 페이지 2 페이지 3 페이지 4 페이지 n 파일입출력요청 파일입출력요청 지연쓰기 하드디스크 하드디스크 ( 그림 1) 가상메모리구조 ( 그림 2) 캐시구조 100
정익래외 / 디지털포렌식기술및동향 우는캐시매니저가시스템효율성을높이기위해서지연쓰기 (delayed write) 를하는경우이다. 지연쓰기란프로세스가읽어들인바이트를수정해서다시파일로쓰도록명령을내릴경우에캐시매니저가캐시메모리데이터를먼저수정하고시간이흐른후에하드디스크파일에수정된데이터를쓰는것을말한다. 지연쓰기역시하드디스크접근을줄이고시스템효율성을높이기위해서사용된다. 지연쓰기를하는시스템에서하드디스크이미징을하는경우에아직완전히수정이안된파일이존재할수있으므로일관성에문제가발생할수있다. 그러므로하드디스크이미징을하기전에캐시메모리에존재하는데이터중에아직하드디스크에기록이안된데이터를하드디스크에쓰도록하는기법이필요하다. Ⅲ. 증거분석 증거수집에서얻어진데이터들로부터유용한정보를얻는것을증거분석이라고한다. 유용한정보는사건에따라다르겠지만일반적으로다음과같은증거분석기술들이사용될수있다. 1. 덤프메모리분석프로세스가사용중인가상메모리의덤프를획득했을경우에사용자 ID나패스워드와같은유용한정보가가상메모리에남아있을수있다. 프로세스를위한가상메모리는보통코드영역, 데이터영역, 스택영역등으로나뉘어지며, 데이터영역이나스택영역이프로세스에서필요한여러정보를저장하고있으므로포렌식툴은프로세스가가상메모리를어떻게사용하는지를분석할수있어야한다. 2. Windows 레지스트리분석 Windows는레지스트리 (registry) 에프로그램이나시스템에관한다양한정보를저장하고있으므로포렌식툴은이를분석할수있어야한다. 레지스트리 Hive 파일들은 [SystemRoot] System32 Config 폴더에위치하며, regedit와같은명령으로살펴볼수있다. 레지스트리 Hive 파일들중 SAM 파일은패스워드들의해시정보를가지고있으며, 운영체제에의해서암호화되어보호되고있다. 포렌식툴은 SAM 파일의패스워드들을복구할수있어야한다. 3. Timeline 분석파일시스템들은각각의파일들이만들어진시간정보와마지막으로접근된시간정보그리고마지막으로수정된시간정보들을가지고있다. 포렌식툴이이런시간정보를가지고서시간의흐름에따라어떤파일들이생성되고접근되었는지를알기쉽게보여줄수있다면증거분석을좀더수월하게할수있다. 또한 NTFS 파일시스템에서는 $LogFile과 $UsrJrnl이라는시스템파일이존재하며, 파일시스템에대한사용로그를남기고있으므로이로부터좀더많은정보를얻을수있다. 4. 삭제된파일복구하나의파일은여러클러스터들의리스트로이루어져있으며, 이런리스트정보가파일시스템에들어있다. 일반적으로하나의파일을삭제할경우에파일시스템은클러스터들에들어있는파일내용을지우는것이아니라파일에할당된클러스터들을프리시키는것으로파일을지운다. 따라서프리된클러스터들이다른파일에할당되지않는한삭제된파일을복구할가능성이있다. 비록삭제된파일을복구할수없을지라도파일이존재했다라는사실이사건에중요한단서가될수있다. 어떤파일이존재했었는지의존재여부는다양한방법으로이루어질수있다. 예를들어서, Thumbs.db라는숨김속성파일은디렉토리에이미지파일이있을경우에 Windows에서이미지파일의정보값을파악하기용이하도록자동으로생성하는데이터베이스파일이며, 이미지들을모두삭제해도 101
이데이터베이스파일이남아있을수있으므로삭제된이미지파일의존재여부를증명해줄수있다. 5. 비정상적인파일찾기사용자가중요한데이터를숨길경우에 Windows에서파일을숨김속성으로놓거나파일확장자를바꾸어서데이터를숨기려할수있다. 따라서포렌식툴이숨김속성을가진파일들이나파일확장자가바뀐파일들을따로찾아줄수있다면분석에많은도움이될수있다. 보통하나의파일형식은하나의파일확장자를가지며또한하나의식별자 (identifier) 라불리는유일한값을가진다. 이식별자는파일생성시헤더에자동으로저장된다. 따라서확장자를바꿀경우에는파일확장자와이식별자가맞지않으므로확장자가바뀐파일들을찾을수있다. 6. 이메일분석파일시스템에서삭제된파일을복구하는것과비슷하게삭제된이메일을복구할수있다. 하나의이메일을삭제할경우에이메일프로그램은메일박스에있는이메일의내용을지우는것이아니라이메일의헤더값을바꾸어서이메일을삭제하게된다. 따라서삭제된이메일을복구할가능성이있다. 7. 로그분석어떤장치나응용프로그램을사용하게되면, 운영체제나응용프로그램이로그를남기는경우가있으며이런로그는사건분석에중요한정보가될수있다. 중요한로그들로는다음과같은것들이있다. 파일시스템로그 : NTFS 파일시스템의경우 $LogFile, $UsrJrnl에파일생성, 접근등에관한로그가남아있다 [5]. USB 사용로그 : USB 포트에연결했던 USB들의사용로그가레지스트리에남아있다. 인터넷사용 : 임시파일, 쿠키, 즐겨찾기, ActiveX 등으로부터인터넷사용행적을조사할수있다. 8. 슬랙공간분석파일시스템은하나의큰파일을저장할때여러클러스터들로나누어저장하게된다. 이때가장마지막클러스터에는파일의가장뒷부분을저장한다음남게되는공간이생길수있는데이런공간을파일슬랙공간 (slack space) 이라고한다. 예를들면, 클러스터의크기가 8K이고파일의크기가 1K이면, 7K의사용하지않는파일슬랙공간이생기게된다. 이외에도하드디스크에는할당되지않은공간들과볼륨슬랙공간, 파티션슬랙공간등이있다. 사용자들이이런슬랙공간에데이터를숨겨놓을수있기때문에포렌식툴은이런슬랙공간의데이터를분석할수있는기능을가져야한다. 9. 스트링서치디지털증거분석시수사에필요한정보가어떤파일에어떤형태로저장되어있는지모르는경우가많기때문에모든파일들을대상으로키워드를가지고검색을반복해야하는경우가많다. 이러한검색은대용량의저장매체일경우상당한시간이소요되므로검색범위를축소하는기술이필요하게된다. 조사대상의검색범위를축소하기위해서는잘알려진파일은검색대상에서제외하고, 주목해서검색할대상을선정하여검색범위를축소하고, 조사우선순위를부여해야한다. 이러한기능을제공하는검색기술중하나가해시검색 (hashed search) 으로써, 준비된참조데이터셋 (RDS) 을사용해서널리알려진파일은조사분석대상에서제외시킨다. 미국에서는이러한해시검색기술을활성화하고, 일반수사관들도쉽게사용할수있게하기위해서잘알려진파일들의표준해시 DB를 NIST 에서제작하여무상으로배포하는 NSRL 프로젝트를실시하고있다 [6]. NSRL 프로젝트목적은 범죄에사용되는컴퓨터파일의식별자동화, 증거에포함된파일조사를효율적으로지원 이며, 이를위해약수년 102
정익래외 / 디지털포렌식기술및동향 간각종소프트웨어및알려진파일을수집하고이에대한정보와해시값을 DB화하여 RDS를구축했다. 국가주도의해시검색기술의인프라를구축하자, 미국내의컴퓨터포렌식관련산업계가이를적극활용하고현장에적용하고있다. Ⅳ. 증거제출 1. 무결성 디지털증거무결성확보기술은증거자료의신뢰성을확보하기위해서, 수집된데이터가변조및손상되지않았음을해시및오류검증알고리듬을이용하여증명하는기술이다. 이는입수된디지털증거가법적증거로채택되기위해서반드시필요하며, 이를위해법적으로제정된디지털포렌식표준절차및기술이필요하다. 2. 포렌식툴검증디지털포렌식에사용되는포렌식툴에대한인증이없이는포렌식툴에의해서얻어진분석결과를믿을수없는것은자명하다. 디지털포렌식툴의 검증을위해서미국에서는미국국립표준기술연구소 (NIST) 에서디지털포렌식툴검증 (CFTT) 을시행하고있다 [7]. CFTT 에서는디지털포렌식툴의검증및평가방안을제시하고, 평가결과보고서는미국의국가법무연구소 (NIS) 와함께공동으로발간하여일반인들도쉽게열람할수있도록하고있다. 컴퓨터범죄수사관들은이보고서를참조하여디지털포렌식툴의선정기준을확립하며, 변호사와검사들은디지털증거의객관성을증명하기위한자료로활용하고있다. Ⅴ. 포렌식시스템및툴현황 현재상용화되어있는컴퓨터포렌식증거수집및분석소프트웨어는 Guidance Software사의 EnCase와 AccessData사의 ForensicToolkit이가장널리사용되고있다. Paraben사는모바일기기에대한전문분석가들을위해서 Cell Siezure, PDA Siezure 등의소프트웨어와각종휴대용기기와의연결을지원하는툴박스형태의상용제품을제공하고있으며, 메모리를직접분석할수있는소프트웨어도개발하여제공한다. 포렌식툴의현황은 < 표 1> 과같다. < 표 1> 컴퓨터포렌식기술연구현황 도구이름지원운영체제공개여부이미지생성및검사무결성검사저수준복구기타지원기능 ForensicX Unix/Linux Com Disk, OS, Traffic Hard, File, Finger Delete Plug, Report MaresWare The Coroner s Toolkit Windows Com Disk Hard, File Linux Com Disk File Unix/Linux Free Disk Hard Delete, Key Tom s Rootboot Linux Free Disk, OS Boot EnCase Windows Com Disk, OS Hard, File, Finger Raw, Delete Plug, Report Byte Back III Windows Com Disk, OS, Traffic Hard, File Raw, Delete ForensicToolkit Windows Com Disk Hard, File Raw, Delete Report 주 1) 공개여부 : Com( 상용 ), Free( 공개용 ) 2) 이미지생성및검사 : Disk( 디스크이미지 ), OS( 운영체제이미지 ), Traffic(IP 트래픽이미지 ) 3) 무결성검사 : Hard( 하드웨어변동검사 ), File( 파일무결성검사 ), Finger( 전자지문검사 ) 4) 저수준복구 : Raw( 저수준파일편집 ), Delete( 삭제파일복구 ), Key( 암호키복구 ) 5) 기타지원기능 : Boot( 긴급부팅지원 ), Plug( 플러그인지원 ), Report( 자동보고지원 ) 103
Ⅵ. 포렌식활용분야 1. 수사기관 검찰, 경찰, 국정원, 기무사등에서는스파이, 기술유출, 공갈, 사기, 위조, 해킹, 사이버테러와같은컴퓨터범죄수사분야에활용하고있다. 2. 기업체회사정보및기술유출은모든종류의기업체에서발생하고있으며, 이로인하여측량하기어려운손해가발생하고있다. 따라서증권, 보험, 은행등의금융회사를포함한일반회사에서도금융사고, 회계감사및정보유출등의보안사고발생시민ㆍ형사상책임소재를가리기위한증거자료확보를위해컴퓨터및모바일포렌식기술을활용할수있다. 미국에서는 2007년말부터증거공개명령제도를시행할예정이며, 미국에서경영활동을하는글로벌기업들은국내법처럼준수해야한다. 3. e-discovery 미국에서는디지털증거에대한제출을정당화하는 e-discovery 제도가시행되어 2006년 12월에통과되었다. 따라서민ㆍ형사분쟁발생시방대한양의디지털자료로부터분쟁에필요한자료를효율적으로추출하는포렌식툴이필요하다. Ⅶ. 포렌식발전방향 디지털포렌식이유용하게사용되기위해서해결되어야하는문제점들은다음과같다. 첫째, 포렌식에의해얻어진디지털증거를법적증거로채택하기위해서는형사소송법상의증거문제해결이필요하며, 포렌식절차에관한표준화가필요하다. 또한여러포렌식툴간의호환성을위해서는포렌식이미지의포맷에대한표준화가필요하다. 둘째, 포렌식대상이되는디지털데이터는점점대용량화되어가고있으므로포렌식이미징을만드는작업이나검색작업등이고속화되어야하며이에대한연구가필요하다. 셋째, 외산포렌식장비를사용할경우국산디지털파일들을분석하는기능이부족할수있으며, 국내사법제도등국내환경에대한특성이반영되지않아수사상어려움이존재할수있으므로국내실정에맞는포렌식장비의개발이필요하다. 넷째, PDA, 핸드폰, 디지털카메라, 캠코더등다양한형태의디바이스가새로나오고사용되고있으므로다양한형태의디바이스에대한포렌식툴개발이함께진행되어야한다. 위에서언급한여러문제점들이해결되면디지털포렌식은현재활용되고있는분야이외에도, 디지털증거의인증서비스와같은새로운보안서비스시장을창출하거나활성화시킬수있으리라예측된다. 약어정리 CFTT Computer Forensic Tool Testing e-discovery Electronic Discovery NIST National Institute of Standards and Technology NSRL National Software Reference Library RDS Reference Data Set 참고문헌 [1] 이형우, 이상진, 임종인, 컴퓨터포렌식스기술, 정보보호학회지, 2002. 10. [2] 김종섭, 김귀남, 국내 Computer Forensics의연구동향과발전방향, 정보보증논문지, 2003. 3. [3] 정덕영, Windows 구조와원리, 한빛미디어, 2006. 3. [4] David A. Solomon and Mark E. Russinovich, Inside Windows 2000, Microsoft Press, 2000. 9. [5] Brian Carrier, File System Forensic Analysis, Addison-Wesley, 2005. 3. [6] National Software Reference Library (NSRL), http:// www.nsrl.nist.gov. [7] Computer Forensics Tool Testing (CFTT) Project, http://www.cftt.nist.gov. 104