[2012 codeengn conference 07] m-stoned - ithreat

88
iThreat iThreat 2012.12.01 안랩 시큐리티대응센터(ASEC) 분석팀 차민석 책임연구원( M-Stoned) www.CodeEngn.com 7 th CodeEngn ReverseEngineering Conference

Upload: gangseok-lee

Post on 22-Apr-2015

2.173 views

Category:

Technology


0 download

DESCRIPTION

2012 CodeEngn Conference 07 그동안 Mac 사용자들은 악성코드로부터 안전하다는 믿음이 있었고 Apple사 역시 마케팅에 활용했었다. 이런 믿음은 2012년 4월, 전 세계 65만대의 Mac 컴퓨터가 Flashback에 감염되고 Mac 사용자에 대한 표적공격 악성코드가 발견되면서 Mac 또한 악성코드의 위협으로부터 완전히 자유로울 수 없음이 확인됐다. 지금까지 발견된 주요 Mac 악성코드에 대해 알아보고 Mac 악성코드 분석 방법과 분석시 유의 사항에 대해 발표한다. http://codeengn.com/conference/07

TRANSCRIPT

Page 1: [2012 CodeEngn Conference 07] M-Stoned - iThreat

iThreatiThreat

2012.12.01

안랩 시큐리티대응센터( ASEC) 분석팀차민석 책임연구원( M-Stoned)

www.CodeEngn.com7th CodeEngn ReverseEngineering Conference

Page 2: [2012 CodeEngn Conference 07] M-Stoned - iThreat

ContentsContents1 . Mac, OS X 그리고보안

2 . Mac 보안위협타임라인

3 . OS X 악성코드기법

4 . 분석환경및도구

5 . OS X Internals

6 . 분석시유의사항

7 . Mac 악성코드예측

Page 3: [2012 CodeEngn Conference 07] M-Stoned - iThreat

1. Mac, OS X 그리고보안1. Mac, OS X 그리고보안

Page 4: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Macintosh

• Macintosh

-애플사가디자인, 개발, 판매하는개인용컴퓨터제품이름으로보통Mac으로부름

-1984년1월24일처음출시

- Commandline Interface 대신GUI(Graphic User Interface)와마우스채용

4

Page 5: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Macintosh

OS X

• NeXT사의NeXTSTEP을바탕으로제작

-2001년3월24일 : Mac OS X 10.0 Cheetah

-2006년1월10일 : 첫인텔지원Mac OS X 10.4.4 Tiger

- 2009년8월28일 : 인텔만지원하는Mac OS X 10.6 Snow Leopard

-2912년2월16일 : OS X 10.8 Mountain Lion

5

Page 6: [2012 CodeEngn Conference 07] M-Stoned - iThreat

현황

증가하는Mac점유율

• Mac점유율

- 세계6 -8%

- 미국10 –15% 추정

6

Page 7: [2012 CodeEngn Conference 07] M-Stoned - iThreat

현황

Mac악성코드감염현황

• 2012년4월26일Sophos발표

- Sophos Mac백신제품사용자시스템10만대검사결과36대중1대악성코드감염

7

* 출처 : http://nakedsecurity.sophos.com/2012/04/24/mac-malware-study

Page 8: [2012 CodeEngn Conference 07] M-Stoned - iThreat

보안

Mac 악성코드는존재하지 않음

8

Mac악성코드에대한사용자생각

Mac 백신은시기상조

악성코드위협은 과장

Page 9: [2012 CodeEngn Conference 07] M-Stoned - iThreat

보안

9

Mac악성코드에대한사용자생각

* 출처 : http://betanews.com/2012/04/06/three-quarters-of-mac-owners-dont-use-anti-malware-software/

Page 10: [2012 CodeEngn Conference 07] M-Stoned - iThreat

보안

10

Mac사용자들의맹목적(?) 믿음 ?!

Page 11: [2012 CodeEngn Conference 07] M-Stoned - iThreat

애플

애플보안정책변화

• 2012년6월14일애플사마케팅문구변경

11

• 악성코드 존재 부정• 악성코드 문제 외면 혹은 소극적 대응• 늦은 보안 업데이트와 과거 OS 업데이트 미 적용

과거 애플 보안 정책과거 애플 보안 정책

Page 12: [2012 CodeEngn Conference 07] M-Stoned - iThreat

프로그램업데이트

OS X과프로그램취약점

저장매체

App Store다운로드

전자메일

인스턴트메시징프로그램

인터넷서핑

주요감염경로

윈도우와유사한감염경로

Page 13: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2. Mac보안위협타임라인2. Mac보안위협타임라인

Page 14: [2012 CodeEngn Conference 07] M-Stoned - iThreat

1981년 Elk Cloner

최초로확산된애플2 컴퓨터바이러스

• 1981년15세Richard Skrenta제작

• 1982 년실제확산된최초의애플컴퓨터바이러스

•디스크입출력 (LOAD, BLOAD, CATALOG) 명령시플로피디스크감염

• 감염된디스크로부팅할때증상존재-15 회 : INVERSE 모드, 20 회 : 비프, 25 회 : FLASH 모드, 50회 : 메시지출력 , 77 회 : 리부트

-매번 50 회부팅시메시지출력으로잘못알려짐 (80회부팅시초기화됨)

14

Page 15: [2012 CodeEngn Conference 07] M-Stoned - iThreat

1981년 Elk Cloner

최초로확산된애플2 컴퓨터바이러스

• DOS 3.3 명령 (LOAD, BLOAD, CATALOG) 변경해바이러스로점프

- CATALOG 명령이시작되는0xA56E에바이러스 코드로점프하는 JMP $90B6 명령으로수정

- $90B6에서먼저감염여부를확인후원래CATALOG 명령수행하고바이러스감염시킴

15

Page 16: [2012 CodeEngn Conference 07] M-Stoned - iThreat

1998년AutoStart

Power Mac에서전파되는홍콩발AutoStart 9805

• 1998년4월홍콩과대만에서발견

- QuickTime2.0(QuickTime 2.0 이상) 과CD-ROM AutoPlay 기능필요

-국내에도유입되어엘렉스에서백신제공 (1998년5월19일경향신문22면)* 국내에서제작된최초의맥백신프로그램으로추정

• QuickTime2.0 이상의AutoPlay 기능이용

- HFS (Hierarchical File System)나HFS+ 매체 (하드디스크, 디스켓, 집디스크등) 감염

•데이터손상

- data, cod, csa로끝나는이름을가진파일에쓰레기덮어씌움

-변형중에는 JPEG, TIFF, EPSF 파일손상 시킴

16

Page 17: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2004년10월23일Opener (Renepo)

Unix shell 스크립트웜

•첫맥OS X 악성코드로알려짐-2004년3월3일DimBulb가Macintosh Underground forum에가입

-3월13일부터스크립트웜에대해포스팅하며 그룹사람들과함께제작

-9월10일에포스팅된버전이10월23일2시43분부터외부에알려짐

-10월24일부터항의게시물폭증해제작포기

•증상- 시스템보안설정낮춤

- OS X 방화병, 소프트웨어업데이트기능해제

-ohphoneX (목소리및비디오공유), dsniff (암호스니퍼), John the Ripper (암호크랙) 다운로드후설치

•애플대응-애플사악성코드부정하며공식대응안함

"Apple has just released the following statement and will not comment beyond this: 'Opener is not a virus, Trojan horse, or

worm. It does not propagate itself across a network, through email, or over the web. Opener can only be installed by someone who

already has access to your system and provides proper administrator authentication. Apple advises users to only install software

from vendors and websites that they know and trust.‘”

- 2005년4월애플사OS X 10.4 Tiger 보안업데이트발표 (취약점은2003년봄부터존재)

17

Page 18: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2004년10월23일Opener (Renepo)

Unix shell 스크립트웜

•자세한이야기-http://rixstep.com/1/20060311,00.shtml

18

Page 19: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2006년2월13일Leap

실질적첫OS X 악성코드

•전파

- iChat친구리스트로악성코드가포함된 latestpics.tgz를전송

* 버그로모두성공하지는못함

•코드내문자열

•Mac OS X 사용자에실제발생한첫사건

19

* Source : http://www.symantec.com/security_response/writeup.jsp?docid=2006-021614-4006-99&tabid=2

Page 20: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2007년10월RSPlug(Dnschanger)

금전적이득목적의악성코드등장

• RSPlug(Dnschanger)

- DNS 주소변경해피싱사이트로유도해금전적이득

•스크립트형

20

Page 21: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2008년1월17일첫가짜백신프로그램

맥용가짜백신프로그램Mac Sweeper 등장

• KiVVi Software에서제작한가짜백신프로그램

- 항상무언가진단하고구매요구

* 제작회사는유용한프로그램이지만강제마케팅등으로불편을끼쳐미안하다고사과

21

Page 22: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2008년12월3일애플사백신프로그램권장후삭제

애플사악성코드경고후언론관심으로웹사이트삭제

•애플사백신프로그램사용권장

•애플사백신프로그램사용권장페이지삭제

22

Page 23: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2011년5월가짜백신프로그램대거등장

본격적인가짜백신프로그램등장

•가짜백신프로그램대거등장

- Mac Defender, Mac Protector, Mac Security, Mac Guard, Mac Shield 등의이름사용

* 애플사5월30일보안업데이트를통해제거추가

•실제문제발생

- AppleCare로6 만건의문의발생

•애플대응

- 대응하지말라는지침알려짐

* 국내에는애플사에서악성코드를부정하라는내용으로잘못알려짐

(http://www.parkoz.com/zboard/view.php?id=express_freeboard2&page=1&sn1=&divpage=12&sn=off&ss=on&sc=off&select_arrange=headnum&desc=asc&no=30424

&cstart_page=0)23

* 출처 : http://i.zdnet.com/blogs/apple-support-instructions.png?tag=content;siu-container

Page 24: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2011년7월Olyx

표적공격?

24

• PortalCurrentevents-2009 July 5.rar 내악성코드포함

- 시위사진 (주로중국)

* source : http://blogs.technet.com/b/mmpc/archive/2011/07/25/backdoor-olyx-is-it-malware-on-a-mission-for-mac.aspx

•사진을클릭할때악성코드실행하도록유도

- Current events 2009 July 5 : OS X 악성코드

- Video-Current events 2009 July 5.exe : Windows 악성코드

Page 25: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2012년3월티벳NGO 표적공격

티벳NGO에대한표적공격확인

• 티벳독립활동가에대한표적공격확인

- 취약점이용한공격확인

25

Page 26: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2012년4월Flashback

Zero-day Java취약점이용한 Flashback 변형맥 60 만대이상감염

26

• 2월발견된Java취약점이용-2월CVE-2011-3544 & CVE-2008-5353 취약점이용

-3월16일CVE-2012-0507 취약점이용 (애플사늦은업데이트로19일동안zero-day공격발생)

• 4월3일애플사업데이트실시- APPLE-SA-2012-04-03-1 Java for OS X 2012-001 and Java for Mac OS X 10.6 Update 7

•최대75 만대이상시스템감염 (http://news.drweb.com/show/?i=2341&lng=en&c=5)

- 미국352,341 대, 캐나다123,033 대, 영국84,013 대, 오스트레일리아48,298 대

- 대한민국 : 130 대

Page 27: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2012년4월13일Sabpab

티벳NGO에대한표적공격

•오피스와Java취약점이용-2012년2월 : 워드문서 (MS09-027, CVE-2009-0563) 이용한공격 (1.5 개월동안발견안됨)

-2012년4월 : Java취약점이용한공격* 2012년2월샘플은4월자바취약점이용한공격후발견 .

•백도어기능

• Luckycat와연관성

- 동일 IP 접속으로추정

27

Page 28: [2012 CodeEngn Conference 07] M-Stoned - iThreat

2012년6월27일위구르독립운동가에대한표적공격

중국위구르독립운동가에대한표적공격

•메일에사진과악성코드첨부-파워PC와인텔맥에서실행가능한백도어

• 2012년3월티벳표적공격에사용된악성코드와유사

-동일세력이티벳과위구르독립운동가감시목적으로제작추정

28

Page 29: [2012 CodeEngn Conference 07] M-Stoned - iThreat

3. OS X 악성코드기법3. OS X 악성코드기법

Page 30: [2012 CodeEngn Conference 07] M-Stoned - iThreat

감염

정상package위장

30

• Flashback 감염

- 정상프로그램처럼위장해사용자가암호입력하도록유도

Page 31: [2012 CodeEngn Conference 07] M-Stoned - iThreat

감염

데이터파일을가장한실행파일

31

•그림파일로가장한APP

- 실제는실행파일

Page 32: [2012 CodeEngn Conference 07] M-Stoned - iThreat

감염

취약점

•취약점이용한공격

- 다양한취약점존재하지만실제악성코드나해킹에이용되는취약점은제한적

-주로MS Office, Java 등취약점이용

32

• CVE-2008-5353 : Java

• CVE-2009-0563 (MS09-027) : Microsoft Office Word의 취약점으로 인한 원격코드 실행 문제점 (969514)

• CVE-2011-3544 : Java

• CVE-2012-0507 : Java (0 day)

• CVE-2012-4681 : Java (0 day)

주요 취약점주요 취약점

Page 33: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격(targeted attack)

• 2011년 7월 : PortalCurrent events-2009 July 5.rar 에서 Windows와 Mac 악성코드 발견

• 2011년 9월 : Diaoyu (Senkaku) 관련 PDF로 위장한 악성코드 발견

• 2012년 3월 9일 : MS 오피스 취약점 (MS09-027) 이용한 티벳 단체 표적 공격발견

• 2012년 3월 19일 : 실제 티벳 단체 공격 정보를 담은 메일에 자바 취약점(CVE-2011-3544) 공격 포함

• 2012년 4월 13일 : 자바 취약점(CVE-2012-0507)을 이용한 티벳 단체에 대한 표적공격

• 2012년 6월 27일 : 위구르 독립 운동가에 대한 표적 공격 (3월 티벳 단체 표적공격과 악성코드 유사)

• 2012년 3월, 9월, 11월 : 티벳 활동가 등을 대상으로 사진을 가장한 악성코드 발견

Mac에 대한 주요 표적공격 사례Mac에 대한 주요 표적공격 사례

33

Mac에대한주요표적공격

Page 34: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(1) Imuler campaign

• 2011년9월PDF 위장Mac 악성코드발견

- VirusTotal에올려진파일에서발견

* http://www.f-secure.com/weblog/archives/00002241.html

34

Page 35: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(1) Imuler campaign

• 제작중인악성코드?!

- 악성코드진행과정출력

35

Page 36: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(1) Imuler campaign

• Dropper

- PDF 파일을위장한실행파일로최종적으로백도어다운로드

36

Mach-O Dropper

Downloader

정상 PDF Backdoor

Drop Download

Page 37: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(1) Imuler campaign

37

• 정상PDF

- Diaoyu (Senkaku) 관련PDF

-중국인대상표적공격?

Page 38: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(1) Imuler campaign

• Downloader

- curl 명령을이용한다운로드

-Backdoor 다운로드

38

Page 39: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(1) Imuler campaign

• Backdoor

- 악성코드내위구르관련사이트주소포함

- Imuler로명명

39

Page 40: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study)

(1) Imuler campaign

• 2012년3월– 11월사진을가장한APP

- 사용자착각을노린고전적방식

40

Page 41: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study)

(1) Imuler campaign

• 2012년3월– 11월사진을가장한APP

- 사용자착각을노린고전적방식

41

Page 42: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(1) Imuler campaign

• 2012년3월– 11월사진을가장한APP

- 사용자착각을노린고전적방식

42

Page 43: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(1) Imuler campaign

• Dropper 구조

- 사진파일을가장한백도어설치

-password를물어보지않음

43

FileAgent

.conft

Backdoor

복사

Decrypt

.confr

JPG

APP 삭제

Page 44: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(2) 2012년3월티벳NGO 표적공격

44

• 1. 워드취약점 (MS09-027) 이용한OS X 악성코드발견-http://labs.alienvault.com/labs/index.php/2012/ms-office-exploit-that-targets-macos-x-seen-in-the-wild-delivers-mac-control-rat/

• 메일양식

Page 45: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(2) 2012년3월티벳NGO 표적공격

45

•제작자는Mac Control로부름

•접속주소

- freetibet2012.xicp.net

Page 46: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(2) 2012년3월티벳NGO 표적공격

46

• 2. 자바취약점이용한티벳NGO 공격- 실제티벳NGO 공격정보를역이용

-일부백신회사에서OSX/Olyx.B라고부르지만Olyx와연관성없음

* Source : https://malwarelab.zendesk.com/entries/21142806-alienvault-s-report-on-targeted-attacks-on-tibetan-ngos-is-being-used-to-deliver-malware-to-tibetan-

Page 47: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격 case study

(2) 2012년3월티벳NGO 표적공격

47

•자바취약점(CVE-2011-3544)이용-default.jar에Windows 악성코드, index.jar에OS X 악성코드포함

•접속주소-Windows악성코드* tibet.zyns.com (100.42.217.73, 미국)* yahoo.xxuz.com (100.42.217.91, 미국)* lyle.changeip.org (100.42.217.73, 미국)

-Mac 악성코드* dns.assyra.com (100.42.217.73, 미국)

default.jar

index.jar

Page 48: [2012 CodeEngn Conference 07] M-Stoned - iThreat

표적공격(targeted attack)

표적공격 변화

•표적공격흐름

- 단순공격에서행동감시우회방안연구

- 현재Mac은대부분1,2 단계

48

• 1단계 – 공격 대상에 악성코드가 포함된 메일 발송

• 2단계 - 변조된 문서를 이용한 악성코드 감염

• 3단계 – 주요 프로그램의 업데이트 서버를 통한 감염 (국내)

• 4단계 – 주요 기능을 메모리에서만 실행해 흔적 최소화 (행동감시 회피 목적 추정)

• 5단계 – 정상 프로그램 모듈을 통해 악의적 기능 수행 (행동감시 회피 목적 추정)

변화변화

Page 49: [2012 CodeEngn Conference 07] M-Stoned - iThreat

4. 분석환경및도구4. 분석환경및도구

Page 50: [2012 CodeEngn Conference 07] M-Stoned - iThreat

File Viewer

MachOView

50

• OS X 파일Viewer

-Mac 파일지원

-홈페이지 : http://sourceforge.net/projects/machoview

Page 51: [2012 CodeEngn Conference 07] M-Stoned - iThreat

File monitor

Dtrace

51

• exesnoop

• opensnoop

• dtruss

•참고 : http://dtrace.org/blogs/brendan/2011/10/10/top-10-dtrace-scripts-for-mac-os-x/

Page 52: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Autoruns

OSX Autoruns

52

• OSX Autoruns

- Python으로제작된자동실행프로그램확인

-관리자모드에서실행필요

- http://www.malicious-streams.com/Downloads/Downloads.html

Page 53: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Debugger

gdb

53

•설치

- Xcode혹은Command Line Tools for Xcode설치

* Command Line Tools for Xcode는OS X Lion과OS X Mountain Lion 만지원

Page 54: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Debugger

IDA

54

• IDA를이용한원격디버깅

- 디버깅대상시스템설정

Page 55: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Debugger

IDA

55

• IDA를이용한원격디버깅

-디버깅대상시스템설정

Page 56: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Debugger

IDA

56

• IDA를이용한원격디버깅

-

Page 57: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Debugger

IDA

57

• IDA를이용한원격디버깅

-

Page 58: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Debugger

IDA

58

• IDA를이용한원격디버깅

-

Page 59: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Memory analyzer

volafox

59

• OS X Memory Analyzer

- 홈페이지 : http://code.google.com/p/volafox

Page 60: [2012 CodeEngn Conference 07] M-Stoned - iThreat

복원

Time Machine과VMware Fusion

60

• OS X 복원

-Mac에포함된Time Machine

-VMware Fusion을이용한OS X 설치

Page 61: [2012 CodeEngn Conference 07] M-Stoned - iThreat

유틸리티

7-zip

61

• dmg,fat,pax,xar등Mac관련파일지원

Page 62: [2012 CodeEngn Conference 07] M-Stoned - iThreat

5. OS X Internals5. OS X Internals

Page 63: [2012 CodeEngn Conference 07] M-Stoned - iThreat

OS X

OS X architecture

• OS X 계층

- Mach, BSD, xnu, Darwin 등으로구성

* 출처 : http://en.wikipedia.org/wiki/Architecture_of_OS_X

63

Page 64: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Bundles

bundle

• bundle

- 하나의파일로보이지만내부적으로많은서브디렉토리와파일을가지고있는특정한목적에사용되는디렉

토리

-pkg, app 등

64

Page 65: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Bundles

xar

65

• xar로pkg압축파일

- 0x78617221 (xar!)

Page 66: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Bundles

Application

66

•App 구조

Page 67: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Property list

Property list

67

• OS X, iOS등에서이용하는사용자설정저장파일

• Safari의 Info.plist예

Page 68: [2012 CodeEngn Conference 07] M-Stoned - iThreat

자동실행

자동실행방식

•Applications that run on Startup

- /Library/StartupItems

* 과거Startup Items로불림

• Plist items running on Startup

- /Library/LaunchDaemons

- /System/Library/LaunchDaemons

•Applicatonsthat launch on User Login-~/Library/LaunchAgents

- /Library/LaunchAgents

- /System/Library/LaunchAgents

• plist- /Library/Preferences/loginwindow.plist

-~/Library/Preferences/loginitems.plist

-~/Library/Preferences/loginwindow.plist

68

Page 69: [2012 CodeEngn Conference 07] M-Stoned - iThreat

실행파일종류

헤더

69

• Fat Binary

- 0xCAFEBABE

• 파워PC

- 0xFEEDFACE

• 인텔

-32비트 : 0xCEFAEDFE

-64 비트 : 0xCFFAEDFE

Page 70: [2012 CodeEngn Conference 07] M-Stoned - iThreat

실행파일종류

Fat binary (멀티아키텍쳐바이너리)

70

• 2가지이상실행파일포함

-여러아키텍쳐를지원하는유니버셜바이너리

- iPhone에서도이용

Page 71: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Fat

File format

71

• header (0x00 –0x03)

- 0xCAFEBABE로시작

•첨부바이러리수 (0x04 – 0x07)

- 2개바이너리파일포함

• fat_arch

• cputype(0x08 –0x0B)

Page 72: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Fat 예제

File format

72

• offset과size (0x10, 0x14)- 0x10 ~ 0x13 : offset (0x00100000)

-0x14 ~ 0x17 : size (0xD04E0000 )

•실제binary내용존재- 0x1000 : 첫번째binary내용 (0xCFFAEDFE로시작하는64비트Mach-O 파일)

Page 73: [2012 CodeEngn Conference 07] M-Stoned - iThreat

실행파일종류

Mach-O

73

• OS X 실행파일

•구조

Page 74: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Mach-O 파일구조

Header

74

• 32 비트헤더

-magic : 0xCEFAEDFE

• 64 비트헤더

-magic : 0xCFFAEDFE

-헤더마지막예약부분제외하고32비트헤더와차이점없음

Page 75: [2012 CodeEngn Conference 07] M-Stoned - iThreat

Mach-O 파일구조

Segment command

75

• 32비트segment command 구조

• 64비트segment command 구조

Page 76: [2012 CodeEngn Conference 07] M-Stoned - iThreat

6. 분석시유의사항6. 분석시유의사항

Page 77: [2012 CodeEngn Conference 07] M-Stoned - iThreat

컴파일러종류파악

RealBasic

77

• RealBasic의경우string과행위위주로확인

- IDA Pro 등으로는분석하기어려움

Page 78: [2012 CodeEngn Conference 07] M-Stoned - iThreat

간접번지

간접번지

78

•일반Disassembler

- 일반Disassembler

- [EBX]와주소를통해계산필요

Page 79: [2012 CodeEngn Conference 07] M-Stoned - iThreat

간접번지

주소계산

79

•주소참조

-POP EBX 값 (1C6A) + 15A = 1DC4

-0x1000은 _PAGEZERO로발생하는빈영역

Page 80: [2012 CodeEngn Conference 07] M-Stoned - iThreat

시스템호출

$UNIX2003

80

• _system$UNIX2003

- 시스템명령어

Page 81: [2012 CodeEngn Conference 07] M-Stoned - iThreat

7. Mac 악성코드예측7. Mac 악성코드예측

Page 82: [2012 CodeEngn Conference 07] M-Stoned - iThreat

예측

- MS Office

-Open Office

-Java

-Python 등

Cross-platformCross-platform

• OP 코드 동일

• Linuix/Mac/Windows 동시 감염 악성코드 등장 가능

인텔 프로세스인텔 프로세스

82

인텔프로세스, Cross-platform, 취약점, 표적공격

-OS X

-웹브라우저

-3rdparty (오피스, Java) 등

-보안 취약점- 사회 공학 등이용

취약점취약점

표적공격표적공격

Page 83: [2012 CodeEngn Conference 07] M-Stoned - iThreat

예측

Cross-platform 제품취약점이용한감염

• Java, Adobe Reader, Adobe Flash, MS Office 취약점이용

- 길게는2년전취약점을이용해Windows/Mac/Linux 감염

* 출처http://blogs.technet.com/b/mmpc/archive/2012/07/31/economies-of-scale-a-perspective-on-cross-platform-vulnerabilities.aspx

83

Page 84: [2012 CodeEngn Conference 07] M-Stoned - iThreat

예측

Porting

• Linux소스코드이용해OS X 악성코드제작

- 2002년에발견된Tsunami 소스코드이용

* 참고 : http://blog.eset.com/2011/10/25/linux-tsunami-hits-os-x84

Page 85: [2012 CodeEngn Conference 07] M-Stoned - iThreat

예측

Mac 악성코드는존재하지 않음

85

사용자변화 시작

Mac 백신은시기상조

Mac 악성코드위협은 과장

Mac 백신 필요 ?!

(꿈틀꿈틀)

Page 87: [2012 CodeEngn Conference 07] M-Stoned - iThreat

참고자료

87

• https://blog.avast.com/2011/05/20/mac-malware-%E2%80%93-a-short-history/

•안철수, 바이러스뉴스1호, 1990

• http://www.inetdaemon.com/technology/flashback-isnt-the-first-os-x-virus/

•www.securelist.com/en/analysis/204791925/Kaspersky_Security_Bulletin_2006_Malware_for_Unix_type

_systems

• http://macviruscom.wordpress.com

• David Harley (Eset), personal communication

Page 88: [2012 CodeEngn Conference 07] M-Stoned - iThreat

감사합니다.감사합니다.

ASEC Threat Research & Response bloghttp://asec.ahnlab.comASEC Threat Research & Response bloghttp://asec.ahnlab.com

www.CodeEngn.com7th CodeEngn ReverseEngineering Conference