디지털포렌식을위한활성데이터기반증거분석도구개발 이준연 * Development of Evidence Analysis Tool based on Active Data for Digital Forensics Jun-yeon Lee * 요약디지털포렌식은기기에내장된디지털자료를근거로삼아발생한행위에대한사실관계를규명하고증명하는신규보안서비스이다. 본논문에서는디지털포렌식수행절차인증거수집, 증거분석, 증거제출에사용할수있는디지털포렌식도구를구현하였다. 이디지털포렌식도구는누구나쉽게분석할수있도록하기위하여직관적인 GUI를제공하고, 간단한조작만으로도활성데이터를수집, 분석할수있고, 많은시간과노력을감소시키고, 신뢰성이있는자료를제공할수있다. 주제어 : 디지털포렌식, 로그분석, 분석자동화, 자동리포팅 Abstract The digital forensics are new kinds of security that investigate and verificate fact relation about activities based on digital data. In this paper, we implemented digital forensic tool that can be used in collecting, analyzing, and reporting evidences. This tool support intuitional GUI that everybody can analyze easily. And a simple operation can collect and analyze active data. Also, we can decrease much time and endeavor by using this forensic tool that support reliable data. Key Words : Digital forensics, Log analysis, Analysis automation, Automatic reporting 1. 서론 IT 기술의발전및급격한정보화사회로의변화로인해사이버범죄등컴퓨터관련범죄가계속증가하고있다. 중요단서와증거가컴퓨터를포함한디지털정보기기내에보관하는경우가증가함에따라, 증거수집및분석을위한전문적인디지털포렌식기술이대두되고있다. 이에따라미국을중심으로한기술선진국들은보안침해사고에대하여디지털전자적증거를수집, 분석및대응할수있는컴퓨터포렌식 (Computer Forensics) 기술개발에집중하고있다 [1]. 또한, 일반기업체및금융회사등민간분야에서도그중요성이갈수록높아지고있다. 우리나라에서는 2009년한해동안디지털포렌식활용건수가 1634건에달했을정도로활용빈도가높아지고있고, 보안업계에서이슈가되고있 * 동명대학교미디어공학과교수논문접수 : 2012 년 3 월 19 일, 1 차수정을거쳐, 심사완료 : 2012 년 4 월 17 일 99 다 [1]. 하지만발달된정보통신인프라로인해다양한디지털역기능과사이버범죄에심각히노출되어있는국내의상황에비해디지털포렌식에관련된소프트웨어는미흡한상황이다. 해커들은치밀한범행과도구를주로인터넷에서구할뿐만아니라범행후수사상황을인터넷뉴스를통해수시로파악하는경향을보이기도한다. 범죄자들은디지털시대에따라범행에따른행동도달라지고있다. 이처럼범행들에따른용의자들의 PC를분석하면결정적인증거를잡을있을것이고, 사건을해결하는데결정적인실마리를제공해줄수있다 [2]. 따라서본논문에서제안하는포렌식도구는레지스트리분석, 로그분석, 이벤트수집및상관시스템파일등의비휘발성데이터를수집하여분석한다.
디지털정책연구제 10 권제 3 호 (2012.4) < 표 1> 컴퓨터포렌식기술연구현황 도구이름 지원운영체제 공개여부 이미지생성및검사 무결성검사 저수준복구 기타지원기능 ForensicX Unix/Linux 상용 Disk, OS, Traffic Hard, File, Finger Delete Plug, Report MaresWare Windows 상용 Disk Hard, File Linux 상용 Disk File Coroner's Toolkit Unix/Linux 공개 Disk Hard Delete, Key Tom's Rootboot Linux 공개 Disk, OS Boot EnCase Windows 상용 Disk, OS Hard, File, Finger Raw, Delete Plug, Report Byte Back III Windows 상용 Disk, OS, Traffic Hard, File Raw, Delete Forensic Toolkit Windows 상용 Disk Hard, File Raw, Delete Report 또한컴퓨터사용자들이일반적으로사용하는웹브라우저인 Internet Explorer, Firefox, Chrome 를중심으로웹브라우저사용기록, 쿠키, 검색어등을타임라인, 필터등으로시간적으로분석함으로써, 컴퓨터사용자에대한정보와패턴을제공할수있다. 현재국내에서개발된디지털포렌식툴이거의존재하지않고대부분외국에서개발된포렌식도구들은일반인들은거의알아보기힘든전문가용으로개발된것이대부분이다. 또한외국산장비를사용할경우, 국산디지털파일들을분석하는기능이부족할수있으며, 국내사법제도등국내환경에대한특성이반영되지않아수사등에어려움이존재할수있으므로국내실정에맞는포렌식장비의개발이필요하다. 따라서비전문가도손쉽게분석할수있도록편의성을위주로한직관적인 GUI를제공하고, 간단한조작만으로도활성데이터를수집, 분석할수있고, 많은시간과노력을감소시키고, 신뢰성이있는자료를제공해줄수있는디지털포렌식도구를개발하고자한다. 2. 포렌식소프트웨어현황현재상용화되어있는컴퓨터포렌식증거수집및분석소프트웨어는 Guidance Software 사의 EnCase와 AccessData사의 Forensic Toolkit 이가장널리사용되고있다. Paraben 사는모바일기기에대한전문분석가들을위해서 Cell Siezure, PDA Siezure 등의소프트웨어와각종휴대용기기와의연결을지원하는툴박스형태의상용제품을제공하고있으며, 메모리를직접분석할수있는소프트웨어도판매하고있다 [1]. 포렌식툴의현황은 < 표 1> 에서보는것처럼일반인이사용하는 Windows 운영체제용으로개발된공개소프트웨어는거의없을뿐만아니라그사용방법또한매우어렵다. 또한수사자료검색단계의포렌식도구를살펴보면, Veracity 사의 Veracity Agent 는디지털데이터의무결성검사에사용되며, hash 값을사용하여데이터파일이변조되었는지를확인하는프로그램으로원거리에서모니터링할수있으며무결성문제발생시전자메일이나 SMS 메시지로경고메시지를전송해준다. 그리고, UFA Soft사의 Sniffer 는실시간으로네트워크패킷을모니터링하며화면에서캡쳐된패킷내용을 16진수와 ASCII 코드로분석한다. IP, TCP, UDP 및기타프로토콜별로선택캡쳐가능하며분류하여보여주는기등도가지고있다 [3]. 3. 시스템구현시스템에악영향을미치는악성프로그램, 이상프로세스선별을위해프로세스정보를수집해야한다. 수집할세부정보는프로세스실행파일의전체경로, 프로세스를실행한계정, 부모 / 자식프로세스, 프로세스가로딩한 dll, 사용중인네트워크연결정보, 실행시작시간이다. 수집방법은 < 표 2> 에서제시한도구를이용하여수집할수있다 [4, 5, 6]. 100
디지털포렌식을위한활성데이터기반증거분석도구개발 수집도구 tasklist pslist listdlls handle ProcessExplorer 3.1 웹로그 < 표 2> 프로세스정보확인도구및설명 설명시스템의프로세스상태를파악실행중인프로세스의정보수집프로세스에종속되거나로드된 dll 프로세스가사용중인모든 handle 프로세스관리자프로그램, 각프로세스의구동여부와해당프로세스가사용하는 dll 정보, 메모리매핑정보 웹브라우저의경우해당웹브라우저사용기록파일내에존재하는 URL의특성을확인하여사용흔적을분석할수있다 [7]. 웹브라우저대부분은인터넷사용내역을웹브라우저로그파일에기록하기때문에, 웹브라우저로그를분석하면사용자정보에대한간접적증거를추출할수있다 [8, 9]. 현존웹브라우저는종류마다웹로그파일형식이다양한구조의형태로이루어져있다. 웹브라우저시장점유율의 90% 이상을차지하는 Internet Explorer, FireFox, Chrome 의생성파일분석을통하여사용자웹브라우저사용내역을효율적으로추적할수있도록구현하였다. Internet Explorer 의 Index.dat view, Chrome 의 Log File view, Firefox Log File view 기능을통하여, 사용자의인터넷사용내역을자세히볼수있는기능을구현하였다. 또한 3개의웹브라우저의공통내역인방문사이트, 검색어, 즐겨찾기, 다운로드정보등을볼수있도록구현하였다. [ 그림 1] 은로그를통한사용자의정보를분석한화면이다. 3.1.1 Internet Explorer 로그파일분석 Internet Explorer 는윈도우즈시스템에기본적으로설치되어있으며, Internet Explorer 는 Temporary Internet File, Cookies, History 폴더에인터넷사용자용정보를저장한다. Temporary Internet File 폴더는웹서버로부터불러온임시파일을저장하며, Cookies 폴더는쿠키파일을, History 폴더는사용자가접속한웹사이트의목록을저장한다. 3곳모두 index.dat파일을통하여관련정보를관리한다. 각폴더의 index.dat 파일은크게 header, Hash table, Activity record 3부분으로구성되어있으며, 각레코드부분에서사용자흔적을찾을수있다 [10, 11]. 3.1.2 Firefox Explorer 로그파일분석 Firefox는 Cache, places,sqlite, cookies.sqlite에인터넷사용정보를저장한다. places.sqlite, cookies.sqlite는웹히스토리를저장하는파일로서이름에서도알수있듯이 SQLite database 파일이다 [12]. [ 그림 2] Internet Explorer Detail View places.sqlite 에서사용자의웹사용기록을추적하기위해참조해야할테이블은크게 2개로구성되어있다. cookies.sqlite는쿠키를저장하는파일이다. [ 그림 1] 웹로그사용자정보분석화면 3.1.3 Chrome 로그파일분석 Documents_and_Settings\<username>\Local Settings\Application_Data\Google\Chrome\User Data\Default 에는 Web Data, History, Cookies 웹로그파일이존재한다. 웹로그파일을분석하면, url, 웹사이트제목, 방문시간, 숨김여부, 방문횟수, 검색어, 폐기날짜등사용자정보및패턴을분석할수있다. [ 그림 3] 은 Chrome 의로그를분석한화면이다. 101
디지털정책연구제 10 권제 3 호 (2012.4) 파일시스템에서파일에접근할때유의해야할점으로는파일을임의로열었을때 Windows 의경우 LastWriteTime( 마지막수정시간 ) 이변경된다. 그러므로이프로그램에서는파일을열기전의시간대를보존하기위하여열기전의시점의파일시스템시간대를저장해두고분석이끝난후에적용시킨다. [ 그림 3] Chrome Detail View 3.1.4 Weblog Search 기능계정정보에따른 Web Log에저장되어있는값들을검색할수있는기능과날짜별로검색할수있는기능을제공한다 [13]. 웹브라우저를오래동안사용했을경우, 로그값들이많이존재하기때문에, 단어별검색, 날짜별검색기능을구현하였다. [ 그림 4] 는웹로그의검색화면으로검색조건을설정할수있다. 3.2.2 이벤트로그분석기본적으로 3가지기본이벤트로그파일을분석하며분석자가원한다면다른이벤트로그파일도분석이가능하다. [ 그림 6] 에서이벤트로그뷰어에서는복사한.evt 파일을자신의윈도우즈데스크톱시스템으로복사했을경우에손상된파일이라는메시지가나올수있다. 이는 API에서문제점을발견할수있었는데, 이벤트로그가지워졌을경우에이벤트로그의영역바로앞의첫번째레코드를버퍼영역으로남겨놓기때문이었다. [ 그림 4] Weblog Search 화면 3.2 시스템분석 3.2.1 시스템로그분석이모드는 Windows 가설치된로컬PC 상에존재하는모든파일들의분석을위해존재한다. [ 그림 5] 는무결성에의해복사된분석대상파일들의용량과개수를보여준다. 이정보는분석자에게분석대상을전체적으로확실하게보여준다. [ 그림 5] 시스템파일분석메인화면 [ 그림 6] 이벤트로그분석화면이버퍼영역은 API를통해서는읽혀지지않게처리되며, 새로운이벤트레코드가파일에쓰여지는경우에이영역은순환버퍼에서없어지게되는구조였다. 따라서바이너리로읽어들였을경우에는 API로읽어들일때와는다른온전한삭제된이벤트로그에접근할수있다. [ 그림 7] 은해당이벤트리스트의이벤트에대하여상세한정보를제공하는기능을구현하였다. 이는기본적인이벤트 ID의소스, 설명등을보여주며, 분석자의편의를위해해당 EventID 정보를제공하는웹사이트인 EventID.net 의 Comment 내용을파싱하여분석자에게자세한정보를제공한다. 102
디지털포렌식을위한활성데이터기반증거분석도구개발 별통계등의기능을추가하였다. [ 그림 7] EventID 상세정보화면 [ 그림 9] 타임라인시간별통계 분석관이보고서를작성할때쉽고편하게보고서를작성하기위해, 분석된자료에따라자동으로보고서를작성하는기능을구현하였다. 여러형태로작성가능한보고서의선택사항및구성화면은 [ 그림 10] 에서나타내었다. [ 그림 8] ADS 분석기뷰어 3.2.3 ADS (Alternate data stream) [ 그림 8] 은 NTFS의 ADS 영역을시각적으로보여주는탐색기다. ADS영역은붉은색으로표현하였으며, ADS 영역에존재하는파일을검색해주는기능을 3가지로구현하였다. 기본적으로 ADS 영역에대한악성코드분석은이루어지지않고있으며, 악의적인목적으로바이너리파일을숨길가능성이있기때문에이러한모드를추가하였다. 3.2.4 Timeline 및자동보고서작성조사자에게각사건에대한시간대를보는것은중요하다. 우리는이점을고려하여현재존재하는타임라인의인터페이스를더욱개선시키고, 타임라인항목을더보완하였다. [ 그림 9] 의시간별통계외에일별통계, 월 [ 그림 10] 보고서작성기능화면보고서파일이저장될때다양한형태로문서를작성할수있는기능을가지고있다. 4. 결론디지털포렌식은기기에내장된디지털자료를근거로삼아발생한행위에대한사실관계를규명하고증명 103
디지털정책연구제 10 권제 3 호 (2012.4) 하는신규보안서비스이다. 본논문에서는디지털포렌식수행절차인증거수집, 증거분석, 증거제출에사용할수있는디지털포렌식도구를구현하였다. 이러한기능을수행하기위하여본도구는레지스트리분석, 로그분석, 이벤트수집및상관시스템파일등의비휘발성데이터를수집하여분석한다. 또한웹브라우저사용기록, 쿠키, 검색어등을타임라인, 필터등으로시간적으로분석함으로써, 컴퓨터사용자에대한정보와패턴을제공할수있고, 상용도구에서제공하는윈도운영체제에서의분석, 리포팅기능을제공한다. 이러한기능을통하여사용자는기술적인세부사항에신경쓰지않고도고속으로처리된결과를제공받을수있다. 본논문에서개발한도구는시각화, 분석자동화, 자동리포팅등의기능은구현하였지만, 디스크이미징분석기능은미흡한실정이다. 이는분석, 검색에많은시간을필요로하고, 패스워드크래킹툴등이필요하여이에대한보완이필요하다. 참고문헌 [1] 정익래 (2007). 디지털포렌식기술및동향. 전자통신동향분석, 22(1), 97-104. [2] ALFRED C, (2002). 해킹과포렌식입문, 서울 : 그린출판사. [3] Ed Tittel, (2008). 사이버범죄소탕작전 : 컴퓨터포렌식핸드북, 서울 : 에이콘. [4] 정진형, 변근덕, 이상진 (2011), iphone 에서의 SNS 데이터수집및디지털포렌식분석기법. 정보처리학회논문지C 18(4) 217-226. [5] 이택림, 신상욱 (2011), 디지털포렌식을위한증거분석도구의신뢰성검증, 정보보호학회논문지 21(3) 165-176. [6] 안경윤 (2011), 정보보호관리체계통제항목기반디지털포렌식통제체계설계, 석사학위논문, 동국대학교. [7] 고원봉 (2010). 윈도우포렌식실전가이드, 서울 : 한빛미디어, [8] Harlan Carvey (2010), 인사이드윈도우즈포렌식디지털해킹분석및대응의기술, 서울 : 비제이퍼블릭. [9] Mark E. Russinovich, David A. Solomon, Alex Ionescu (2010), Windows Internals : Covering Windows Server 2008 and Windows Vista 5th Ed., Microsoft Press. [10] Simson Garfinkel, Gene Spafford (2002). 해킹사례로풀어쓴웹보안, 서울 : 한빛미디어, [11] Harlan Carvey, (2009). Windows Forensic Analysis 2nd editon, Syngress Publishing. [12] Google Developer's Guide Overview. http://code.google.com/apis/gdata/docs/developersguide.html. [13] Timothy D. Morgan (2009), The Windows NT Registry File Format Version 0.4, timregistry(a) sentinelchicken.org. 이준연 1990년중앙대학교전자계산학과 ( 공학사 ) 1992년중앙대학교컴퓨터공학과 ( 공학석사 ) 2000년중앙대학교컴퓨터공학과 ( 공학박사 ) 1992년 8월 ~ 1994년 9월 : Microsoft LTD. Developer 2000년 3월 ~ 현재 : 동명대학교미디어공학과교수 관심분야 : 센서네트워크, 포렌식도구 E-Mail : jylee@tu.ac.kr 104