Windows7 응용프로그램실행흔적분석 공지훈

Similar documents
순 서 1. UserAssist p 2. Prefetch / Superfetch p 3. Shim p 4. LNK

슬라이드 1

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

PowerPoint Presentation

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

*2008년1월호진짜

ActFax 4.31 Local Privilege Escalation Exploit

Table of Contents 1. 분석 유포경로 악성파일분석 드롭퍼 A 분석 드롭퍼 B 분석 페이지 2 / 17

Secure Programming Lecture1 : Introduction

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

Windows 8에서 BioStar 1 설치하기

슬라이드 1

Microsoft PowerPoint - chap01-C언어개요.pptx

[ 악성코드상세분석보고서 ] SK 커뮤니케이션즈해킹관련상세분석보고서 nateon.exe 대응 2 팀

Microsoft Word - FunctionCall

Windows 10 General Announcement v1.0-KO

Windows Server 2012

PowerPoint Presentation

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

슬라이드 제목 없음

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

Adobe Flash 취약점 분석 (CVE )

tiawPlot ac 사용방법

PowerPoint 프레젠테이션

목 차 1. 드라이버 설치 설치환경 드라이버 설치 시 주의사항 USB 드라이버 파일 Windows XP에서 설치 Windows Vista / Windows 7에서 설치 Windows

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

RHEV 2.2 인증서 만료 확인 및 갱신

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

IRISCard Anywhere 5

Xcovery 사용설명서

슬라이드 1

The Pocket Guide to TCP/IP Sockets: C Version

신종파밍악성코드분석 Bolaven

ISP and CodeVisionAVR C Compiler.hwp

API 매뉴얼

Microsoft PowerPoint - chap06-2pointer.ppt

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

#WI DNS DDoS 공격악성코드분석

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

Endpoint Protector - Active Directory Deployment Guide

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Internet Explorer 11 자동업데이트방지 사용자가이드 작성일 : Version 1.0

레지스트리포렌식 - Regripper 를이용한 NTUSER.DAT 분석 - 학과 사이버경찰학과 학번 이름 허인호 - 1 -

PowerPoint 프레젠테이션

Module 2 Windows 8 업그레이드와마이그레이션

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

BMP 파일 처리

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

DLL(Dynamic Linked Library)

Microsoft Word - src.doc

목차 1. 개요 배경 파일정보 상세분석 SMB 취약점공격흐름 특징적인행위 대응

MF Driver Installation Guide

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

804NW±¹¹®

Malware Analysis

DBMS & SQL Server Installation Database Laboratory

PowerPoint Template

Secure Programming Lecture1 : Introduction

취약점분석보고서 [Photodex ProShow Producer v ] RedAlert Team 안상환

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

IT CookBoo, 컴퓨터 실습

슬라이드 1

고객 카드

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

[Brochure] KOR_TunA

View Licenses and Services (customer)

CODESYS 런타임 설치과정

Microsoft PowerPoint 웹 연동 기술.pptx

1. Execution sequence 첫번째로 GameGuard 의실행순서는다음과같습니다 오전 10:10:03 Type : Create 오전 10:10:03 Parent ID : 0xA 오전 10:10:03 Pro

Microsoft PowerPoint - chap06-5 [호환 모드]

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

JDK이클립스

Frama-C/JESSIS 사용법 소개

Microsoft PowerPoint - 권장 사양

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Slide 1

PowerPoint 프레젠테이션

개요 최근사용자들이인터넷을사용하던중에 CVE (Java), CVE (IE), CVE (Flash), CVE (IE) 취약점을이용한 sweet orange exploit kit 가전파되어이를연구하였으 며,

Chapter #01 Subject

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

슬라이드 1

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

디지털TV솔루션 브로셔

07_alman.hwp

Microsoft PowerPoint - [#4-2] File System Forensic Analysis.pptx

슬라이드 1

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

슬라이드 1

Lab 3. 실습문제 (Single linked list)_해답.hwp


슬라이드 1

AcronisUniversalRestore_userguide_en-US

User Guide

KEB 외국환 서식관리 프로그램 사용자 메뉴얼

vostro2월CDM4.0

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

악성코드분석보고서 학번 작성자김진홍작성일 2015 년 5 월 14 일 Keyword Downloader, Mouse cursor modification, Registry modification 1. 개요 1.1 요약 해당악성코드는악성코드를다운로드하는역할

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

Transcription:

Windows7 응용프로그램실행흔적분석 공지훈 201354002

순 서 1. UserAssist ------------------------ 1p 2. Prefetch / Superfetch ------------- 4p 3. Shim ---------------------------- 5p 4. LNK ---------------------------- 12p

1. UserAssist UserAssist는 explorer를통해사용자가사용한프로그램을 counting 하여자주사용하는프로그램을 [ 그림 1] 과시작목록에나타내준다. 또한실행시킨프로그램에대한경로와실행횟수, 마지막실행시간정보가 ROT13으로기록되어있다. 각운영체제에서 UserAssist 경로는다음과같다. HKU\{USER}\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \UserAssist 2000/XP/Vista {5E6AB780-7743-11CF-A12B-00AA004AE837}\Count {75048700-EF1F-11D0-9888-006097DEACF9}\Count 7 {CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count // 실행파일실행기록 {F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}\Count // 바로가기실행기록 [ 그림 1] 자주사용하는프로그램 - 1 -

UserAssist 확인시내용이 [ 그림 3] 과같은 ROT13 으로인코딩되었음을확인할 수있다. [ 그림 2] UserAssist [ 그림 3] ROT13 encoding Windows7 에서 UserAssist 키의 0 ~ 3 값은세션번호를나타내고 4 ~ 7 은실행 횟수, 60 ~ 67 은마지막실행시간을뜻한다. [ 그림 4] UserAssist 키내용 - 2 -

[ 그림 5] REGA 를이용한분석 [ 그림 5] 는 REGA를이용해 UserAssist를분석하는화면이다. GUID와실행프로그램명, 실행시간등의정보를확인할수있다. 추가적으로 Windows7/Vista 이후부터생겨난 UAC로인해일반사용자가특정경로에파일이나레지스트리를쓰게되면파일, 레지스트리가상화가이루어지는데이때가상화를통해쓰여진데이터는 NTUSER.dat가아닌 UsrClass.dat에저장되기때문에정확한분석을위해 UsrClass.dat도추가적으로수집및분석해야한다. [ 그림 6] REGA 수집항목 - 3 -

2. Prefetch / Superfetch 프리패치는실행파일이사용하는특정자원을파일로미리저장하는것으로실행 속도를향상시키기위함에목적이있으며부트프리패칭과응용프로그램프리패칭으 로나뉜다. 부트프리패칭시스템부팅시다양한파일을사용하게되는데이때부팅과관련한파일이흩어져있거나단편화되어부팅속도가저하될수있다. 프리패처는부팅시작후최대 120초간사용되는코드와데이터를모니터링하고그결과를파일로저장하여다음부팅시부터향상된속도를제공한다. 응용프로그램프리패칭실행프로그램실행시초기 10초간메모리에로드되는코드와데이터의일부또는전부를파일로생성하는데이때생성되는파일이프리패치파일이다. 프리패칭된응용프로그램실행시프리패치파일을이용해초기실행속도를향상시킬수있다. 프리패치파일은최대 128개의파일로제한되며초과되면제일오래된프리패치파일부터삭제된다. 하지만제한된용량을가진메모리로인해다른응용프로그램이메모리를필요로할경우프리패치데이터를페이징파일로이동시킨다. 때문에이데이터가필요하다면페이징파일로부터메모리로다시로딩하는과정을거쳐야하기때문에성능저하의원인이된다. 이러한문제점을해결하기위해슈퍼패치는프리패치데이터가메모리에서페이징파일로스와핑된경우이를감지하여페이징을야기한응용프로그램이종료된경우에다시페이징된데이터를메모리로이동시킨다. 때문에자주사용하는프로그램일경우지속적으로메모리에로드되어성능이향상된다. 추가적으로슈퍼패치는맵파일에사용자의프로그램사용패턴 ( 얼마나자주, 언제, 얼마동안 ) 을기록한다. 프리패치는 %SystemRoot%Prefetch 경로에저장되며부트프리패치파일은 NTOSBOOT-B00DFAAD.pf 이고이외는응용프로그램프리패치파일이다. 슈퍼패치 는 Ag 로시작하며.db 확장자를가진파일이다. - 4 -

[ 그림 7] 프리패치저장경로 Windows7 의프리패치 / 슈퍼패치설정과레벨에따른동작은아래와같다. [ 그림 8] 프리 / 슈퍼패치설정 프리패치파일은응용프로그램의이름, 실행횟수, 마지막실행시간과더불어프 로그램실행시참조목록등의정보를담고있어포렌식관점에서중요하게활용가능하다. [ 그림 9] WinPrefetchView 를이용한분석 [ 그림 9] 는 WinPrefetchView를이용해프리패치파일들을분석하는화면이다. 프리패치생성시간과더불어수정시간, 경로및참조정보등많은정보를담고있음을볼수있다. 응용프로그램을실행한후 10초간의모니터링과정에서실행한파일이로드되어참조목록에기록되는데종종남아있지않는경우도존재한다. - 5 -

3. Shim Shim캐시를이해하기위해먼저응용프로그램호환성데이터베이스에대한이해가필요하다. 운영체제는버전이업데이트될때마다응용프로그램의호환성문제를겪게되는데이를윈도우에서는응용프로그램호환성데이터베이스가해결해준다. 호환성처리모듈과데이터베이스는 C:\Windows\AppPatch\ 경로에서확인할수있다. [ 그림 10] 호환성데이터베이스파일 DLL 파일은호환성처리모듈이며.sdb 파일은호환성데이터베이스파일로해당파 일들은 sb2xml 로확인이가능하다. SDB 파일에는호환성문제가있는프로그램목 록과함께기존프로그램을계속사용할수있도록하는설정정보를가지고있다. [ 그림 11] pcamain.sdb xml SDB 에서해결하는호환성문제는프로그램바이너리가아닌 API 와관련된호환성 문제이다. 운영체제는업그레이드될때마다새로생겨나는 API 는물론이고없어지는 - 6 -

API, 이를대체하기위한 API가존재하는데 SDB에는각응용프로그램별관련정보가모두저장되어있다. 응용프로그램은윈도우 API접근을위해 IAT를사용하고이때 shim은 IAT 호출사이에끼어들어 SDB를참고하여호환성해결방안으로호출흐름을바꾼다. [ 그림 12] shim 구조 이처럼호환성문제를겪은프로그램은호환성캐시에저장이된다. 따라서응용프로그램실행시 kernel32.dll의 CreateProcessInternalW 함수가시작되고해당함수는내부적으로 BasepCheckBadApp 함수를호출하게된다. 이함수는호환성체크를담당하는함수로서 SDB정보를확인하기전캐시데이터를확인한다. 만일캐시에서호환성문제를발견하지못한다면 SDB를탐색한다. 호환성캐시가정보가저장되는경로는아래와같다. [ 그림 13] shim 캐시저장경로 - 7 -

[ 그림 14] shim 캐시정보 [ 그림 15] win7 shim 캐시구조 shim 캐시는 [ 그림 15] 와같이프로그램경로, 크기, 마지막수정시간등이저장된다. 프리패치를이용해서실행정보를알수있지만프리패치개수가한정되어있어오래된흔적을찾기어렵고, 악성코드가프리패치와같이잘알려진흔적을모두삭제하는경향이있어 shim 캐시정보는포렌식관점에서유용하게사용될수있다. shim 캐시는맨디언트社의 ShimCacheParser를통해분석이가능하다. [ 그림 16] ShimCacheParser [ 그림 17] ShimCacheParser 출력 - 8 -

[ 그림 18] 프로그램호환성관리자 호환성에대해적절한해결책을찾지못한경우위처럼프로그램호환성관리자가 출력된다. 이때 이프로그램이제대로설치되었습니다. 를선택한경우에는아래와 같은레지스트리키에별도로관리된다. [ 그림 19] 프로그램호환성관리자레지스트리키 - 9 -

호환성해결을위해 [ 그림 20] 의호환모드, 설정또는권한수준을설정한경우레 지스트리에저장되고특정사용자만적용하였는지또는시스템전체적으로설정되었 는지여부에따라 HKLM 이나 HKCU 에저장된다. HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers [ 그림 20] 호환성속성 호환성아티팩트와관련해서는추가적으로 RecentFileCache.bcf 가존재하는데이 는 C:\Windows\AppCompat\Programs\ 경로에존재한다. [ 그림 21] RecentFileCache.bcf - 10 -

RecentFileCache.bcf 파일에는단순히실행파일의전체경로가유니코드형식으로저장되어있다. 이파일은프로세스생성시프로그램경로를임시로저장하기위해사용하는것으로최근실행한프로그램에관한정보만저장되어있다. http://journeyintoir.blogspot.kr/p/about.html 에서언급된바에의하면실행한모든프로세스정보가저장되는것이아닌드롭퍼와같이실행파일에서또다른실행파일이파생되거나다른볼륨, 시스템에서복사된프로그램을실행한경우에만기록된다고한다. 기록되는특성에의해악성코드분석시매우유용하게이용할수있지만 RecentFileCache.bcf 파일은 1일 1회초기화가이루어진다. - 11 -

4. LNK 바로가기파일인링크파일은사용자가의도적으로생성하는경우도있지만의도치않게생성되는경우도존재한다. 그중하나가최근문서폴더인데, 이폴더에는사용자가최근에실행했던파일및폴더에대한링크파일이저장된다. WFA를사용해최근에사용된링크파일들의시간과경로정보등을분석할수있다. [ 그림 23] 최근문서 [ 그림 24] WFA 를이용한링크파일분석 - 12 -

[ 그림 25] LNK 파일생성경로 링크파일은 [ 그림 26] 과같이 ShellLinkHeader, LinkTargerIDList, LinkInfo, StringData, ExtraData 로구성되어있으며 ShellLinkHeader 만이기본헤더로내 부플래그의설정에따라옵션헤더가구성된다. [ 그림 26] LNK 파일구조 각헤더에저장되는정보는아래와같다. ShellLinkHeader(default) : 기본적인헤더로식별정보, 시간정보, 대상 파일크기, 대상파일특성등의정보가저장된다. - 13 -

LinkTargetIDList(optional) : ShellLinkHeader의 HasLinkTargetIDList 플래그가설정되어있을때만존재하는구조로, 링크된대상의다양한정보를리스트형태로구성해놓은구조이다. LinkInfo(optional) : ShellLinkHeader의 HasLinkInfo 플래그가설정되어있을때만존재하는구조로링크대상을참조하기위한정보를가진구조이다. StringData(optional) : 역시나링크대상의문자열정보 ( 이름, 상대경로, 작업디렉터리등 ) 를저장하는구조로 ShellLinkHeader에관련된플래그가설정되어있을때만존재한다. ExtraData(optional) : 링크대상의화면표시정보, 문자열코드페이지, 환경변수와같은추가적인정보저장을위한구조이다. 포렌식관점에서중요한헤더는 ShellLinkHeader(FileAttributes, CreationTime, AccessTime, WriteTime, FileSize) 와 LinkInfo(VolumeID) 이다. [ 그림 27] FileAttributes [ 그림 28] Time, Size ShellLinkHeader 의 FileAttributes 헤더에서는해당링크파일에대한속성정보를 확인할수있고링크대상의생성시간및링크대상의접근시간, 쓰기시간과크기 에대한정보를분석할수있다. - 14 -

LinkInfo 의 VolumeID 헤더에선 DriveType 을통해링크대상이위치한드라이브의 형식과 DriveSerialNumber 그리고링크대상경로를파악할수있다. [ 그림 29] VolumeID - 15 -

참 고 1. http://forensic-proof.com/archives/2154 2. http://forensic-proof.com/archives/6103 3. http://www.technipages.com/win7-vista-enabledisable-superfetch 4. http://blogs.technet.com/b/koalra/archive/2009/05/14/windows-7-perfo rmance-responsiveness-superfetch.aspx 5. http://forensic-proof.com/archives/3397 6. http://forensic-proof.com/archives/5819 7. http://forensic-proof.com/archives/607 8. http://maj3sty.tistory.com/1034 9. http://forensic.korea.ac.kr/ 10. http://nirsoft.net/utils/win_prefetch_view.html 11. https://www.mandiant.com/blog/leveraging-application-compatibilitycache-forensic-investigations/ 12. http://blogs.msdn.com/b/heaths/archive/2007/11/02/sdb2xml.aspx 13. http://www.mitec.cz/wfa.html 14. FP- 레지스트리 - 포렌식과 - 보안.pdf 15. FP- 프리슈퍼 - 패치 - 포렌식 -Pre-Superfetch-Forensics.pdf - 16 -