목 차 1. 개 요... 1 1.1. 배경... 1 1.2. 요약... 1 1.3. 정보... 2 1.4. 대상시스템... 2 1.5. 원리... 2 2. 공격 기법 및 기본 개념... 3 2.1. Heap Spray... 3 2.2. Font... 4 3. 공 격..



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

취약점분석보고서 Simple Web Server 2.2 rc2 Remote Buffer Overflow Exploit RedAlert Team 안상환

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

SIGIL 완벽입문

취약점분석보고서 [Elecard AVC_HD/MPEG Player 5.7 Buffer Overflow] RedAlert Team 봉용균

< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

Web Scraper in 30 Minutes 강철

Deok9_Exploit Technique

< 목차 > 1. 악성코드은닉동향요약 1 2. 홈페이지은닉형악성코드통계 2 - 유포지탐지 국가별현황 2 - 대량경유지가탐지된유포지 TOP 악성코드유형별비율 4 - 악성코드취약점유형별비율 4 - 악성코드수집및분석결과 5 - 경유지탐지 업종별비율 9 3. 악성코

!K_InDesginCS_NFH

Windows 8에서 BioStar 1 설치하기

Adobe Flash 취약점 분석 (CVE )

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

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

*2008년1월호진짜

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

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

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

Scene7 Media Portal 사용

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

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

ActFax 4.31 Local Privilege Escalation Exploit


PowerPoint 프레젠테이션

SBR-100S User Manual

ActFax 4.31 Local Privilege Escalation Exploit

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

5th-KOR-SANGFOR NGAF(CC)

H3250_Wi-Fi_E.book

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

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

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

EDB 분석보고서 (04.06) ~ Exploit-DB( 에공개된별로분류한정보입니다. Directory Traversal users-x.php 4.0 -support-x.php 4.0 time-

adfasdfasfdasfasfadf

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

PowerPoint 프레젠테이션

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

목차 개요 3 섹션 1: 해결 과제 4 APT(지능형 지속 위협): 이전과 다른 위협 섹션 2: 기회 7 심층 방어 섹션 3: 이점 14 위험 감소 섹션 4: 결론 14 섹션 5: 참조 자료 15 섹션 6: 저자 소개 16 2

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

untitled

how_2_write_Exploit_4_the_MSF_v3.x.hwp

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

F120S_(Rev1.0)_1130.indd


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

Microsoft PowerPoint - chap10-함수의활용.pptx

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

슬라이드 1

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

Index

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

PowerPoint 프레젠테이션

ìœ€íŁ´IP( _0219).xlsx

<4D F736F F D2033BFF920BECBBEE0BFF9B0A3BAB8B0EDBCAD2E646F6378>

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

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

BMP 파일 처리

월간악성코드은닉사이트탐지 동향보고서 9 월 침해대응단사이버침해대응본부

인터넷 비즈니스의 필수 요소, 트랜잭션 시큐리티 서비스 인터넷 비즈니스는 기업 영리 활동에 있어서 부가적인 서비스가 아닌 사업을 영위해 가는데 중요한 역할을 하고 있습니다. 특히, 인터넷 쇼핑몰, 인터 넷 뱅킹, 사이버 트레이딩, 전자정부서비스, 온라인 게임, 인터넷

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

월간 CONTENTS 3 EXPERT COLUMN 영화 오블리비언과 C&C 서버 4 PRODUCT ISSUE 안랩, 새로워진 'V3 모바일 시큐리티' 출시 고도화되는 모바일 위협, 해답은? 6 SPECIAL REPORT 유포 방법에서 예방까지 모바일 랜

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

C# Programming Guide - Types

UI TASK & KEY EVENT

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

공지사항

PowerPoint Template

` 동향보고서 1. 악성코드은닉동향요약 3 2. 홈페이지은닉형악성코드통계 악성코드유포지현황 6 - 유포지탐지현황 6 - 대량경유지가탐지된유포지 TOP 악성코드취약점및취약한 S/W 악용현황 8 - 악성코드유형별비율 9 - 위협 IP 및도메인현황 10


서현수

vRealize Automation용 VMware Remote Console - VMware

기술문서 작성 XXE Attacks 작성자 : 인천대학교 OneScore 김영성 I. 소개 2 II. 본문 2 가. XML external entities 2 나. XXE Attack 3 다. 점검방법 3 라.

2006_8_14 (8_17 updated) ms ¿ú(wgareg.exe) ºÐ¼® º¸°í¼�.hwp

Microsoft Word - SecuLetter_ExploitAnalysis_CVE _Ver0.1

ThinkVantage Fingerprint Software

Windows Server 2012

Windows 10 General Announcement v1.0-KO

KARAAUTO_4¿ù.qxd-ÀÌÆå.ps, page Normalize

< B3E2C1A632C8B8BFF6B5E531B1DE42C7FC2E687770>

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

wp1_ hwp

Microsoft Word - MSOffice_WPS_analysis.doc

[Brochure] KOR_TunA

MS-SQL SERVER 대비 기능

<C6F7C6AEB6F5B1B3C0E72E687770>

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

User Guide

Secure Programming Lecture1 : Introduction

K831PCM1DMX-K

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

인도 웹해킹 TCP/80 apache_struts2_remote_exec-4(cve ) 인도 웹해킹 TCP/80 apache_struts2_remote_exec-4(cve ) 183.8

Oracle VM VirtualBox 설치 VirtualBox에서 가상머신 설치 가상머신에 Ubuntu 설치

개인정보보호의 이해 및 안전한 관리 - 개인PC 및 스마트폰 개인정보보호-

ÀÎÅÍ³Ý ÁøÈï¿ø 3¿ù ÀúÇØ»ó

금오공대 컴퓨터공학전공 강의자료

취약점분석보고서 = MS =

View Licenses and Services (customer)

JVM 메모리구조

Transcription:

취약점 분석 보고서 [ Adobe Flash Player 11.3 Kern Table Parsing Integer Overflow - CVE-2012-1535 ] 2012-08-23 RedAlert Team 안상환

목 차 1. 개 요... 1 1.1. 배경... 1 1.2. 요약... 1 1.3. 정보... 2 1.4. 대상시스템... 2 1.5. 원리... 2 2. 공격 기법 및 기본 개념... 3 2.1. Heap Spray... 3 2.2. Font... 4 3. 공 격... 5 3.1. 시나리오... 5 3.2. 대상 애플리케이션... 6 3.3. 공격 테스트... 6 4. 공격 코드 분석... 9 4.1. 패킷 추출... 9 4.2. e7zlm45yjdtof0.html... 9 4.3. pay.txt... 9 4.4. e7zlm45yjdtof0o0cfim1x0wk.swf... 10 5. 상세 분석... 14 5.1. Heap Spray... 14 5.2. Parsing 취약성 확인... 18 6. 결 론... 22 7. 대응 방안... 22 8. 참고... 23

1. 개 요 1.1. 배경 최근 농협 전산망 해킹, 현대 캐피탈 해킹에 의한 175 만 개인정보 유출, SK 컴즈 해킹에 의한 3,500 만 명의 개인정보 유출, 이란 원자력 발전 시설 해킹, 미국 국립 오크리지연구소 해킹에 의한 기술데이터 유출 등 매우 심각한 보안 사고들이 국내외에서 연이어 발생하고 있습니다. 국내외 대기업 외에도 대부분의 중소기업 또한 이러한 보안 위협에 그대로 노출된 실정입니다. 이러한 국내외의 보안사고들을 과거 보안사고와 비교하여볼 때, 개인의 실력 과시 목적이 아닌 정부 또는 특정 회사의 중요정보를 획득하기 위한 특수 조직에 의한 공격으로 특정 타깃에 대한 장기적이고 지속적인 공격 양상을 보이고 있습니다. 이와 같이 특수 목적을 가진 조직이 하나의 타깃에 대한 다양한 IT 기술을 이용하여 지속적으로 정보를 수집하고 취약점을 파악하여 이를 바탕으로 피해를 끼치는 공격인 APT(Advanced Persistent Threat) 공격이라고 합니다. 이러한 APT 공격 기본적으로 해당 취약점에 대한 패치가 이루어지기 전에 행해지는 0-day 공격 과 해당 취약점에 대한 패치는 이루어졌으나 사용자가 패치를 수행하지 않아 존재하는 취약점을 이용하는 1-day Attack 에 기초를 두고 있습니다. 그 예로, 원격 데스크탑 연결 취약점 공격이나 일반 사용자들이 업데이트를 크게 중요시 하지 않는 멀티미디어 취약점들이 악용되고 있습니다. 1.2. 요약 CVE-2012-1535 취약점은 Adobe Flash Player 11.3 Font Parsing Code Execution 혹은 Adobe Flash Player 11.3 Kern Table Parsing Integer Overflow 라는 이름으로 2012 년 8 월 14 일 공개된 취약점이며, 특수하게 제작된 SWF 파일을 통해 임의의 코드 실행 및 서비스 거부를 발생 시킬 수 있는 취약점 입니다. 취약한 버전을 사용하는 모든 사용자에게 공격이 유효하며 Adobe 사에서 제공하는 패치를 통해 해당 취약점을 제거할 수 있습니다. 1

1.3. 정보 취약점 이름 Adobe Flash Player 11.3 Kern Table Parsing Integer Overflow (CVE-2012-1535) 최초 발표일 2012 년 8 월 14 일 문서 작성일 2012 년 8 월 23 일 버전 11.3.300.270 이하 버전 현재 상태 패치됨 (2012.08.17) Vender Adobe Author Sinn3r 공격 범위 Remote 공격 유형 Integer Overflow 표 1. 취약점정보 1.4. 대상시스템 대상 애플리케이션은 Windows XP SP3 에서 테스트를 하였고, 아래는 표는 영향을 줄 수 있는 시스템 목록입니다. Flash Player 11.3.300.270 이전 버전 (Windows / Macintosh) Flash Player 11.3.300.270 이전 버전 (Network Distribution) Flash Player 11.2.202.236 이전 버전 (Linux) Flash Player 11.3.300.270 이전 버전 (Chrome User) 표 2. 취약 시스템 1.5. 원리 CVE-2012-1535 취약점은 Flash Player 에서 조작된 Font 파일을 파싱하는 과정에서 정상적이지 않은 주소를 참조하게 되어 발생한 오류로 임의의 코드 및 서비스 거부를 발생 시 킬 수 있는 취약점 입니다. 조작된 Font 의 Kern Table 의 데이터를 참조하는 과정에서 해당 취약점이 유발되는 것이라 추정되며 Heap Spraying 기법을 이용하여 임의의 코드를 예측 가능한 메모리 영역에 삽입한 다음 플래시 취약점을 유발시켜 임의의 코드를 실행 할 수 있습니다. [그림 1] 취약점 원리 개요도 2

2. 공격 기법 및 기본 개념 2.1. Heap Spray Heap Spray 기법은 전혀 새로운 기법이 아닙니다. 공격코드 전송 기술 중 하나입니다. Wikipedia 에 따르면 2001 년 (MS01-033)취약점에서 Heap Spray 가 거론된 적이 있었으며 이후 2004 년 Skylined 의 Internet Explorer ifame Tag 취약점에서 Heap Spray 기법이 사용되었습니다. 많은 Exploit Code 에서 Heap Spray 기법이 사용되지만 이 기법은 취약점을 유발할 수 있는 공격 기법은 아니며 단순히 공격코드를 전송하는 기술 중 하나일 뿐입니다. 오늘날, 많은 시간이 지났음에도 불구하고 여전히 Heap Spray 기법은 Browser Exploit 에서 공격코드를 전송할 때 가장 많이 사용되고 있습니다. 이러한 기법은 다음과 같은 특징을 이용합니다. 첫째, 공격자가 할당 할 수 있는 Heap 영역은 한정되어 있습니다. 둘째, 공격자는 스크립트 언어(Java Script, VB Script, Action Script)를 이용하여 Heap 영역을 할당할 수 있습니다. Heap Spray 기법은 Nop 과 임의의 코드로 구성된 Chunk 라는 블록을 Heap 영역에 여러 번 할당하여 예측 가능한 주소(0x0a0a0a0a, 0x0b0b0b0b, 0x0c0c0c0c)에 임의의 코드가 위치할 수 있도록 하는 기법입니다. [그림 2] Heap Spray 원리 3

2.2. Font 폰트(Font)는 컴퓨터를 통해 모니터나 프린터 등의 출력 장치에 출력 되는 글자의 모양, 혹은 미리 디자인된 여러 가지 스타일과 크기의 글자를 보관해 놓은 일종의 문자 라이브러리로 컴퓨터에서 사용되는 모든 문자의 모양과 크기에 대한 정보를 담고 있습니다. 운영체제에서 기본적으로 제공하는 폰트는 System Font 라고 불리고 애플리케이션에서 포함되어 컴파일 된 폰트는 Embedded Font 라고 불립니다. System Font 는 사용하기 편하지만 사용자의 사용환경에 따라 폰트가 설치되어 있지 않다면 글씨가 안 보이는 일이 발생할 수 있습니다. 대신 Embedded Font 는 애플리케이션에 포함되기 때문에 어떤 사용자가 애플리케이션을 사용하든지 항상 폰트를 사용한 글자를 볼 수 있습니다. 예를 들어 한글에 관련된 폰트를 애플리케이션에 포함시켜버리면 시스템에 한글 폰트가 전혀 없는 아랍국가에 있는 사용자도 애플리케이션 실행 시 문제없이 한글을 볼 수 있습니다. 또한 Embedded Font의 경우 System Font 에 비해 Anti-Aliasing, 회전 등 다양한 효과를 줄 수 있다는 장점을 가지고 있습니다. 하지만, Embedded Font 는 애플리케이션 자체에 포함하는 것이므로 애플리케이션이 무거워진다는 단점이 있습니다. 무거워진 애플리케이션은 결국 사용자들의 시간과 인내의 한계점에 도달하게 할지도 모릅니다. 이러한 문제점을 해결하기 위해서는 Embedded Font 를 애플리케이션 내부에 포함하지 않고 따로 폰트만을 담은 SWF 파일을 만들어 애플리케이션이 실행되는 중간에 필요한 폰트를 로드 할 수 있도록 설계하는 방법이 있습니다. Font은 다양한 종류(Digital Font, Screen Font, Print Font, Bitmap Font, Outline Font, PostScript Font, True Type Font, ATM Font, Open Type Font)의 포맷으로 존재합니다. 그 중 Open Type Font 는 최근 MS 와 Adobe 사에서 합작으로 개발한 Open Type 기술을 적용한 Font이며 윈도우와 매킨토시환경에서 ATM 이나 다른 Font 매니저 없이 사용할 수 있는 장점을 가지고 있습니다. [그림 3] OpenType Font(OTF) 개요도 4

3. 공 격 3.1. 시나리오 1 공격자는 피해자의 접속을 유도할 쇼핑몰의 Index페이지에 악성코드를 삽입합니다. 2 피해자는 쇼핑몰 사이트에 접속합니다. 3 공격자가 삽입한 악성코드가 피해자의 웹 브라우저상에서 동작하게 됩니다. 4 피해자는 자신이 의도하지 않은 웹 페이지(실제 공격용 웹 사이트)로 접속을 시도하게 됩니다. 5 웹 페이지 접속과 동시에 악성 플래시 파일이 실행됩니다. 6 CVE-2012-1535 취약점이 유발되고 공격자가 정의한 임의의 코드(리버스 커넥션)가 실행됩니다. 7 임의의 코드가 실행되고 피해자 시스템은 공격자 시스템으로의 접근 및 리버스 커넥션을 수립하게 되고 최고 관리자 권한을 탈취 당하게 됩니다 [그림 4] 공격 시나리오 5

3.2. 대상 애플리케이션 1 대상 애플리케이션은 Adobe Flash Player 11.3.300.257 버전에서 테스트하였습니다. [그림 5] 대상 애플리케이션 버전 3.3. 공격 테스트 1 Metasploit 에서 제공하는 CVE-2012-1535 취약점 모듈을 이용하여 악성 파일을 배포할 웹 서버를 구동시킵니다. [그림 6] 악성 SWF 파일 배포용 웹 서버 구동 6

2 공격자는 공격에 사용할 쇼핑몰 사이트에 접속합니다. [그림 7] 공격에 사용될 인터넷 쇼핑몰 3 공격자는 인터넷 쇼핑몰 Index 페이지에 악성코드를 삽입합니다. [그림 8] 쇼핑몰 Index 페이지 악성코드 삽입 7

4 피해자는 악성코드가 삽입된 인터넷 쇼핑몰에 접속합니다. [그림 9] 악성코드가 삽입된 인터넷 쇼핑몰 접속 5 피해자의 접속과 동시에 최고 관리자 권한이 탈취당하게 됩니다. [그림 10] 피해자 시스템 최고 관리자 권한 획득 8

4. 공격 코드 분석 4.1. 패킷 추출 1 http 필터링을 통해 필요 정보만 추출합니다. [그림 11] 패킷 추출 악성 웹 서버 Index 페이지인 e7zlm45yjdtof0.html 을 로드 합니다. 악성 플래시 파일인 e7zlm45yjdtof0o0cfim1x0wk.swf 을 실행합니다. Shell Code 파일인 pay.txt 불러옵니다. 4.2. e7zlm45yjdtof0.html 1 공격용 웹 서버의 Index 페이지는 아래와 같이 구성됩니다. [그림 12] 공격용 웹 서버 Index 페이지 해당 태그를 통해 악성 플래시 파일인 e7zlm45yjdtof0o0cfim1x0wk.swf 가 실행됩니다. 4.3. pay.txt 1 공격에 사용될 Shell Code 는 pay.txt 에 저장되어있습니다. [그림 13] Shell Code 파일 9

4.4. e7zlm45yjdtof0o0cfim1x0wk.swf 1 SWF 파일 내 Action Script 로 구성된 Exploit Code 는 아래와 같습니다. [그림 14] 공격 코드 분석 (1) Main( ) 함수는 최초 자신이 사용할 Main_FontClass 객체를 선언합니다. 이때 선언된 Main_FontClass 는 FontAsset Class 의 확장 클래스 입니다. FontAsset Class 는 Flash.text.font Class 의 SubClass 로 내장되어 있는 Flex Application 에 대한 Font 관련 동작을 수행하는 Class 입니다. Flex 와 관련된 Font 는 TrueType Font(TTF) 와 OpenType Font(OTF)가 10

있습니다. 만약 SWF File 내부에 System Font 나 제작된 별도의 Font 가 존재하는 경우 컴파일러에 의해 Extend Class 를 설정하게 되어 있습니다. 2 SWF 파일 내 Action Script 로 구성된 Exploit Code 는 아래와 같습니다. [그림 15] 공격 코드 분석 (2) _loc_1 변수에 웹 서버 동일 디렉터리 안에 존재하는 Shell Code 파일의 경로를 저장하며, 이후 가 Shell Code 파일을 요청하게 됩니다. 웹 서버에 요청한 Shell Code 파일인 pay.txt 파일을 다운받는 화면입니다. 11

3 SWF 파일 내 Action Script 로 구성된 Exploit Code 는 아래와 같습니다. [그림 16] 공격 코드 분석 (3) this.urlloader.addevetlistener( )함수가 호출되기 전에 인자 값으로 존재하는 this.urlloader_complete( )함수가 호출됩니다. urlloader_complete( )함수가 호출되고 finishexploit( )함수가 실행됩니다. finishexploit( )함수에 는 heapspray( )함수와 플래시 취약점을 유발하는 TextBlock_createTextLineExample( )가 정의되어 있습니다. finishexploit( )함수에 정의된 heapspray( )함수가 실행되고 예측 가능한 메모리 영역에 Nop 과 공격코드로 구성된 Chunk 가 삽입됩니다. 12

4 SWF 파일 내 Action Script 로 구성된 Exploit Code 는 아래와 같습니다. [그림 17] 공격 코드 분석 (4) heapspray( )함수 와 플래시 취약점 유발 함수인 TextBlock_createTextLineExample( )함수가 포함되어 있는 finishexploit( )함수가 호출됩니다. heapspray( )함수가 실행된 다음 플래시 취약점 유발 함수인 TextBlock_createTextLineExample( )함수가 실행됩니다. TextBlock_createTextLineExample( )함수에서는 처음 Main( )함수에서 선언한 Main_FontClass 에 데이터를 구성한 다음 이를 바탕으로 실행된 createlines( )함수에서 Font 출력을 위한 처리과정에서 에러가 발생합니다. 13

5. 상세 분석 5.1. Heap Spray 1 Heap Spray 는 아래와 같은 순서로 실행 됩니다. [그림 18] Heap Spray 지점 (1) MOVQ 명령을 통해 Nop 과 Shell Code 가 메모리 영역에 복사됩니다. 메모리 영역에 Nop 이 복사되는 것을 볼 수 있습니다. 14

2 Heap Spray 는 아래와 같은 순서로 실행 됩니다. [그림 19] Heap Spray 지점 (2) Nop 이 복사되고 Shell Code 도 복사되는 것을 볼 수 있습니다. 15

3 Heap Spray 는 아래와 같은 순서로 실행 됩니다.. [그림 20] Heap Spray 지점 (3) Heap Spray 가 진행되고 예측 가능한 주소 (0x0c0c0c0c)에 Nop 이 복사되게 됩니다. 16

4 Heap Spray 완료 후 메모리의 모습입니다. [그림 21] Heap Spray 지점 (4) 예측 가능한 주소(0x0c0c0c0C)에 Nop 이 채워지고 이후 Shell Code 도 채워져 있습니다.. 17

5.2. Parsing 취약성 확인 1 해당 취약성은 악성 SWF 파일 내 정의된 Action Script 코드에서 사용할 Embedded Font 인 PSpop 폰트를 파싱하는 과정에서부터 시작됩니다. [그림 22] PSpop 폰트 파일 2 PSpop Font 의 Font Table 에 대한 정보입니다. [그림 23] Font Table 정보 18

3 Heap Spray 가 동작하고 난 뒤 Kern Table 을 파싱하는 과정에서 Nop 과 Shell Code 가 존재하는 주소를 전달받게 됩니다. [그림 24] Kern Table 19

4 Kern Table 의 조작된 주소가 파싱되고 이후 잘못된 주소(0x0c0c0c0c)를 참조하게 됩니다. [그림 25] 잘못된 주소 참조 Call DWORD PTR DS: [EAX+8]을 통해 잘못된 주소를 참조하게 됩니다. 20

5 Heap Spray 에 의해 미리 삽입된 Nop 부분으로 이동하게 됩니다. [그림 26] 임의의 코드 실행 6 Nop 을 타고 이후 존재하는 Shell Code 가 실행됩니다. [그림 27] Shell Code 실행 21

6. 결 론 CVE-2012-1535 취약점은 조작된 폰트를 파싱하는 과정에서 미리 조작된 주소 값을 참조하여 정상적이지 않은 주소로 프로그램의 흐름을 변경할 수 있게 됩니다.. 7. 대응 방안 1 해당 취약점 패치가 된 최신 버전의 애플리케이션으로 업데이트하여 예방할 수 있습니다. [그림 28] 패치 버전 다운로드 페이지 2 Update 가 발생하면 자동으로 설치되도록 설정하여 패치 이후 1-day 공격을 예방 할 수 있습니다. [그림 29] 자동 업데이트 설정 22

8. 참고 1 최신 정보보호기술 동향: APT 및 그 대응 http://www.nipa.kr/know/periodicalview.it?identifier=02-001-110909-000010&menuno=28&code=b_ita_01 2 (ActionScript 3.0) 폰트를 동적으로 로드 및 등록을 위한 FontManager 클래스 http://ariman.tistory.com/202 3 A New Font Format for Macintosh and Windows http://www.sketchpad.net/opentype-fonts.htm 4 CVE-2012-1535 http://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2012-1535 5 Adobe Security update available for Adobe Flash Player http://www.adobe.com/support/security/bulletins/apsb12-18.html 6 Metasploit Adobe Flash Player 11.3 Kern Table Parsing Integer Overflow http://www.metasploit.com/modules/exploit/windows/browser/adobe_flash_otf_font 7 Adobe Flash Old Version Download http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html 23