보안 위협 분석 보고서

Similar documents
< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

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

PowerPoint 프레젠테이션

SBR-100S User Manual

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

목 차 1. 개 요 배경 요약 정보 대상시스템 원리 공격 기법 및 기본 개념 Heap Spray Font 공 격..

*2008년1월호진짜

리눅스 취약점대응방안권고 / KISA 취약점점검팀 영향받는플랫폼 OS, FAQ 추가 개요 미국보안회사 에의해 시스템의 라이브러리 의특정함수에서임의코드를실행할수있는취약점이공개 해당취약점은 CVE 지정, 도메인네임을

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

PowerPoint 프레젠테이션

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

MODBUS SERVO DRIVER( FDA7000 Series ) STANDARD PROTOCOL (Ver 1.00) 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 PowerPoint - chap01-C언어개요.pptx

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

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

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

Adobe Flash 취약점 분석 (CVE )

Microsoft PowerPoint - chap06-2pointer.ppt

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

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

Secure Programming Lecture1 : Introduction

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

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

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

로거 자료실

Install stm32cubemx and st-link utility

Microsoft Word - FunctionCall

Microsoft Word - Static analysis of Shellcode.doc

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

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

게시판 스팸 실시간 차단 시스템

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

PowerPoint 프레젠테이션

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

Reusing Dynamic Linker For Exploitation Author : Date : 2012 / 05 / 13 Contact : Facebook : fb.me/kwonpwn

SIGIL 완벽입문

Microsoft Word - building the win32 shellcode 01.doc

Microsoft Word - src.doc

untitled

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

JVM 메모리구조

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

보안 위협 분석 보고서

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

Frama-C/JESSIS 사용법 소개

iOS5_1±³

<32BDBAB8B6C6AEC6F9B1DDC0B6B0C5B7A13130B0E8B8EDBEC8B3BBBCAD2E687770>

취약점분석보고서 [CyberLink Power2Go name attribute (p2g) Stack Buffer Overflow Exploit] RedAlert Team_ 강동우

< F33BFF920C0CEC5CDB3DD20C4A7C7D8BBE7B0ED20B5BFC7E220B9D720BAD0BCAEBFF9BAB828C3D6C1BEBABB292E687770>

Windows 8에서 BioStar 1 설치하기

DDoS 공격, 게임계정유출해커, 비트코인등가상화폐노린다 - 13 년 10 월부터 DDoS, 원격제어, 게임계정유출하더니최근암호화폐채굴 - 개요지난 13 년 10 월,Microsoft 社의인터넷익스플로러취약점 (CVE ) 을통해유포되는악성코드가 DDoS

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

< 목차 > 1. 악성코드은닉동향요약 1 2. 홈페이지은닉형악성코드통계 악성코드유포지현황 3 - 유포지탐지현황 3 - 대량경유지가탐지된유포지 TOP 악성코드취약점및취약한 S/W 악용현황 5 - 악성코드유형별비율 6 - 위협 IP/ 도메인현황 7 2

슬라이드 1

목차 개요... 3 CVE /CVE 요약... 3 CVE /CVE 분석 취약점발생원인 CVE 와 CVE 의연관성및차이점... 7 C

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

Computer Security Chapter 08. Format String 김동진 1 Secure Software Lab.

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

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

디지털일안리플렉스카메라펌웨어업그레이드순서에대하여 (Mass Storage 대응기종 ) - Mac 판 - 니콘제품을애용해주셔서대단히감사합니다. 여기에서는이번다운로드대상이되는니콘디지털일안리플렉스카메라의펌웨어버전업그레이드에대해설명하고있습니다. 그리고니콘서비스센터에서의업데이트

ActFax 4.31 Local Privilege Escalation Exploit

Microsoft Word - 문필주.doc

<BBE7B0EDB3EBC6AE5FC7E3BAEAB0D4C0D32E687770>

ios 의플랫폼특성 1. ios의특징 ios(iphone OS) 는애플 (apple) 사에서개발한 iphone, ipod Touch를위한비공개모바일운영체제이다. 애플의 PC용운영체제인 Mac OS X를기반으로제작되었으며, 2008년 7 월에 ios 2.0 버전이최초로릴

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

설명 Description 상세정보 네이버에서운영하는서비스중하나인쥬니어네이버 ( 이하쥬니버 ) 에서는쥬니버서비스와 관련하여도움을주기위한 [ 그림 1] 과같은플래시애플리케이션이서비스되고있다.[2] [ 그림 1] 쥬니어네이버에서서비스중인쥬니버도우미플래시애플리케이션 해당플래

Microsoft PowerPoint - additional01.ppt [호환 모드]

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

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

Microsoft PowerPoint - web-part01-ch05-함수.pptx

08_spam.hwp

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft Word - SecuLetter_ExploitAnalysis_CVE _Ver0.1

Windows 10 General Announcement v1.0-KO

Secure Programming Lecture1 : Introduction

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

슬라이드 1

취약점분석보고서 = MS =

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

API 매뉴얼

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

** 5 개이발생한주요소프트웨어별취약점세 EDB 번호취약점종류공격난이도공격위험도취약점이름소프트웨어이름

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

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

Microsoft Word - MSOffice_WPS_analysis.doc

Web Scraper in 30 Minutes 강철

ISP and CodeVisionAVR C Compiler.hwp

11장 포인터

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Chapter #01 Subject

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

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

how_2_write_Exploit_4_the_MSF_v3.x.hwp

2 카메라의 펌웨어버전을확인합니다 카메라기종에따라표시되는화면이다를수있습니다. 1 카메라의전원을 ON으로합니다. 2 카메라의메뉴버튼 MENU을누르고메뉴화면을표시합니다. 3 [ 설정메뉴 ] 에서 [ 펌웨어버전 ] 를선택합니다. 4 카메라의 펌웨어버전이표시됩니다. 버전이업그

명세서청구범위청구항 1 문서에포함된악성공격코드를탐지하는시스템에있어서, 상기악성공격코드를탐지하는프로그램이저장된메모리, 기수집된악성공격코드에기초하여분류된행위시그너처가저장된데이터베이스및상기프로그램을실행시키는프로세서를포함하되, 상기프로세서는상기악성공격코드를탐지하는프로그램이실행

Chapter 05. 파일접근권한관리하기

Transcription:

[ 보안위협분석보고서 ] 취약점을이용한아이폰탈옥 (JailBreak) 상세분석보고서 Ver 1.2 (Revision 8/12) 2010. 08. 03 ( 주 ) 하우리사전대응팀

목차 1. 보안위협동향분석... 2 1-1. 아이폰웹기반탈옥툴 JailbreakMe 2.0 star 공개... 2 2. 취약점상세분석... 5 2-1. 취약점을이용한아이폰 JailBreak 상세분석... 5 2-1-1. FreeType 2 CFF Font Stack Corruption Vulnerability - CVE-2010-1797... 5 2-1-2. IOSurface Integer Overflow Vulnerability - CVE-2010-2973... 9 3. 하우리사전대응팀... 14 1

1. 보안위협동향분석 1-1. 아이폰웹기반탈옥툴 JailbreakMe 2.0 star 공개 JailbreakMe 사이트는 USER-AGENT 값을확인하여모바일사파리 (Safari) 브라우저로접속하였는지확인하고, 다음과같은자바스크립트를통해서각각의아이폰, 아이팟, 아이패드펌웨어버전에해당하는 PDF 파일로이동한다. 8월 1일데브팀 (DEV-Team) 의 Comex가개발한아이폰 (iphone) 의웹기반탈옥툴 JailbreakMe 2.0 star 가공개되었다. 7월말미국정부가아이폰탈옥 (Jailbreak) 에대해서불법으로볼수없다고발표한뒤에공개된것이라사람들의관심이더욱커지고있다. 해당툴은아이폰운영체제 (ios) 4.X, 3.X 버전을설치한아이패드, 아이폰4, 아이폰 3GS, 3G 모든단말기에서사용할수있다. 이번에공개된탈옥툴은지난탈옥방식과달리아이폰의모바일사파리 (Safari) 브라우저로 JailbreakMe 사이트 (www.jailbreakme.co m) 에접속하는것으로간단히탈옥이가능하다. 다음화면은모바일사파리브라우저를이용해서 JailbreakMe 사이트에접속한화면이다. 이화면에서슬라이드를오른쪽으로밀면탈옥 (Jailbreak) 이시작된다. <JailbreakMe 리다이렉트소스 > 탈옥사이트 (http://www.jailbreakme.com/_/) 에서펌웨어버전별로만들어진 PDF 파일을확인할수있다. < 아이폰탈옥에사용되는 PDF 파일 > < 아이폰탈옥프로그램 - JailbreakMe 2.0 star > 다음화면은아이폰운영체제 (ios) 4.0에서탈옥을진행하고있는화면이다. 탈옥이완료되면 Cydia 애플리케이션이설치된다. 이번아이폰탈옥은 FreeType2 폰트엔진이 PDF 내부에포함되어있는 CFF 폰트를처리하는과정에서발생하는취약점과 IOSurface 속성처리과정에서발생하는두가지취약점을이용한다. 탈옥에사용되는 iphone3,1_4.0.pdf 파일을대상으로관련된내용을살펴보자. 인코딩된 CFF 폰트 (Type1C) 스트림은 PDF 파일내부의 13번째오브젝트에위치해있다. <JailbreakMe 2.0 star - 탈옥진행화면 > <PDF 내부에인코딩되어포함된 CFF 폰트 > 2

PDF 파일의 13 번째오브젝트를 PDF 파서 (Parser) 를사용해디코딩 한화면이다. 해당취약점을이용하여악성코드제작자는악의적인 PDF 파일을제작하고, 이를메일에첨부하여발송하거나 SMS 메시지의링크를통해사용자에게악성 PDF 파일을실행하도록유도할수있다. <PDF 파서 (Parser) 를이용한디코딩 > 디코딩된데이터에서탈옥과관련된많은정보를얻을수있다. 다음화면에서탈옥진행에필요한 wad.bin 파일과탈옥과관련된문자열들을발견할수있다. < 이메일을이용한악성 PDF 유포 > 이외에도트위터에악성 PDF 파일로연결되는단축 URL을남기는등의사회공학적인방법을이용해사용자의접속을유도할수있다. < 디코딩된데이터내용 > 이외에도 IOSurfaceBytesPerRow, IOSurfacePixelFormat, IOSurfaceHeight, IOSurfaceWidth 설정값들이비정상적으로크게설정되어있다. < 트위터를이용한악성 PDF 유포 > 8월 11일애플에서는 PDF 파일을열어볼때발생할수있는보안상의문제점을해결한아이폰운영체제 (ios) 4.0.2를발표했다. 사용자들은아이튠즈 (itunes) 업데이트기능을이용해업데이트가가능하다. <IOSurface 의비정상적인설정값 > < 아이폰운영체제 (ios) 4.0.2 소프트웨어업데이트 > 3

데브팀 (DEV Team) 의 Comex 는이번아이폰탈옥소스파일을트위 터를통해공개했다. 아직까지해당취약점을이용한악성코드의유포사례는발견되지않았다. 하지만, 탈옥툴을개발한 Comex가소스파일을공개하여이를악용한또다른공격이우려되고있다. 아직까지아이폰운영체제를업데이트하지않은사용자들은악성 PDF 파일을통해악성코드에감염될수있으므로아이폰운영체제 (ios) 를 4.0.2 버전으로업그레이드하고출처가불분명한 PDF 파일은함부로열어보지말아야한다. < 데브팀 (DEV-Team) 의 Comex 트위터 > 다음은 Comex가공개한탈옥소스파일이다. 해당파일은 github (http://github.com/comex/star) 에서다운로드받을수있다. <Comex 가공개한 JailbreakMe 2.0 star 소스 > 탈옥툴을개발한 Comex는탈옥한아이폰에서플래시 (Flash) 를사용할수있도록만들어주는프래시 (Frash) 라는애플리케이션도개발했다. 모바일사파리브라우저는플래시를사용할수없지만, 안드로이드용플래시플레이어 (Flash Player) 를아이폰운영체제 (ios) 에맞게포팅하여사용할수있게만들었다. <Comex 가개발한프래시 (Frash) 애플리케이션 > 4

2. 취약점상세분석 2-1. 취약점을이용한아이폰 JailBreak 상세분석 파일을로딩한다. Javascript를사용하지않고, 웹페이지에바로접근할경우다음과같이여러버전의 PDF 파일을확인할수있다. 최근아이폰을탈옥하는사이트인 JailBreak 사이트가문을열었다. 기존의탈옥사이트와는달리사이트에접속한후, 슬라이드바를미는순간아이폰이탈옥되기때문에, 사용자들에게많은인기를끌고있다. 하지만이러한기능은아이폰자체에존재하는보안취약점을이용하는것으로, 공격자가해당취약점을이용할경우아이폰에서동작하는악성코드가유포되거나사용자의주요정보가유출될수있다. 아이폰의기본브라우저인 Safari가악의적으로조작된 PDF 파일을처리하는과정에서, 원격의공격자로부터코드실행을허용할수있는취약점이존재한다. 공격자는웹서버를구성한후악의적인 PDF를업로드하고, 사회공학적기법을통해사용자들의접속을유도하는방식으로공격을수행할수있다. 최근웹사이트방문만으로아이폰을탈옥할수있는 JailBreak 서비스는탈옥프로그램의자동실행을위해해당취약점을이용하고있다. JailBreak의경우단순히사용자의아이폰 / 아이패드 / 아이팟 ( 이하아이폰으로통일 ) 등의단말기를탈옥하는용도로사용하고있지만, 공격자가이를악용할경우사용자의아이폰에악의적인목적의코드를삽입할수있다. <ios 버전별 PDF 파일 > 2-1-1. FreeType 2 CFF Font Stack Corruption Vulnerability - CVE-2010-1797 JailBreak의웹페이지의초기화면에접근할경우 Javascript가실행되며, 슬라이드를통해탈옥프로그램실행여부를질의한다. 해당코드실행취약점은 PDF 파일내의 CFF(Compact Font Format) 가공격자에의해조작되었을때, Safari 브라우저가이를적절하게처리하지못하기때문에발생한다. Safari 브라우저등의아이폰애플리케이션은 CFF 포맷을처리하기위해 FreeType 라이브러리를사용한다. 해당라이브러리는소스코드가공개되어있기때문에인터넷을통해소스코드를쉽게확보할수있다. 해당소스코드를통해공격자는조금더수월하게취약점을연구할수있다. 공개된소스코드와아이폰에탑재된 CFF 처리로직의어셈블리코드를대조한결과, 아이폰의경우 2.3.5 이하버전의 FreeType 라이브러리를통해 CFF 포맷을파싱하는것으로확인되었다. <JailBreakMe 접속화면 > 사용자가슬라이드를밀어프로그램의실행을결정할경우, Javascript는사용자의아이폰버전을조회하여버전에맞는 PDF <FreeType 라이브러리다운로드 > 5

PDF에저장된 CFF 스트림은기본적으로 zlib 인코딩방식으로압축되어있기때문에, PDF 파일내에 CFF 포맷을식별하기위해압축을해제해야한다. 압축이정상적으로해제되면 CFF의스트림을식별할수있다. <CFF 구조확인 > 실제취약점을발생시키는데이터는 stream 영역에기록되어있다. PDF가실행되면 stack argument 는 FF를기준으로나누어져스택에입력되며, 뒤의 operator는지정된함수가실행되어순차적으로처리된다. <op 코드처리로직 > 사용자가 Safari 브라우저를통해 PDF파일을실행하면 CFF 포맷을처리하기위해 Load_Glyph() 함수가호출되며, Load_Glyph 함수는 CFF 포맷을파싱하기위해 cff_decoder_parse_charstrings 함수를호출한다. <CFF 처리함수호출부분 > <CFF Stream 확인 > 오퍼레이터값은순차적으로처리되며, 해당 op코드에해당하는로직이호출된다. 공개된소스코드에서 op코드를처리하는로직을확인하면다음과같다. cff_decoder_parse_charstrings 함수는 PDF 내에존재하는 CFF 포맷을파싱한후, 오퍼레이터에의해해당하는함수들이순차적으로실행되어결과값이스택에추가된다. 공개된 FreeType 라이브러리에서스택에데이터를추가하는부분의로직은다음과같다. 6

< 취약점발생부분상세분석 - 라이브러리 > 실제아이폰에접속하여디버거를통해해당로직을확인하면, 그어셈블리코드는아래와같다. < 취약점발생부분코드분석 - CFF 처리함수호출 > < 취약점발생부분상세분석 - 아이폰어셈블리 > 어셈블리코드나소스코드를통해알수있듯이, 해당로직은기본적으로 Stack Overflow에대한보호모듈이적용되어있다. 스택에예상보다많은값이입력될경우 R0 레지스터에 130을입력한후, 해당함수를종료한다. < 취약점발생부분코드분석 - 실행흐름변조부분 > Load_Glyph 함수가리턴되어공격자에게실행흐름이넘어가는순간의어셈블리코드는다음과같다. < 오버플로우로인한함수종료 > POP 명령에의해 STACK에저장된 Return Address가 PC 레지스터에입력되며, 실행흐름이 Load_Glyph 함수로돌아온다. 하지만 Overflow 발생시프로그램의실행이중단되지않고단순히함수가종료된후실행이계속되기때문에, 공격자는제한적으로스택을조작할수있다. < 실행흐름변조부분 > 리턴되는순간의스택프레임은다음과같다. <Return Address 변조코드 > 공격자는 CFF 포맷을조작함으로써 Load_Glyph 함수의 Return Address를조작할수있다. CFF를처리하는함수가 Overflow로인해종료되었지만이미 Load_Glyph 함수의 Return Address는조작되었고, 프로그램의실행흐름이지속되기때문에 Load_Glyph 함수가리턴되는순간공격자가의도한쉘코드가실행된다. < 실행흐름변조시스택프레임 > 해당스택프레임은공격자에의해구성된값이며, 이값은 CFF 스트림을통해입력된다. 스택에등록된값은 PDF 파일내의 CFF 스트림에서확인할수있다. 현재스택에들어있는내용은앞서설명했던 CFF 스트림의 Stack Argument 필드이다. 7

0x328c5c65 --> mmap <CFF 스트림내의 Stack Argument> POP 명령에의해스택에저장된값이 R4 ~ R7 레지스터에순차적으로들어가며, PC 레지스터에 0x30207bab 값이입력된다. PC 레지스터는프로그램이다음실행할주소를저장하기때문에, 프로그램의실행흐름이 0x30207bab 번지로변경된다. 처음실행되는쉘코드는 Stack Argument 영역에존재한다. 하지만해당영역의크기가작아, 탈옥프로그램을실행하는데필요한많은함수주소를포함할수없다. r0 0x9000000 // 할당메모리 // 영역주소 r1 0x109748 r2 0x3 r3 0x1012 <ROP - mmap 호출정보 > 이후 bcopy 함수를사용해두번째실행될 rop 코드를 mmap 함 수를통해할당한메모리에복사한다. 0x328c1e58 --> bcopy r0 0x76a569 // source r1 0x9100000 // dest r2 0x9744 <ROP - bcopy 호출정보 > 함수실행이완료되면생성한 0x9100000 메모리영역에쉘코드가복사된것을확인할수있다. < 복사된메모리영역데이터확인 > < 실행가능한 Stack Argument의 Size> 그래서첫번째쉘코드는시스템함수를호출하여 0x09000000 영역에메모리를할당하고, CFF 스트림아래쪽에존재하는또다른 ROP쉘코드를복사하는역할을수행한다. 두번째쉘코드는 CFF 스트림중오퍼레이터목록뒤쪽에서찾을수있다. 쉘코드는제일먼저 mmap 함수를사용해, 0x09000000 영역에메모리영역을할당한다. 8

< 메모리영역에복사된 CFF 스트림의 ROP 코드 > 두번째실행될쉘코드가메모리에성공적으로올라가면, 탈옥프로그램을실행하기위한본격적인 ROP 쉘코드실행이시작된다. Safari 브라우저는기본적으로 mobile 계정의권한으로동작하기때문에, 탈옥을하기위해루트권한을획득하는작업이선행되어야한다. 0x9100000에서시작되는두번째 ROP 쉘코드는커널취약점을통해루트권한을획득한후, 인스톨에필요한파일을설치한다. r0 0x9100640 // /System/Library/Frameworks/IOKit.framework/IOKit r1 0x0 0 r2 0x0 0 <ROP - 커널공격코드 > 이후문서화되지않은함수등 4개의함수가추가적으로실행된다. 실행함수 : 0x3147b6e1,mach_task_self,0x3147bdd1,0x3147b42d 아래와같은함수를통해 xml과관련된 CFData 레퍼런스를생성 하고처리한다. XML 내의 IOSurface 속성과관련된값에의해인 티저오버플로우가발생하게된다. 0x3356fc24 --> CFDataCreate < 사파리웹브라우저실행권한확인 > 2-1-2. IOSurface Integer Overflow Vulnerability - CVE- 2010-2973 r0 0x0 0 r1 0x9100684 152045188 r2 0x292 658 커널취약점을공격하기위해가장먼저 IOSurface 및 IOKit 라이 브러리를오픈한다. XML 정보 : <?xml version="1.0" encoding="utf- 8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD 0x328c4951 --> dlopen PLIST 1.0//EN" "http://www.apple.com/dtds/propertylist- 1.0.dtd"><plist r0 0x9100600 version="1.0"><dict><key>iosurfaceallocsize</k //System/Library/PrivateFrameworks/IOSurface.fra ey><integer>158536</integer><key>iosurfaceb mework/iosurface uffertilemode</key><false/><key>iosurfacebyte r1 0x0 0 sperelement</key><integer>4</integer><key>io r2 0x0 0 SurfaceBytesPerRow</key><integer>3050433824 </integer><key>iosurfaceheight</key><integer <ROP - 커널공격코드 > >3221270467</integer><key>IOSurfaceIsGlobal< /key><true/><key>iosurfacememoryregion</ke 0x328c4951 --> dlopen y><string>purplegfxmem</string><key>iosurfac epixelformat</key><integer>1095911234</integ 9

er><key>iosurfacewidth</key><integer>398383 3928</integer></dict></plist> <ROP - 커널공격코드 > 0x3357a329 --> CFPropertyListCreateFromXMLData r0 0x0 0 r1 0x873400 8860672 r2 0x0 0 <ROP - 커널공격코드 > 실제커널의권한상승과관련된함수들이순차적으로호출된다. 0x33517f1d --> IOSurfaceCreate 0x33517ef9 --> IOSurfaceLookup 0x33517dc9 --> IOSurfaceLock 0x33517d31 --> IOSurfaceGetBaseAddress 0x33517df1 --> IOSurfaceGetID 0x328c1e64 --> memmove 0x33517db1 --> IOSurfaceUnlock < 커널공격코드 - 목록 > 문서화되지않은함수 0x3147b28d 가호출된후, setuid(0) 함수가호출되어루트로권한상승이일어난다 mknod 함수가연속적으로 2번호출되어 /dev/mem 파일과 /dev/kmem 디바이스에대한접근이이루어진다. 0x32912de0 --> mknod r0 0x9100b7c, 0x9100b88 // /dev/mem, /dev/kmem r1 0x2180 r2 0x3000000, 0x3000001 <ROP - mknod 호출정보 > open 함수를통해 /dev/kmem 파일의핸들을얻는다. 0x328c8dcc --> open r0 0x9100b94 // /dev/kmem r1 0x2 r2 0x0 r3 0x0 <ROP - open 호출정보 > /dev/kmem 파일에코드를패칭한다. 0x328ebd54 --> pwrite 0x3291218c --> setuid r0 0x0 0 r1 0x0 0 r2 0x0 0 <ROP - setuid 호출정보 > 루트권한을획득한이후 PDF 내에저장된파일을추출하여 /tmp 디렉터리에 installui.dylib 파일을생성하기위한작업이수행된다. r0 0x7 r1 0x9100ba4 // µ\001 /tmp/installui.dylib" r2 0x4 4 r3 0xc011f914-1072563948 <ROP - pwrite 호출정보 > close함수와 CFRelease 함수가호출된후, 문서화되지않은 0x3147bea5 함수가호출된다. 이후 /tmp에설치될 dylib 파일의 핸들이생성된다. 10

0x328c8dcc --> open 0x328c4b91 --> dlsym r0 0x9100ba8 // /tmp/installui.dylib r1 0x201 513 r2 0x1a4 420 <ROP - open 호출정보 > 생성한파일의핸들에데이터가입력된다. 입력되는데이터는 PDF 내에위치해있다. 동적라이브러리파일인 /tmp/installui.dylib 파 일의생성이완료된다. 0x328e456c --> write r0 0x7 7 r1 0x9100bc0 152046528 r2 0x54d8 21720 <ROP - write 호출정보 > r0 0x4f05350 82858832 r1 0x9106098 // iui_go r2 0x0 0 <ROP 함수호출 - dlsym 호출정보 > 0x7461d5 --> iui_go r0 0x9109744 152082244 r1 0x91060a0 152068256 r2 0x36a4 13988 <ROP 함수호출 - iui_go 호출정보 > 이후탈옥애플리케이션인 Cydia 등을추가설치하기위한패키지 를다운로드하는등의아래와같은일련의함수들이실행된다. 파일의핸들이정상적으로종료되면, 해당파일을로드하기위한작업이수행된다. dlopen 함수가호출되어, 생성한파일의핸들을구성한다. 0x328c4951 --> dlopen r0 0x9100ba8 // /tmp/installui.dylib r1 0x1 1 r2 0x0 0 <ROP - dlopen 호출정보 > dlsym 함수를호출하여동적라이브러리파일의 iui_go 함수심볼을로드한후, 이를호출하여실행한다. <installui.dylib 파일의리스트 > 11

Dude_keepGoing 함수에의해 jailbreakme.com 사이트에서탈옥 패키지파일이포함된 wad.bin 파일을다운로드한다. <wad.bin 파일다운로드 > 파일이다운로드되면, 해당파일의정상유무를식별하기위해 Dude_connectionDidFinishLoading 함수를호출하여다운로드한파일을검사한다. wad.bin 파일을식별하기위해 0x42424242 (BBBB) 를식별자로사용하였으며, 함수에의해다운로드한파일의식별자가검사된다. < 압축해제후파일호출 > install.dylib 파일이정상적으로호출되면, do_install 함수가호출된다. < 다운로드파일식별 > < 다운로드파일식별자 > 파일에대한검사가완료되면 wad.bin 파일의압축을풀어, /tmp/install.dylib 파일로저장한다. <do_install 함수호출 > 이후 /etc/fstab 파일을열고, 내용을수정한다. <wad.bin 파일압축해제 > 압축이해제된동적라이브러리파일인 install.dylib 파일을호출한다. 해당파일은실질적으로탈옥과관련된설정및애플리케이션을설치하는파일이다. </etc/fstab 파일오픈 > 12

탈옥된아이폰에설치되는애플리케이션인 Cydia 인스톨러패키지를설치한다. </etc/fstab 파일패치 > fstab 파일에대한패치가끝나면커널메모리의디바이스파일인 /dev/kmem에접근하여, 코드및플래그를패치한다. <Cydia 패키지설치 > 설치가완료되면 uicache 명령어를통해 SpringBoard를재시작하여탈옥을완료한다. </dev/kmem 파일패치 > <SpringBoard 재시작 > </dev/kmem 파일패치 > 이후아래와같은특정디렉터리및파일을복사한다. < 특정디렉터리및파일복사 > 13

3. 하우리사전대응팀 하우리사전대응팀은취약점등최신보안위협의분석을통해해킹및악성코드로발전할수있는가능성을 연구하여사전에예방하는활동을수행합니다. 14