08. 5. 19. 지현석 (binish@binish.or.kr) http://binish.or.kr 충남대학교정보보호연구실
Index Forensic? Forensic Methodologies Forensic Target Evidence Searching Evidence Analysis Anti Forensics Methods Further more and Q&A 충남대학교정보보호연구실 2
Forensic? "Gathering and analyzing data in a manner as free from distortion or bias as possible to reconstruct data or what happened in the past on a system [or a network] Dan Farmer / Wietse Venema (1999) 증거훼손 범죄현장을다루는데있어가장주의해야할사항 범죄자와똑같이생각하라 3
Traditional Forensics Forensic Methodologies Analyzing a dead system that has had it s power cord pulled Least chance of modifying data on disk, but live data is lost forever This method is great for preserving data on disk, but you lose a lot of volatile data which may be useful Live Forensics (Often Incident Response) Methodology which advocates extracting live system data before pulling the cord to preserve memory, process, and network information that would be lost with traditional forensic approach Goal is to minimize impacts to the integrity of the system while capturing volatile forensic data 4
Data on Disk Forensic Target Disk Imaging 피해시스템의저장매체증거보존 Bit 단위수행, dd Volatile Data 저장매체의전원공급이차단되거나시간이지남에따라사라지는정보 증거휘발성의순서 레지스터와캐시 라우팅테이블, ARP cash table, 프로세스테이블, 커널통계 RAM, Cash, VGA, NIC 등의시스템 onboard 메모리 임시파일시스템, 디스크의데이터 시스템상태 Live Data 시스템이운영되는현황을나타내는데이터 네트워크상태 (netstat, ipconfig), 프로세스상태 (ps) 등 5
Disk Imaging Disk Imaging 구분 Disk Copy Disk Image 저장방식 Read & Write Bit Stream 저장대상 파일과디렉토리정보 모든물리적섹터 정보손실 Read 과정에서오류가능성존재 거의없음 파일복구 삭제된파일은복사과정에서제외 섹터상의파일모두복구 직접적인분석은증거물이손상의우려가있음 Imaging &mount 이용 Disk Image : 디스크와정확히같은사본파일 Image Mount : Image 를디스크로 OS 에인식시키는과정 6
Disk Imaging Tools Encase Disk Imaging Tools 그래픽인터페이스제공, 이미지생성 (Bit Stream) 증거미리보기, 데이터검색과분석 윈도우, Palm OS 등의플랫폼과 RAID 방식지원 국내외널리사용되는도구 상용프로그램 7
Disk Imaging Tools Linux/UNIX dd 디스크이미지파일생성 dd if= 장치명 of= 파일이름 dd if=/dev/fd0 of=disk.img 파일을디스크에복구 dd if= 파일이름 of=/dev/fd0 dd if=disk.img of=/dev/fd0 이미지 mount mount [image path] [mount path] r o loop t ext2 mount /forensic/disk.img / /mnt/disk / r o loop t ext2 8
Volatile Data Acquisition Volatile Data Acquisition 시스템의상태를변경 Forensic Live CD Ex) F.I.R.E.(Forensic & Incident Response Environment, freeware), fire 0.3.5b.iso 많은수집도구를순차적이고자동으로실행하는 Shell Script 개발 Like, Server Penetration Test 에서의취약점진단 Shell Script 컨설턴트기술력 기설치된정보수집 Agent 에서증거를수집하는기술 Snap Shot 수집대상운영체제의프로그램이나라이브러리를사용하지않고도증거를수집할수있는기술개발필요 Why? Rootkit 설치로인해변조된프로그램및라이브러리존재가능 Hidden process, port, files.. 동일 OS 의정상적인바이너리를복사해서사용하는경우도발생 9
Forensic Script Volatile Data Acquisition Tools 시스템정보및휘발성데이터획득을위해일련의명령어를수행하여자동으로정보를수집하는 BAT, Shell Script 파일 Static Library 사용의실행파일필요 @echo = 초기분석점검날짜 = date /t @echo = 초기분석점검시간 = time /t @echo = 키스트로크정보 = doskey /history @echo = 초기분석종료정보 = time /t 10
Volatile Data Acquisition Tools Memory Dump Memory 의전체내용을수집하여각프로세스의세부내용을분석 Linux : dd if=/dev/mem of=linux.dump tip) gdb p PID를이용process attach 후 dump memory 사용! Windows : Micosoft OEM Support Tools userdump.exeexe 문서내용, ID/ 패스워드, 메신저대화내용등정보를확인할수있음 메모리정보수집및분석기술 메모리의 Data 영역뿐아니라 Kernel 영역의정보를수집하는기술 추출된 Dump 데이터에서원하는정보를검색및추출하는기술 11
Snap Shot Volatile Data Acquisition Tools EnCase Enterprise 버전에적용 : 대형전산망에서활용 각 Agent 를업무용 PC 에설치하여내부직원정보유출, 전산자원남용감시및증거수집용으로도사용 12
Searching Evidence Searching 잘알려진파일은검색대상에서제외하고주목해서검색할대상을선정하여검색범위를축소하는것이중요함 포렌식은검색의연속이다 National Software Reference Library (NSRL) 美 NIST 산하 CFTT 에서제공하는국가표준참조데이터 NSRL 의목적 범죄에사용되는컴퓨터파일의식별자동화 증거에포함된파일조사를효율적으로지원 NSRL 의세부내용 다년간각종 S/W 및알려진파일을수집, 이에대한정보와 hash 값을 DB 목록화 (31,743,615 files, 10,533,722 Hash Values) 전세계 7009 개 S/W, 35 개국언어 OS 의참조데이터셋 (RDS:Reference Data Set) 13
한국형 RDS 구축 Evidence Searching NIST 에서제공하는 National Software Reference Library(NSRL) 를모범으로한국형 RDS(Reference Data Set) 구축 표준해쉬셋 : 잘알려진응용프로그램및 OS 커널관련파일 악성해쉬셋 : 악성프로그램, 음란동영상등범죄관련파일 수사대상파일용의자컴퓨터 ( 집중조사 ) 분석프로그램 RDS 알려진파일 ( 분석제외 ) 14
각종파일포맷분석 DB 구축 Evidence Analysis Vendor 협력하에각종파일포맷을자동으로인식하고종류에따라미리보기, 정보추출, 파일포맷복구등을지원하는기술을개발 tip) 국정원실기평가에서이와유사한문제출제됨 각종 Encoding 기법분석 각종 Encoding(Packing, Unicode, ASCII, Base 64 등 ) 을한꺼번에효율적으로검색하는기술필요 국제화되는디지털범죄에대응하여외국어를자동으로인식하고검색을지원할수있는기술필요 15
Timeline 분석 Evidence Analysis create, write, access, modified, deleted time 을 GUI 형태로표시 이미지상의대상파일들의사용시간대를한눈에파악할수있는장점 like, find ctime, ls aclt (on Linux, timestamp based) 16
Registry 분석 Evidence Analysis Regedit는운영시스템에서의정보만을제공하므로비가동중인시스템및하드디스크의레지스트리를분석할수없음 Thus, Hive 파일자체포멧을파악하여포렌식분석기능을제공하는레지스트리분석도구가필요함 17
Binary 분석 Evidence Analysis 설치된 S/W 의정보를획득하고실행파일을분석하는기술 발견된악성코드를분석하여범죄자에대한단서를추출할수있어야함 Unpacking( 필요시 MUP), Debugger(ollygdb, IDA pro) Assembly, Important APIs tip) 금결원에서는 Binary 분석시험에서 ocx, dll, exe 등 6 문제출제 18
Hidden Data 분석 Evidence Analysis 데이터은닉은최신기법이나경향은아니지만안티포렌식기술로사용됨 Cloak v7.0 : Steganography 용 S/W Invisible Secrets : 정상파일 (JPEG, PNG, BMP, HTML, WAV) 에비밀데이터를암호화하여은닉시켜주는 S/W 19
Network 분석 tcpdump, netstat, lsof i... i Rootkit 분석 chkrootkit... Evidence Analysis tip) 국보연에서도 chkrootkit 반드시수행함 Memory 분석 /proc/kcore, /dev/mem, /proc/pid/mem strings, grep, less등의적절한활용필요 file and directory names $ grep e "\/proc\/" e "\/bin\/" e "\/bin\/.*?sh" kcore_strings $ grep e "ftp" e "root" kcore_strings $ grep e "rm " kcore_strings $ grep e ".tgz"" kcore_strings ip addresses and domain names $ grep e "[0 9]\+\.[0 9]\+\.[0 9]\+\.[0 9]\+" kcore_strings $ grep e "\.pl" kcore_ strings 20
Anti Forensics Methods Data Contraception Anti-Forensics Methods Prevent evidence data from existing somewhere that can be analyzed E.g. Memory only malware, memory only exploitation Data Hiding Put the data on disk but put it somewhere the forensic analyst is unlikely to look E.g. Defilers toolkit, runefs Data Destruction Destroy any evidence before someone gets a chance to find it E.g. Disk wiping, wipe, srm, evidence eliminator, necrofile Data Misdirection Provide the forensic analyst false data that is indistinguishable from the real thing 21