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

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

PowerPoint Template

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

Microsoft Word - SKINFOSEC-CHR-026- Mass SQL Injection 탐지 우회분석 보고서.doc

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

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

vRealize Automation용 VMware Remote Console - VMware

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

로거 자료실

Microsoft Word - src.doc

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

Secure Programming Lecture1 : Introduction

슬라이드 1

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

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

5-03-Â÷¼¼´ëÀ¥Iš

FLEX 기반 전자금융서비스 보안기술 분석 보고서('09.12월).hwp

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

[로플랫]표준상품소개서_(1.042)

SIGIL 완벽입문

Microsoft Word - CrossSiteScripting[XSS].docx

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

Cookie Spoofing.hwp

Inside Android Applications

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

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

SBR-100S User Manual

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

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

BEA_WebLogic.hwp

PowerPoint 프레젠테이션

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

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

(Microsoft Word - \301\266\301\326\272\300_XSS.docx)

Windows 8에서 BioStar 1 설치하기

Operating Instructions

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

5th-KOR-SANGFOR NGAF(CC)

Microsoft PowerPoint - web-part02-ch16-이벤트.pptx

ThisJava ..

PowerPoint 프레젠테이션

View Licenses and Services (customer)

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

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

쉽게 풀어쓴 C 프로그래밍

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

EDB 분석보고서 (04.09) ~ Exploit-DB( 에공개된취약점별로분류한정보입니다 SQL Injection Like Dislike Counter..3 Plugin - ajax_coun

웹서버보안취약점대응및조치 교육사이버안전센터

Microsoft Word - php09.doc

Microsoft PowerPoint - e pptx

Web Scraper in 30 Minutes 강철

PowerPoint Template

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

2017 년악성코드은닉사이트탐지동향보고서 ( 상반기 ) 악성코드은닉사이트탐지 동향보고서 17 년상반기 1

PowerPoint 프레젠테이션

WEB Hacking 한국디지털미디어고등학교, T eampur e, JT JSOFT 장태 진

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

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

Ⅰ. 서론 FOCUS HTML5 는웹문서를제작하기위해사용되는프로그래밍언어인 HTML(Hyper Text Markup Language) 의최신규격을말한다. 기존의 HTML 에서는브라우저자체기능만으로동영상재생, 파일업 / 다운로드, 그래픽 (RIA : Rich Intern

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

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

1. 배경 업무 내용이나 개인정보가 담긴 청구서 등을 메일로 전달 시 중요한 정보가 유출되는 경우가 발생하고 있으며, 이에 따른 메일 암호화 솔루션을 도입하고 있으나 기존 ActiveX를 기반으로 한 플러그인 방식은 여러 가지 제약으로 인해 사용성이 저하되고, 고객 대


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

Microsoft Word - Static analysis of Shellcode.doc

해외전자정보서비스이용교육 EBSCO ebooks - 인터페이스상세이용방법및다운로드 ( 대출모드 ) 안내

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

1. VBA 로웹문서접근및웹페이지정보수집하는방법엑셀 VBA 를통해웹페이지또는웹문서에접근하여정보를수정하고데이터를수집하기위해서는아래와같이크게 2 가지방법을사용합니다. 1-A. WinHTTP ( 또는 MSXMLHTTP) 이용 VBA 에서는 WinHTTP 또는 MSXMLHTT

Vehicular Communications

untitled

Microsoft Word - Armjtag_문서1.doc

<BBE7B0EDB3EBC6AE5FC7E3BAEAB0D4C0D32E687770>

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

제 목

PowerPoint 프레젠테이션

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft Word - 문필주.doc

*2008년1월호진짜

슬라이드 1

오토10. 8/9월호 내지8/5

Javascript

PowerPoint 프레젠테이션

SSL인증서 설치 매뉴얼 (Apache)

Observational Determinism for Concurrent Program Security

고객 사례 | Enterprise Threat Protector | Akamai

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

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

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

gcloud storage 사용자가이드 1 / 17

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

AhnLab_template

월간 CONTENTS 3 EXPERT COLUMN 영화 점퍼 와 트로이목마 4 SPECIAL REPORT 패치 관리의 한계와 AhnLab Patch Management 핵심은 패치 관리, 왜? 8 HOT ISSUE 2016년에 챙겨봐야 할 개인정보보호

내지무인화_

슬라이드 1

Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

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

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

<B1E2BCFAB9AEBCAD5FB9DABAB4B1D45F F F64746F72732E687770>

PowerPoint 프레젠테이션

Transcription:

네이버플래시애플리케이션 XSS 취약점분석보고서 작성일 2013/04/24 작성자 카이스트시스템보안연구실 홍현욱 (karmatia@kaist.ac.kr) 최현우 (zemisolsol@kaist.ac.kr) 김용대 (yongdaek@kaist.ac.kr) 요약 플래시애플리케이션은보고서작성일을기준으로전체웹사이트의 19.5% 가사용하고있으며 [5] 이러한플래시애플리케이션을작동시켜주는플래시플레이어는웹브라우저에기본적으로설치되어있거나웹브라우저에서웹사이트를이용하는사용자들에게자동으로설치하도록유도한다. 따라서웹사이트에서서비스되고있는플래시애플리케이션은대부분의사용자들에게작동된다. KAIST 시스템보안연구실에서는플래시애플리케이션의 XSS 취약점에대하여연구를수행하였으며, 그결과네이버에서서비스하고있는플래시애플리케이션중 XSS 공격에취약한플래시애플리케이션을발견하였다. 이러한플래시애플리케이션은외부로부터입력되는입력값을검증없이사용하고있었으며, 공격자는이를이용하여공격스크립트를입력하여 XSS 공격을시도할수있다. 이공격으로공격자는사용자세션탈취, 광고사이트나성인사이트로이동, 악성코드설치등다양한공격을할수있게된다. 본보고서에서는네이버에서서비스하고있는플래시애플리케이션중 XSS 공격에취약한플래시애플리케이션에대한상세분석내용과더불어실제발생가능한공격시나리오를제시하였다. 공격시나리오에서도확인할수있듯이이러한플래시애플리케이션을이용한 XSS 공격은기존의 XSS 공격과달리하이퍼링크 (a태그) 를사용할수있는모든곳에서공격이가능하기때문에그파급력또한클것으로예상된다. 예를들어보인 XSS 공격에취약한플래시애플리케이션은네이버에서서비스되고있는플래시애플리케이션의일부분을대상으로하여찾아낸것이며실제로는 XSS 공격에취약한플래시애플리케이션이더많이존재한다. 이러한플래시애플리케이션을검색하여 XSS 공격에취약하지않도록수정되어야할것이다. 2013 년 04 월 24 일 1

설명 Description 상세정보 네이버에서운영하는서비스중하나인쥬니어네이버 ( 이하쥬니버 ) 에서는쥬니버서비스와 관련하여도움을주기위한 [ 그림 1] 과같은플래시애플리케이션이서비스되고있다.[2] [ 그림 1] 쥬니어네이버에서서비스중인쥬니버도우미플래시애플리케이션 해당플래시애플리케이션을마우스로클릭하게되면 [ 그림 2] 와같이쥬니버도우미웹사이 트로이동하게된다. [ 그림 2] 쥬니버도우미플래시애플리케이션클릭후이동한사이트 2013 년 04 월 24 일 2

이것은 [ 그림 1] 에서서비스되고있는쥬니버도우미플래시애플리케이션내부의 ActionScript(2.0 Ver.) 에의해쥬니버도우미웹사이트로이동하게된것이다. [ 그림 1] 의웹사이트에서서비스되고있는쥬니버도우미플래시의경우해당웹사이트소스코드를살펴보면 [ 그림 3] 과같이서비스되고있음을알수있다. [ 그림 3] 쥬니버도우미플래시애플리케이션이웹사이트에서서비스되고있는형태 [ 그림 3] 의소스코드에서쥬니버도우미플래시애플리케이션의링크주소는 http://flash.jr.naver.com/help/right_gameland.swf 이며이플래시애플리케이션이사용하는파라미터는 linkaddr=http%3a%2f%2fhelp.jr.naver.com%2frenew%2fexselffaqs_simp.asp%3f category_id%3dcate20051123000036 와 target=_blank 임을알수있다. 여기서파라미터 linkaddr의값은실제로쥬니버도우미플래시애플리케이션을실행하였을때이동하였던웹사이트이다. 해당플래시애플리케이션의동작을자세히알기위해플래시애플리케이션파일 ( 이하 swf 파일 ) 을 decompile하여 ActionScript를분석하였다. decompile을위한 decompiler는 Trillix사의 Flash Decompiler 5를사용하였다.[3] decompile 후플래시애플리케이션의동작과관련된 ActionScript 코드는 [ 그림 4] 와같다. [ 그림 4] swf 파일 decompile 결과 [ 그림 4] 에서확인할수있듯이쥬니버도우미플래시애플리케이션은 geturl 함수를이용하고있음을알수있다. geturl 함수는특정 URL의문서를임의의윈도우로로드하거나정의된 URL의다른응용프로그램에변수를전달한다. 또한 swf 파일 ( 플래시애플리케이션 ) 및포함하는웹페이지가로컬에서신뢰할수있는보안샌드박스에있는경우 javascript를실행할수있다.[4] 여기서 URL은앞서살펴보았던파라미터 linkaddr의값인쥬니버도우미웹사이트이며파라미터 target의값인 _blank 는새로운창에서해당 URL을로드하게함을 2013 년 04 월 24 일 3

알수있다. 하지만각파라미터값은 ActionScript 내부의값이아닌외부의입력값이사용되고있으며이는임의의사용자에의해바뀔수있다. [ 그림 5] 는쥬니버도우미플래시애플리케이션의파라미터값을사용자임의로바꾸어입력한다음크롬웹브라우저에서실행한결과이다. [ 그림 5] 플래시애플리케이션에임의의입력값을입력후실행 앞서살펴보았듯이 geturl 함수는자바스크립트를실행할수있고, geturl 함수의파라미터입력값은외부에서입력할수있다. 따라서파라미터 linkaddr의값을 javascript:alert( xss ) 로설정하여 ( http://flash.jr.naver.com/help/right_gameland.swf?linkaddr=javascript:alert('xss') ) 플래시애플리케이션을작동시켜 [ 그림 5] 와같은결과를얻을수있었다. 이러한취약점은플래시애플리케이션에서사용하는입력값을사용자가임의로입력을할수있다는점에서발생한다. 이로인해, 공격자는 XSS 공격을시도할수있고이공격으로공격자는사용자세션탈취, 광고사이트나성인사이트로이동, 악성코드설치등다양한공격을할수있게된다. 2013 년 04 월 24 일 4

공격시나리오해당공격시나리오는 XSS 공격으로가능한여러가지시나리오중일반적이며파급력이큰 사용자쿠키탈취를통한사용자세션획득 을진행한다. 공격은다음과같은과정으로진행된다. 1) 자동화툴을이용한취약한플래시애플리케이션검색 2) 공격자스크립트가입력된플래시애플리케이션 URL을사용자들이많이접근할수있는곳에업로드 3) 사용자들로부터플래시애플리케이션작동유도, 쿠키탈취 4) 탈취한쿠키로사용자세션획득 시나리오테스트환경 사용자 (Victim) 웹브라우저 : Chrome 26.0.1410.64 ( 작성일기준최신버전 ) 시나리오세부내용 1) 자동화툴을이용한취약한플래시애플리케이션검색 FlashOver[1] 에서는 XSS에취약한플래시애플리케이션을찾기위해 altavista와같은검색엔진을이용하여검색엔진에서제공해주는 swf 파일을 decompile하여사용자입력값이 geturl과같은함수에입력될수있는지분석한다. 이와비슷한방법으로실제서비스중인사이트 (http://www.naver.com) 를크롤링하여 swf 파일을찾아이파일의 action tag를파싱하여사용자입력값이 geturl과같은자바스크립트가실행될수있는함수에입력될수있는지분석한다. 이러한방법으로 [ 그림 1] 에서서비스되고있는쥬니버도우미플래시애플리케이션을찾아낼수있었다. 해당플래시애플리케이션의위치는다음과같다. - http://flash.jr.naver.com/help/right_gameland.swf - http://flash.jr.naver.com/help/right_farm.swf 2) 공격자스크립트가입력된플래시애플리케이션의 URL을사용자들이많이접근할수있는곳에업로드사용자의세션을획득하기위해서는로그인된사용자의쿠키가필요하므로로그인한사용자들만접근할수있는카페나블로그에플래시애플리케이션 URL을업로드하는것이공격에효과적일수있다. [ 그림 6] 은공격자가블로그에공격자의스크립트가입력된플래시애플리케이션을입력하는모습이다. 카페나블로그에서는 XSS 공격을막기위해자체적으로필터링루틴을거치게되어있지만하이퍼링크를사용하기위한 a태그는허용하게되어있다. 이를통해공격자는공격스크립트가입력된플래시애플리케이션의 URL을업로드할수있다. 사용자가클릭하기전보이는링크의내용은공격자가임의로정할수있기때문에공격자입장에서사용자를속이기는더욱쉽다. [ 그림 7] 은블로그에플래시애플리케이션의 URL이등록된모습이다. 2013 년 04 월 24 일 5

[ 그림 6] 공격스크립트가입력된플래시애플리케이션 URL 업로드 [ 그림 7] 플래시애플리케이션 URL 을사용자에게노출 이렇게사용자들에게 URL 을노출하여사용자들로하여금공격스크립트가입력된플래시애 플리케이션을작동시키도록유도한다. 3) 사용자들로부터플래시애플리케이션작동유도, 쿠키탈취 앞서공격자가노출시켜놓은 URL 을사용자가클릭하게되면 [ 그림 8] 과같이플래시애플 리케이션이웹브라우저에로딩된다. [ 그림 8] 웹브라우저에로딩된플래시애플리케이션 2013 년 04 월 24 일 6

해당플래시애플리케이션은네이버도메인 (flash.jr.naver.com) 에서서비스되기때문에사용자입장에서는의심을하지않으며공격자입장에서는네이버에사용되는사용자의쿠키를탈취할수있다. 이플래시애플리케이션을클릭하여작동시키면사용자의쿠키는공격자의서버에전송되게된다. [ 그림 9] 는공격자의서버에전송된사용자의쿠키를보여준다. [ 그림 9] 공격자의서버에전송된사용자의쿠키내용 4) 탈취한쿠키로사용자세션획득탈취한쿠키를 paros 등의웹프록시툴을이용하여네이버에접속을시도한다. [ 그림 10] 은탈취한쿠키를이용하여사용자의세션을획득한화면이다. [ 그림 10] 탈취한쿠키를이용하여사용자의세션획득 2013 년 04 월 24 일 7

획득한사용자의세션으로메일을제외한대부분의서비스 ( 카페, 블로그, N 드라이브등 ) 를 이용할수있음을확인하였다. 해결방안 1) 사용자의외부입력값확인해당취약점은자바스크립트가실행될수있는함수 (geturl 등 ) 에사용자의외부입력값이검증없이쓰일수있다는점에서발생하였다. 이는플래시애플리케이션개발단계에서이러한 XSS 공격에대한고려가되지않아발생하는문제이다. 따라서플래시애플리케이션을개발할시에는되도록이면외부입력값을받아서처리하지않도록개발을진행하고, 필요에따라외부입력값을받아처리해야한다면반드시외부입력값검증루틴을거쳐서입력값을사용하도록한다. 2) 외부입력값감싸기해당공격은공격자가입력할수있는외부입력값부분이웹소스에노출되어있어공격자입장에서취약한플래시애플리케이션을찾기쉽다. 따라서외부입력값부분이노출되어있는플래시애플리케이션의경우아래와같이로딩해주는부분을따로만들어주면외부입력값부분이웹소스에서노출되지않게된다. 하지만이러한방법도플래시애플리케이션을디컴파일하여소스를분석하게되면취약점이노출될수있으며해당소스코드를난독화하더라도공격자에의해난독화가해제될수있으므로완벽한해결방법은아니다. Security.allowDomain("*"); var request:urlrequest = new URLRequest("http://flash.jr.naver.com/help/right_gameland.swf?linkAd dr=http%3a%2f%2fhelp.jr.naver.com%2frenew%2fexselffaqs_simp.asp%3fcategory_id%3dcate20 051123000036&target=_blank"); var loader:loader = new Loader(); loader.load(request); addchild(loader); 3) httponly cookie 사용 cookie의속성을 httponly로설정하면스크립트 (javascript:document.cookie) 에의해쿠키가노출되는것을막을수있으며다른포탈사이트이 DAUM은이를적용하고있다. 하지만이것은자바스크립트에의한 1차적인쿠키노출을막을수있을뿐이지 MS silverlight, Adobe Flash, Java applet 등을이용한방법으로우회가가능하다. 또한 XSS 공격은쿠키탈취뿐만아니라성인 / 광고사이트로이동, 악성코드설치등여러공격이가능하고이러한공격들은이방법으로막을수없다. 본보고서에서예를들어보인 XSS 공격에취약한플래시애플리케이션은네이버에서서비스되고있는플래시애플리케이션의일부분을대상으로하여찾아낸것이며실제로는 XSS 공격에취약한플래시애플리케이션이더많이존재한다. 또한외부에위치한플래시애플리케이션을네이버에서서비스하는경우도많은데이경우네이버쿠키탈취가가능하지는않지만여전히 XSS 공격에취약한경우도많다. 이러한플래시애플리케이션들은수정되어야할것이다. 2013 년 04 월 24 일 8

참고문헌 [1] Van Acker, Steven and Nikiforakis, Nick and Desmet, Lieven and Joosen, Wouter and Piessens, Frank. FlashOver: Automated discovery of cross-site scripting vulnerabilities in rich internet applications. In Proceedings of the 7th ACM Symposium on Information, Computer and Communications Security, 2012 [2] http://farm.jr.naver.com, http://game.jr.naver.com/game/?mode=cloth [3] Flash Decompiler 5 Trillix, http://www.flash-decompiler.com/ [4] http://help.adobe.com/ko_kr/as2lcr/flash_10.0/help.html?content=00000569.html [5] http://w3techs.com/technologies/details/cp-flash/all/all 2013 년 04 월 24 일 9