[2014 codeengn conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

41
CodeEngn Conference 2014 http://www.hakawati.co.kr/ File Edit View History Bookmark Window Help Search 한국정보보호교육센터 FNGS 부설연구소 What the f**k JS Obfuscation Choi Woo-Seok www.CodeEngn.com 2014 CodeEngn Conference 11

Upload: gangseok-lee

Post on 12-Jul-2015

973 views

Category:

Education


5 download

TRANSCRIPT

Page 1: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

What the f**k JS Obfuscation Choi Woo-Seok

www.CodeEngn.com2014 CodeEngn Conference 11

Page 2: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Intro• 이름����������� ������������������  : 최우석 • 소속����������� ������������������  : ㈜����������� ������������������  한국정보보호교육센터

F-NGS 부설연구소����������� ������������������  선임연구원 • 취미����������� ������������������  : 문화생활 • 특기����������� ������������������  : 편법, 우회 • 연구활동����������� ������������������  : DBD, OpenSource • Blog : www.hakawati.co.kr • Facebook : FB/hakawati2 • Email : [email protected] • Community : 보안프로젝트

Page 3: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Page 4: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Page 5: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

94, NETSCAPE 0.x

1990 2012

Low

High

96, IE 3, VBScript, JavaScript, CSS, Java

98, IE 5 Ruby, XML/XSL97, IE 4, HTML, CSS

01, IE 6 Vulnerability Patches

11, IE 9, CSS3, HTML5

95, IE 1, MS 인수, IE 2

95, Opera 1.0

02, Firebird 0.1

04, Firefox 1.0

03, Safari 1

07, Netscape 종료

08, Chrome 0.2

92, Mosaic

06, IE 7 PNG, Phishing filter

09, IE 8 CSS2.1

96, IE 3, VBScript, JavaScript, CSS, Java

Page 6: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Code Engn

All code in the word

Breaking the Code

The engine = Your brain

All����������� ������������������  code����������� ������������������  in����������� ������������������  the����������� ������������������  word

Breaking����������� ������������������  the����������� ������������������  Code

The����������� ������������������  engine����������� ������������������  =����������� ������������������  Your����������� ������������������  brain

Color, Font, Bold, Position …

Document

Text, Image…

HTML

CSS

Page 7: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Javascript

Page 8: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Networking

Rendering Engine

Display(UI) Backend

ActiveX Control

Java Applet

JavaScript Engine

Layout Engine

XML Parser

Image

CSS Parser

HTML Parser

Browser Engine Data Persistence

User Interface

Page 9: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Networking

Rendering Engine

Display(UI) Backend

ActiveX Control

Java Applet

JavaScript Engine

Layout Engine

XML Parser

Image

CSS Parser

HTML Parser eval, unescape, …

Browser Engine Data Persistence

User Interface

document.write, document.writeln

….

Page 10: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Page 11: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

난독화가����������� ������������������  뭐냐?

Page 12: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Page 13: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Page 14: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Page 15: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

왜����������� ������������������  사용하나?

Page 16: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

소스코드 보호 보안 장비 우회

Page 17: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

단순����������� ������������������  웹����������� ������������������  사이트����������� ������������������  방문만으로����������� ������������������  악성코드에����������� ������������������  노출����������� ������������������  

드라이브-바이����������� ������������������  다운로드����������� ������������������  공격

일반적으로����������� ������������������  웹����������� ������������������  페이지에서����������� ������������������  악의적인����������� ������������������  목적에����������� ������������������  의해����������� ������������������  사용자에게����������� ������������������  메시지를����������� ������������������  표시하지����������� ������������������  않고����������� ������������������  스크립트(Script)����������� ������������������  등의����������� ������������������  계기로����������� ������������������  악의적인����������� ������������������  소프트웨어(Malware)를����������� ������������������  다운로드하고����������� ������������������  실행하는����������� ������������������  것

Page 18: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

뉴스파일공유

블로그 검색

Hopping Pages

경유지(Landing Pages)

중계지(Hopping Pages)

Exploit Pages

Malware Repository

유포지(Distribution Pages)

난독화 대상 영역

Page 19: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Hopping Pages

Exploit Pages

Malware Repository

뉴스파일공유

블로그 검색

경유지(Landing Pages)

… Landing Pages

Page 20: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Page 21: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

사실 이분이 ‘박보안 양’

사이트����������� ������������������  관리자인����������� ������������������  박보안����������� ������������������  양은����������� ������������������  KISA로부터����������� ������������������  웹사이트에서����������� ������������������  악성코드가����������� ������������������  배포되고����������� ������������������  있다는����������� ������������������  연락을����������� ������������������  받았습니다.����������� ������������������  사이트에����������� ������������������  접속한����������� ������������������  결과,����������� ������������������  이상����������� ������������������  징후가����������� ������������������  발견되어����������� ������������������  급하게����������� ������������������  패킷을����������� ������������������  캡쳐하였습니다.����������� ������������������  박보안����������� ������������������  양이����������� ������������������  수집한����������� ������������������  패킷을����������� ������������������  분석하여����������� ������������������  악성코드의����������� ������������������  감염����������� ������������������  과정을����������� ������������������  파악해보세요.����������� ������������������  

productsearch.php

Page 22: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

난독화����������� ������������������  종류

Page 23: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

뉴스파일공유

블로그 검색

Hopping Pages

경유지(Landing Pages)

중계지(Hopping Pages)

Exploit Pages

Malware Repository

유포지(Distribution Pages)

Page 24: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

16진수����������� ������������������  난독화

Page 25: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Dean����������� ������������������  Edward’s����������� ������������������  /Packer/����������� ������������������  Algorithm

Page 26: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Yosuke����������� ������������������  HASEGAWA’s����������� ������������������  jjencode

Page 27: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Dehydrating����������� ������������������  a����������� ������������������  string����������� ������������������  Technique

Page 28: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

뉴스파일공유

블로그 검색

Hopping Pages

경유지(Landing Pages)

중계지(Hopping Pages)

Exploit Pages

Malware Repository

유포지(Distribution Pages)

Page 29: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Gondad����������� ������������������  EK

Page 30: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

CK����������� ������������������  VIP����������� ������������������  &����������� ������������������  JS����������� ������������������  NB����������� ������������������  VIP����������� ������������������  &����������� ������������������  Caihong

Page 31: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

Sweet����������� ������������������  Orange����������� ������������������  EK

Page 32: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

RIG����������� ������������������  EK

Page 33: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

난독화����������� ������������������  해제����������� ������������������  방법

Page 34: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

alert();

eval(); unescape(); result

document.write(); document.writeln();

소스코드����������� ������������������  수정����������� ������������������  -1

Execute

InsertReplace

document.write(); +����������� ������������������  <xmp>

Webkit����������� ������������������  in����������� ������������������  Browsers

Page 35: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

소스코드����������� ������������������  수정����������� ������������������  -2

Page 36: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

도구를����������� ������������������  이용한����������� ������������������  난독화����������� ������������������  해제����������� ������������������  -1

Parser

Replace

Execute

Deobfuscation

JavaScript Engine

Page 37: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

도구를����������� ������������������  이용한����������� ������������������  난독화����������� ������������������  해제����������� ������������������  -2

Malzilla Jsunpack-n JSDetox

Deobfuscator SpiderMonkey revelo

Page 38: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

도구를����������� ������������������  이용한����������� ������������������  난독화����������� ������������������  해제����������� ������������������  -3

Page 39: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

프로그래밍����������� ������������������  -1

Page 40: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

프로그래밍����������� ������������������  -2

Page 41: [2014 CodeEngn Conference 11] 최우석 - 자바스크립트 난독화 너네 뭐니?

CodeEngn Conference 2014

http://www.hakawati.co.kr/

File Edit View History Bookmark Window Help

Search

㈜ 한국정보보호교육센터 FNGS 부설연구소

www.CodeEngn.com2014 CodeEngn Conference 11