Upload
jason-choi
View
1.189
Download
5
Embed Size (px)
Citation preview
자바스크립트 난독화 JavaScript Obfuscation
㈜한국정보보호교육센터 F-NGS Lab
선임연구원 최우석
00. Who am I?
00. Who am I?
악성코드
취약점
웹 해킹
자바스크립트
Agenda 01. Prior Knowledge
02. Drive-By Download
03. JavaScript Obfuscation
04. Deobfuscation Method
05. Proposal
06. To Do
Chapter 1 Prior Knowledge • Evolution of Internet
• Evolution of Industry in Korea
• Evolution of Browser
• Evolution of Fuzzing
• Evolution of Malware
• Evolution of Underground
01. Prior Knowledge
01. Prior Knowledge Evolution of Internet
69, ARPANET 개발
ARPANET
1960 2000
Low
High
고도화
72, ARPANET 공개
82, TCP/IP 프로토콜 시작
72, 40 호스트
http://terms.naver.com/entry.nhn?docId=1691375&cid=42171&categoryId=42184
83, DNS 시작
MILNET
86, NSFNET 시작
87, 최초 인터넷 회사 설립
인터넷 산업 시작
91, NSF 민간 이용 금지 철회
89, 10만 호스트 96, 브라우저 경쟁
93, 최초 브라우저 개발
98, 3680만 호스트 4200 웹
94, 3200만 호스트 3000 웹
90, 최초 검색 엔진 (아키) 84, 1000 호스트
74, 텔넷
69, 4 호스트
01. Prior Knowledge Evolution of Internet Industry in Korea
82, 최초의 네트워크 연결
1980 2010
Low
High
고도화
85, 최초 전자 우편
91, 국내 최초 인터넷 게시판 개설
93, 최초 브라우저
http://isis.nic.or.kr/mobile/ebook2/2012/download/internet_30th.pdf
86 최초 상용 PC 통신
94, 최초 인터넷 상용 서비스
96, 최초 인터넷 쇼핑몰, 최초 온라인 게임
99, 최초 인터넷 뱅킹
01, 싸이월드
02, 블로그
06, 와이브로
02, 무선랜
99, 인터넷 포털 서비스
95, 한글인터넷 검색엔진
89, 미국과 IP기반 인터넷 연결
86, .kr 도메인 확보
83, 해외 인터넷과 연동
ADSL 시작
인터넷 산업 시작
08, IPTV
11, 카톡
사용자수 1,000만
01. Prior Knowledge Evolution of Browser
94, NETSCAPE 0.x
1990 2012
Low
High
고도화
96, IE 3, VBScript, JScript, CSS, Java
98, IE 5 Ruby, XML/XSL
http://www.testking.com/techking/infographics/browser-evolution-the-history-of-web-browsers-infographic/ http://www.evolutionoftheweb.com/?hl=kr
97, IE 4, HTML, CSS
01, IE 6 Vulnerability Patches
06, IE 7 PNG, Phishing filter
09, IE 8 CSS2.1
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
01. Prior Knowledge Evolution of Fuzzing
1980 2010
Low
High
고도화
90, PROTOS for Network in Codenomicon
04, lcamtuf’s MangleMe for Browser the first file format vuln aka. MS04-028
fuzzing, brute force vulnerability discovery
02, Dave Aitel’s SPIKE Fuzzer for Network
05, SPIKEfile, FileFuzz for File Format H.D. Moore’s Hamachi for HTML H.D. Moore’s CSSDIE for CSS
06, Found Browser vuln by H.D. Moore David Zimmer’s COMRaider for ActiveX in iDefense H.D. Moore’s AxMan for ActiveX
89, Fuzz Testing for Unix
퍼저의 전성기 시작 83, The Monkey for Mac
Next..
01. Prior Knowledge Evolution of Malware
1970 2014
Low
High
고도화
81, 최초 PC 바이러스 Elk Cloner in Apple 2
86, Brain virus in MS-DOS
http://www.slideshare.net/btakeya/ss-17061173
83, 바이러스 용어 최초 사용
87, 바이러스 분석 시작
03, SQL Slammer/Blaster Worm
07, Botnet
71, 최초 바이러스 Creeper in TENEX OS
71, 최초 백신 Reaper
94, 인터넷을 통한 유포
04, BoF Worm
96, 윈도우/리눅스 악성코드
06, Mac Malware
10, Android Malware
88, Jerusalem Virus, Morris Worm
89, 최초 Ransomware
90, Polymorphic Virus
92, 미켈란젤로 바이러스
95, 매크로/스크립트 형 바이러스
98, Back Orifice, CIH Virus
01, Nimda Worm
05, XSS Worm
08, Koobface
10, Stuxnet
APT의 시작
악성코드 유포의 신속화
01. Prior Knowledge Evolution of Online Underground Economy
1990 2014
Low
High
고도화
http://igcc.ucsd.edu/assets/001/503677.pdf
98 ~ 03 Server Side Wave
서버 중심의 산업
공격 대상은 서버 기업 내부 기밀 문서
가 주 대상
02 ~ 06 Client Side Wave
인터넷의 대중화
일반 사용자의 서비스를 악용
06 ~ 3rd Party Application, APT Attack
타사의 응용 프로그램을 공격
소프트웨어 취약점을 악용
수 많은 사용자들에게 악성코드 유
포하기 편리해짐
지능형 지속 공격 시작
지하 경제 발달
01. Prior Knowledge
01. Prior Knowledge Increase of Vulnerability
https://c2.staticflickr.com/6/5178/5577040874_e69ca7c144_z.jpg
01. Prior Knowledge Increase of PC Malware
http://blogs.avg.com/wp-content/uploads/2014/05/Image-1.png
Chapter 2 Drive-By Download • Information Infrastructure
• Drive-By Download
• Watering Hole Attack
• Distribution Method
02. Drive-By Download Information Infrastructure
02. Drive-By Download Information Infrastructure
2006 2007 2008 2009 2010 2011 2012 2013 2014
Windigo Luckycat
Sysmain Havex
Red October
Flame
Duqu
Mask
Stuxnet
Dockster
GragonFly
Gauss
https://apt.securelist.com/
02. Drive-By Download Dragonfly (aka. Energetic Bear)
발견 : Symantec 연구소
발견일 : 2014년 6월
발견 국가 : 러시아
투자비용 : -
제작 : 2011
대상 : 에너지 기업 외 다수 국가
미국, 스페인, 프랑스, 이탈리아, 독일, 터키, 폴란드
영향 : 산업 제어 시스템(ICS)
피해 : 3,000대 이상
제작자 : 러시아 해커 집단
공격 경로 : Spear Phishing, Watering Hole Attack, Modification Attack
02. Drive-By Download Dragonfly (aka. Energetic Bear)
1982. 6. 30 Siberia Gas Pipeline Explosion
APT 공격
공격 도구는 시간이 지남에 따라 안정적으로 유지
악성코드 및 공격 벡터를 지속적으로 운영 및 관리
최소한& 체계적인 접근
공격 대상
항공 산업, 방위 산업, 에너지 산업,
에너지 그리드 운영자, 주요 전기 기업
석유 파이프, ISC 제조업체
02. Drive-By Download Dragonfly (aka. Energetic Bear)
1차 : Modification Attack
PLC 디바이스에서 사용하는 VPN 제품 소프트웨어에서 유포
유포와 동시에 탐지하여 대응함
악의적인 DLL을 포함
Havex는 서로 다른 32가지의 버전이 존재함
02. Drive-By Download Dragonfly (aka. Energetic Bear)
2차 : Spear Phishing
PDF, SWF 를 포함하는 악의적인 XDP 파일을 이용함
XDP (XML Data Package)
취약점에 의해 실행되는 Havex 악성코드는 저장된 XDP 파일을 암호화 진행
XDP 파일 안에 있는 PDF, SWF 취약점 파일을 수집하지 못하도록 함
02. Drive-By Download Dragonfly (aka. Energetic Bear)
3차 : Watering Hole Attack
대상이 접속하는 웹 사이트 대상으로 진행
Java, IE 취약점을 이용 (JAR, HTML) CVE-2013-2465, 2013-1347, 2012-1723
LightsOut Exploit Kit을 사용 20개의 사이트를 공격하여 구조도 구성
동,서 유럽 산업 사용자, 제작자, 관리자, 법률 자문, 투자자 를 대상으로 함
모두 Havex 악성코드를 유포
02. Drive-By Download
단순 웹 사이트 방문만으로 악성코드에 노출
드라이브-바이 다운로드 공격
일반적으로 웹 페이지에서 악의적인 목적에 의해 사용자에게 메시지를 표시하지 않고 스크립트(Script) 등의 계기로 악의적인 소프트웨어(Malware)를 다운로드하고 실행하는 것
02. Drive-By Download
뉴스 파일공유
블로그
검색
Hopping Pages …
경유지(Landing Pages)
중계지(Hopping Pages)
…
Exploit Pages
Malware Repository
유포지(Distribution Pages)
02. Drive-By Download
Hopping Pages
Exploit Pages
Malware Repository
뉴스 파일공유
블로그
검색
경유지(Landing Pages)
… Landing Pages
02. Drive-By Download
02. Drive-By Download
요청
응답
웹 해킹 DB 등 기타 정보 탈취
취약점 실행
웹 서버 자원 악용
02. Drive-By Download Preview (1/2)
http://198.1.165.4/2036.exe
02. Drive-By Download Preview (2/2)
02. Drive-By Download
02. Drive-By Download Distribution Method
02. Drive-By Download Distribution Method
Watering Hole Attack
이 기법은 시만텍(Symantec)에서 2009년 부터 연구를 진행
Trend Point
중요 인사들이 회원으로 가입되어 있는 미국 외교 협회 홈페이지를 대상으로 공격
MS 제로데이 취약점 (CVE-2012-4792)를 이용
최근 특정 대상 공격 또는 APT 공격에 이 공격 기법을 많이 사용
02. Drive-By Download Distribution Method
Traffic Distribution System
트렌드 마이크로의 연구원이 연구한 내용으로 네트워크 트래픽의 정보를 토대로 사용자의 정보에 맞는 서비스로
트래픽을 분산시키는 목적에서 시작
한국에서 접근하는 트래픽은 드라이브-바이 다운로드 페이지로, 외국에서 접근하는 트래픽은 모두 404 에러
페이지로
현재는 서버 측 언어(PHP, JSP 등)을 이용한 리다이렉터 구현을 통칭함
02. Drive-By Download Distribution Method
Affiliate Web-Based Malware
소포스 연구원이 연구한 내용으로 제휴 광고의 다단계 구조(MLM)을 통한 악성 소프트웨어의 유포
시나리오
대형 마켓, 파워블로그 등과 연계되어 있는 제휴 광고 스크립트에 악성 스크립트가 삽입되어 드라이브-바이 다
운로드 공격이 발생
Ads Poisoning, Poisoned adverts, Malvertising
02. Drive-By Download Distribution Method
Internal Drive-By Download
비인가자가 접근할 수 없는 웹 서버 내부에서 드라이브-바이 다운로드 공격이 발생, 인가자만이 공격 대상이 되기
때문에 드라이브-바이 다운로드 수집 및 분석이 어려움
실제 분석 환경에서 특정 기업의 사내망(내부망) 혹은 로그인 후 정보를 이용 할 수 있는 웹 서비스가 레퍼러 정보
로 사용됨, 하지만 상세한 분석은 불가능 했음
02. Drive-By Download Distribution Method
File-less Drive-by Download (또는 Drive-by Attack)
악성코드를 다운로드 받지 않고 메모리에 상주 시키는 공격하는 기법
방어자 입장에서 악성코드 수집, 침해사고 대응, 증거 수사가 어려움
공격자 입장에서 피해자 시스템이 재부팅 시 피해자와 세션 종료
02. Drive-By Download Distribution Method
Using Malicious DDNS
Fiesta Exploit Pack에서 무료 DDNS 서비스를 이용한 악성코드 유포
무료 DDNS는 no-ip 회사에서 제공
02. Drive-By Download Distribution Method
Domain Shadowing
시스코 보안 연구원이 Angler Exploit Kit 캠페인을 분석하는 과정에서 발견
하위 도메인을 무작위로 생성하여 드라이브-바이 다운로드 공격에 사용
Fast Flux DNS vs Domain Shadowing
Chapter 3 JavaScript Obfuscation • Hexadecimal Obf.
• Dean Edward’s /Packser/
• jjencode
• Dehydrating a Technique
• Gondad EK
• CK VIP
03. JavaScript Obfuscation
Hexadecimal Obfuscation
03. JavaScript Obfuscation Dean Edward’s /Packer/
03. JavaScript Obfuscation jjencode
03. JavaScript Obfuscation Dehydrating a string Technique
03. JavaScript Obfuscation Gondad EK
03. JavaScript Obfuscation CK VIP
Chapter 4 Deobfuscation Method • Modify Source Code
• Network Solutions
04. Deobfuscation Method
Deobfuscation Method
alert();
eval(); unescape();
result document.write();
document.writeln();
Execute
Insert
Replace
document.write(); + <xmp>
Webkit in Browsers
04. Deobfuscation Method
Deobfuscation Method 1 - Modify Source Code
04. Deobfuscation Method
Deobfuscation Method 2 - Tools
Deobfuscation
Execute
Replace
Parser
JavaScript Engine
04. Deobfuscation Method
Deobfuscation Method 2 - Tools
Malzilla Jsunpack-n JSDetox
Deobfuscator SpiderMonkey revelo
04. Deobfuscation Method
Deobfuscation Method 2 - Tools
04. Deobfuscation Method
Deobfuscation Method 3 - Programming
04. Deobfuscation Method
Deobfuscation Method 3 - Programming
Chapter 5 Proposal • Information Solutions
• Network Solutions
05. Proposal Information Solutions
05. Proposal Network Solutions
Chapter 6 To Do • Reputation
06. To Do Reputation
Thank you