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

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

OWASP

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

Microsoft Word - src.doc

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

Windows 8에서 BioStar 1 설치하기

PowerPoint Template

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

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


Ⅰ. 서론 1989년 CERN의 팀 버너스 리에 의해 만들어진 월드 와이드 웹 기술은 HTML(HyperText Markup Language), URL(Unified Resource Locator, HTTP(Hyper- Text Transfer Protocol)이라는

untitled

Windows Live Hotmail Custom Domains Korea

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

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

암호내지

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

Windows Server 2012

TTA Journal No.157_서체변경.indd

SBR-100S User Manual

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

SSL Strip Attack JAC (SemiDntmd) 이우승 semidntmd.tistory.com

<BBE7B0EDB3EBC6AE5FC7E3BAEAB0D4C0D32E687770>

PowerPoint Template

< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

(Microsoft PowerPoint \277\243\305\315\307\301\266\363\300\314\301\356 \260\374\301\241\300\307 HTML5)

PowerPoint 프레젠테이션

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

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

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

Secure Programming Lecture1 : Introduction

제목 레이아웃

The Pocket Guide to TCP/IP Sockets: C Version

*2008년1월호진짜

PowerPoint 프레젠테이션

[Brochure] KOR_TunA

2006_8_14 (8_17 updated) ms ¿ú(wgareg.exe) ºÐ¼® º¸°í¼�.hwp

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

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

Microsoft Word - CrossSiteScripting[XSS].docx

BEA_WebLogic.hwp

서현수

미쓰리 파워포인트

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

untitled

5th-KOR-SANGFOR NGAF(CC)

Microsoft PowerPoint 웹 연동 기술.pptx

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

PowerPoint 프레젠테이션

PowerPoint Presentation

untitled

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

#HNS-WI 금융권및포털사이트이용자대상악성코드및공격기법분석 (v0.1 공개버전 )

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

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

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

SIGIL 완벽입문

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

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

vRealize Automation용 VMware Remote Console - VMware

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

0. 들어가기 전

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

Web Scraper in 30 Minutes 강철

기술문서 작성 XXE Attacks 작성자 : 인천대학교 OneScore 김영성 I. 소개 2 II. 본문 2 가. XML external entities 2 나. XXE Attack 3 다. 점검방법 3 라.

슬라이드 1

Cloud Friendly System Architecture

Microsoft Word - Armjtag_문서1.doc

C스토어 사용자 매뉴얼

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

<요 약> 1. 법ㆍ제도 동향 - 개인정보보호 관련법 내달 전면 개편 - 1년 넘게 걸리는 CC인증, 속타는 보안업계 2. 보안위협 동향 - 앱 취약점을 이용한 악성코드 2달만에 1위 등극 - 카드회사 고객정보 1억 건 이상 유출 3. 업계 동향 - 정보보호 산업 매출

PowerPoint 프레젠테이션

소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기

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

행자부 G4C

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

AhnLab_template

WAS 의동작과 WEB, Servlet, JSP 엑셈컨설팅본부 /APM 박종현 웹어플리케이션서버란? 웹어플리케이션서버방식은웹서버가직접어플리케이션프로그램을처리하는것이아니라웹어플리케이션서버에게처리를넘겨주고어플리케이션서버가어플리케이션프로그램을처리한다. 여러명의사용자가동일한페

< C0CEC5CDB3DDB1A4B0EDBBEABEF7C0C7C7A5C1F62D322E6A7067>

AutoCAD® WS

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

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

TGDPX white paper

쉽게 풀어쓴 C 프로그래밍

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

PowerPoint 프레젠테이션

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

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

로거 자료실

2009방송통신산업동향.hwp

PowerPoint 프레젠테이션

JDBC 소개및설치 Database Laboratory

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

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

Windows Server NTP 설정가이드 Author 이종하 (lovemind.tistory.com) 1

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

Transcription:

FOCUS 1 HTML5 신규웹서비스환경에서의보안이슈 강석철 HTML5 는차세대웹문서표준으로서, 텍스트와하이퍼링크만을표시하던 HTML(Hyper Text Markup Language) 이멀티미디어등다양한어플리케이션까지표현 제공하도록진화한 웹프로그래밍언어 이다. ActiveX 등비표준기술의남용및이의방치로인해서초래된웹의갈라파고스화와접근성취약문제를해결하고, 글로벌 OS 플랫폼업체에종속될우려가있는 ICT 중소벤처기업에게돌파구를제시하기위해 HTML5 가등장하였다. HTML5 는 2014 년 8월경최종표준이확정될것으로전망되나, 현재웹브라우저기업을비롯한글로벌업체들은오디오 비디오 그래픽등표준화가많이진행된기능을중심으로 ( 특히모바일영역에서 ) HTML5 를적극도입하여사용중이다. 하지만 HTML5 에서는지금까지는존재하지않았던다양한웹보안취약점들이나타날수있다. 대부분의웹사이트들은신규웹보안위협에대부분취약할것으로예상되며, 이에대한정부차원의대응이필요할것으로보인다. 본고에서는 HTML5 에서발생가능한보안위협을시나리오기반으로설명하고이에대한대응방법을제안하고자한다. Ⅰ. 서론 Ⅱ. HTML5 신규기능별보안위협 Ⅲ. 역량강화를위한지원사업추진현황 1. HTML5 의역사 2. HTML5 신규기능및보안위협 Ⅳ. HTML5 기반공격시나리오및대응방안 1. 신규태그 / 속성을이용한 Tabnabbing 공격 2. CORS 를이용한사용자개인정보탈취 3. Web Storage 정보탈취 4. Web Socket 을이용한내부네트워크정보수집 5. Geolocation 을이용한사용자위치추적 6. File API 를이용한사용자시스템파일탈취 Ⅴ. 결론 한국인터넷진흥원기업정보보호팀주임연구원 (sckang@kisa.or.kr) 6 Internet & Security Focus 2013 12 월호

Ⅰ. 서론 FOCUS HTML5 는웹문서를제작하기위해사용되는프로그래밍언어인 HTML(Hyper Text Markup Language) 의최신규격을말한다. 기존의 HTML 에서는브라우저자체기능만으로동영상재생, 파일업 / 다운로드, 그래픽 (RIA : Rich Internet Application) 등을구현하는데많은제약사항이따랐으며, 이를해결하기위해다양한비표준플러그인 (Flash, SilverLight, ActiveX 등 ) 을사용해야만했다. 결국이러한형태로만들어진웹어플리케이션들은플러그인에대한의존도가커지게되었고, 플랫폼에맞게별도로개발해야하기때문에많은개발비용및시간이소요되었다. HTML5 는이러한문제점에대한개선의필요성에의해서제안되었다. HTML5 의기본적인원칙은 플랫폼, 장치등에의존하지않는웹어플리케이션구현 이며, 이를위해서는브라우저자체적으로다양한기능을구현할수있어야한다. 그래서기존 HTML 버전과비교해보았을때, 명세의많은부분이추가 확장되었으며, 브라우저제조사들역시이러한기능들을구현할수있는브라우저를개발하기시작하였다. audio/video 를포함한각종태그및속성, CORS, Web Storage, Web Socket, Geolocation, File API 등이 HTML5 신규기능의대표적인예이며, Chrome, Safari, FireFox, Opera, IE 등주요웹브라우저들도이러한기능구현을위해지속적인업데이트를수행중이다. 그러나새롭게추가된기술들을통해새로운보안위협이발생할수있으며, 이는지금의웹개발자, 사용자, 웹사이트, 단말, 웹어플리케이션등웹과관련된모든요소들이신규보안위협에취약할수있음을의미한다. 본고에서는 HTML5 신규웹서비스환경에서발생가능한보안취약점을시나리오기반으로설명하고, 이러한위협을예방할수있는대책에대하여살펴본다. Ⅱ. HTML5 신규기능별보안위협 1. HTML5 의역사 W3C 에의해제안된 XHTML 은웹어플리케이션을제작하는실무자들이필요로하는부분을충분히반영하지못했으며방향성에대한우려가점점커지게되었다. 이러한이유로브라우저제조사인 Apple, Mozilla, Opera 는 Hypertext Application Technology Working Group) 을 Internet & Security Focus 2013 12 월호 7

설립하였으며, HTML 표준과관련된현실적인문제들을해결하기위해 Web Application 1.0 을제안하게되었다. 결국 W3C 는 2009 년에이르러 XHTML2 에대한연구를중단하고 Web Application 1.0 을 HTML5 라는이름으로바꾸어 WHATWG 와공동으로표준화작업을진행하게되었다. HTML5 의총괄개발자인 Lan Hickson 이 WHATWG 소속이기때문에, 사실상관련표준에대한동향은 WHATWG 에속한브라우저제조사들의정책에크게의존하고있는상황이다. HTML5 에대한표준화작업은 WHATWG 의주도하에현재 (2013 년 12월 ) 까지도진행중이다. 그래서지금까지국내외컨퍼런스등을통해발표된 HTML5 신규보안위협들에대한해석및접근방법이지금보다더다양화되거나, 의미가없어질수도있다. 본고에서는표준화작업이거의완료된신규기능들과표준에추가될가능성이있는기능들에대한보안취약점분석결과를소개한다. 2. HTML5 신규기능및보안위협 < 표 1> HTML5 신규기능요약 주요기능 신규요소 CORS(Cross Origin Resource Sharing) Web Storage Web Socket Geolocation 설명 audio, video, source, canvas, embed 와같은신규태그와각태그에대한세부기능을설정할수있는속성들이추가되었다. CORS 는브라우저가 XHR 을이용하여 Cross-Origin 요청을가능하게한다. 해당기술은서로다른도메인 ( 사이트 ) 간자원을공유할수있게해주며, 특정조건들이만족될경우동일출처정책 (SOP : Same Origin Policy) 에의한제한을완화하는데사용될수있다. Web Storage 는브라우저에서구현되는약 5MB 크기의저장공간이며각도메인에따라별도로제공된다. 웹어플리케이션은정보유지및관리를위해해당공간에다양한정보들을저장할수있다. Web Socket 은웹서버와 User Agent 간지속적인연결을기반으로하는전이중통신을가능하게해준다. 채팅, 주식차트와같은실시간통신이필요한어플리케이션에활용할수있다. Geolocation 은사용자 ( 단말기 ) 의위치정보를브라우저단에서측정할수있는기능이다. 해당기술은모바일장치에서유용하게사용된다. 1) HTML5 신규요소자바스크립트를이용하여자원에접근하거나제어할수있는기술들만이 HTML5 의전부는아니다. 태그및속성부분에서도많은기술들이제안되었다. HTML5 이전버전기술로제작된웹어플리케이션들은클라이언트측기능을구현할때대부분자바스크립트나기타플러그인에의존했었다. 하지만 HTML5 의신규태그및속성들이이러한부분을자체적으로처리하는것이가능해지면서, 웹어플리케이션개발이용이해졌으며, 사용자입장에서도부가적인플러그인 8 Internet & Security Focus 2013 12 월호

설치가필요없어졌다. 예를들어, 이전에는브라우저에서비디오나오디오를재생하기위해서는, 이러한영상을처리해주는플러그인을설치해야했지만, HTML5 에서는 <video>, <audio> 태그들이이러한부분을스스로처리할수있다. FOCUS (1) HTML5 신규요소관련보안위협 HTML5 의신규태그및속성들은보안의관점에서보면공격자들이악용할수있는공격범위를더넓게만들었다. 예를들어 onfocus, autofocus 등의속성들은기존 XSS(Cross-Site Scripting) 필터에포함되지않으면서자바스크립트를실행하는데사용될수도있다. [ 그림 1] 은신규태그및속성을이용한 XSS 공격예이다. [ 그림 1] HTML5 신규태그및속성을이용한자바스크립트실행코드 ( 예 ) 2) CORS(Cross Origin Resource Sharing) 최근에는웹서비스업체들이제공하는각종콘텐츠와서비스를가져와새로운서비스를재창출하는매시업 (Mash-Up) 형태의서비스가활발하게개발되고있다. 이는기존에만들어진자원 ( 또는서비스 ) 을재사용하면개발비용및시간이절약되기때문이다. 하지만동일출처정책 (SOP : Same Origin Policy) 에의한제한은이러한유형의매시업서비스개발을어렵게만들었다. 동일출처정책 (SOP) 이란, 웹브라우저들이보안을위해자바스크립트로다른도메인의웹페이지에접근하는것을못하도록막아놓은제약조건이다. 즉호스트나응용계층의프로토콜, 포트번호가일치하지않는곳으로부터의요청발생을제한하는정책이다. 예를들어 www.foo.com 의자원을사용하기위해서는아래 www.foo.com 과동일한호스트, 프로토콜, 포트로부터 ( 그림 2) 요청이발생한경우만가능하다. 기존에는 SOP 를우회하기위해 Server-Side Proxy, JSONP 등의다양한편법들이사용되기도 Internet & Security Focus 2013 12 월호 9

했지만웹서비스구현이복잡해지고성능에영향을준다는단점을가지고있었다. [ 그림 2] 동일출처정책 (SOP) 설명 CORS는웹페이지상에서자바스크립트를이용하여 XHR(XMLHttpRequest) 을다른도메인으로발생시킬수있도록해주는기능을가지고있다. 해당기술은 XHR 기반 Cross- Origin 요청을이용하여자원을공유해야하는브라우저와서버사이의대화방법을정의한다. CORS는 2004 년 3월미국의통신회사인 Tellme Networks사의엔지니어들이처음제안했으며, 차후 W3C 와주요브라우저제조사들이참여하여표준화작업을진행하고있다. 2013 년 1월 29일 W3C 가후보표준안을확정한상태이다. [ 그림 3] CORS 동작방식 10 Internet & Security Focus 2013 12 월호

(1) CORS 관련보안위협 CORS 의근본적인보안문제는 XHR 을다른도메인으로발생시킬때, 사용자에게허가요청을받지않는다는것이다. 이러한문제는사용자의세션을오용한접근제어와관련된보안문제를야기할수있다. 공격자가사용자의세션을오용할수있게된다는것은접근제어를우회하여허가되지않은리소스에접근할수있다는의미이다. FOCUS < 표 2> CORS 관련보안위협 관련보안위협 접근제어우회 CORS 와 Web Socket 을이용한원격쉘 CORS 와 Web Socket 을이용한웹기반 CORS 와 Web Worker 를이용한 DDoS 공격 설명사용자가속해있는내부네트워크에존재하는웹사이트가 Access-Control-Allow- Origin 응답헤더를잘못정의했을경우공격자는외부에서직접접근할수없는내부네트워크의웹사이트에접근할수있다. XHR 과 Web Socket 기술을이용하면사용자의브라우저세션을탈취하고행동을제어할수있다. 대표적인예로세션하이재킹공격이있다. CORS 와 Web Socket 기술을이용하면사용자의브라우저들을제어하여다양한정보를수집하거나명령을내릴수있다. CORS 와 Web Worker 를이용하면보다효과적으로 DDoS 공격을수행할수있다. 3) Web Storage HTML5 이전버전에서는웹어플리케이션관련콘텐츠를클라이언트측에저장할때주로쿠키를사용하였다. 하지만쿠키의경우몇가지문제점을가지고있다. 첫번째는도메인 ( 사이트 ) 별로 20개까지만쿠키를생성할수있으며각쿠키는 4KB 크기를넘을수없다는것이다. 두번째는 HTTP 요청이발생할때마다쿠키값이포함되어서버로전송된다는것이다. 이는불필요한오버헤드및웹세션탈취관련문제점을야기한다. Web Storage 는이러한문제점들을보완하기위해서고안된기술이다. Web Storage는웹사이트와관련된콘텐츠를사용자의컴퓨터에저장하고이후에자바스크립트를이용하여접근하거나통제할수있다. 컴퓨터에저장할수있는데이터의용량은브라우저의종류에따라다르나일반적으로도메인당 5MB 정도의크기를사용할수있다. Internet & Security Focus 2013 12 월호 11

관련보안위협 < 표 3> Web Storage 설명 Session Storage 기본적으로 Local Storage 와유사하나브라우저혹은탭을종료할경우데이터가삭제된다. Local Storage 설명 해당영역에는모든텍스트값을저장할수있다. 각아이템들은 Key Name - Value 쌍으로구분되며, 존재하는기존아이템은 Key Name 을통해접근할수있다. 사용자혹은웹어플리케이션에의해서생성 / 삭제될수있으며, 브라우저를종료해도데이터들은삭제되지않는다. [ 그림 4] Session Storage Vs Local Storage (1) Web Storage 관련보안위협 Web Storage 와관련된가장큰보안이슈는해당영역에저장되어있는데이터에대한불법적인접근과이를사용자측에서인지할수없다는것이다. Web Storage 에대한모든접근및제어는자바스크립트를통해이루어지며, 특정도메인이 XSS 등스크립트기반취약점을가지고있을경우공격자는사용자의브라우저에있는모든 Web Storage 데이터들을사용자모르게조작하거나가져올수있다. 해당취약점은 HTML5 Web Storage 의자체적인취약점으로는볼수없지만, Cookie 에비하여저장공간이크며, 다양한정보가저장되기때문에공격자가탈취할수있는정보역시많다고볼수있기에, 개발자는해당기술을구현할때중요정보를암호화하여저장하거나취급하지않아야할것이다. 12 Internet & Security Focus 2013 12 월호

4) Web Socket 현재웹에서주로사용되는 HTTP 는브라우저가서버에게요청을해야만서버에서응답을해주는구조로설계되어있다. 이러한구조는채팅이나주식시장차트처럼실시간정보전달을요구하는어플리케이션을개발하는데제한적이다. 네트워크세션형성 / 종료에많은오버헤드를가져오기때문이다. 결국한번의네트워크세션형성을통해전이중통신이가능한기술에대한개발자들의요구사항이커지게되었고, 이러한필요에의해 HTML5의 Web Socket이제안되었다. Web Socket 은 12 년 12 월후보권고안 (Candidate Recommendation) 으로확정된상태이다. FOCUS [ 그림 5] Web Socket 동작원리 (1) Web Socket 기술관련보안위협사용자의허가없이다른도메인으로연결요청을발생시킬수있으며, 요청이발생했다는사실을사용자에게알려주지않는다. 공격자는사용자의브라우저에임의의자바스크립트코드를실행하게하여사용자모르게브라우저를통해다른도메인에있는시스템과통신채널을형성한후데이터송수신이가능하다. Internet & Security Focus 2013 12 월호 13

5) Geolocation 모바일기기를통한인터넷이용률증가는위치정보기반의서비스들이급증하는데큰역할을하였다. 대표적인예가 SNS( 페이스북등 ) 를이용하여자신의위치를공유하는기능이다. 과거에는이러한기술을구현하기위해서는부가적인플러그인을설치를해야만가능했다. 하지만 HTML5 의 Geolocation API 가등장하면서브라우저자체기능만으로단말의위치정보계산이가능해졌다. [ 그림 6] Geolocation API 를이용한위치정보확인 일반적으로스마트단말의경우 GPS(Global Positioning System), 3G, 4G 네트워크정보등을 기반으로위치정보가수집되며, GPS 가없는단말기의경우에는 IP 주소정보를통해위치 정보를계산한다. (1) Geolocation 기술관련보안위협대부분의브라우저들은 Geolocation API 를사용할때사용자에게동의를구하도록설계가되어있지만, 동일도메인에서는단한번의동의를통해사용자의위치정보를계속수집할수있는경우가있다. 이경우사용자가공격자의위치정보수집악성링크를클릭하고무심결에동의를누를경우자신의위치정보를계속적으로공격자에게전달할수있다. 이는기존 Native-App 에서도발생 14 Internet & Security Focus 2013 12 월호

가능한공격기법이지만, Geolocation 을적용한 HTML5 Web App 의경우단순사이트방문만으로도사용자의위치정보가노출될수있기때문에, 기존설치된앱에서의사용자위치추적보다위험성이크다고볼수있다. Geolocation 기술활용에대한개발자및사용자의세심한주의가필요하다. FOCUS 6) File API File API 는자바스크립트를통해파일시스템에있는파일의데이터를읽을수있게하는 API 를말하며, Firefox 3.6 버전에서처음구현되었다. HTML5 에서해당명세가추가되면서웹어플리케이션은브라우저상에서플러그인의도움을받지않고시스템에있는파일을유연하게다룰수있게되었다. File API 는 2013 년 9월초안 (Working Draft) 버전까지발표된상태이며현재주요브라우저중약 74% 정도가해당기능을지원하고있다. (1) File API 기술관련보안위협현재까지 File API 자체취약점은알려진바없다. 악성자바스크립트를브라우저에삽입한다하여도사용자가자의적으로파일을선택하지않는이상공격자는아무런공격을수행할수없다. 하지만사회공학적기법을활용하면사용자의시스템에있는파일들을탈취하는것이가능하다. Ⅲ. HTML5 기반공격시나리오및대응방안 1. 신규태그 / 속성을이용한 Tabnabbing 공격 1) 공격기법이해를위한배경기술 Tabnabbing 은자바스크립트를이용한자동화된피싱공격기법이다. 기존의피싱기법은사용자의클릭을유도하여웹브라우저의탭을피싱사이트로이동시키는형태이지만, 해당공격은사용자의브라우저탭에서아무런행위를하지않아도악성콘텐츠를삽입하거나브라우저탭을피싱사이트로이동시킬수있다. 물론사용자가해당탭을사용하고있을때조작을하게되면사용자가의심할수있으므로, 희생자가해당탭을사용하지않고다른탭을 Internet & Security Focus 2013 12 월호 15

사용할때공격행위가이루어진다. Tabnabbing 공격은 XSS 취약점을이용하여구현된다. 하지만많은웹사이트들이 XSS 공격을막기위한필터링을설정해두었기때문에, 이를우회하기 위해본시나리오에서는 HTML5 신규태그 / 속성을이용한다. 2) 공격시나리오 1 공격자는공격대상웹서버에 XSS 공격을시도하지만기존의잘알려진대부분의 태그 / 속성을이용한 XSS 공격은대부분차단되어있는상태이다. 2 공격자는 HTML5 에새롭게추가된태그 / 속성을통해 XSS 필터를우회하여, Tabnabbing 공격을수행하는악성코드를게시판등을통해삽입하고, 사용자는해당악성게시글을 클릭한다. 3 게시글의내용중정상적인페이지로이동시키는링크 ( 예. 뮤직비디오재생페이지 ) 를클릭할경우, 희생자브라우저에서새로운탭이생성된다. 이때, 희생자가사용하고있던탭 ( 게시글페이지 ) 에서는 tabnabbing 을수행하는악성코드가실행되며, 기존탭을피싱사이트 ( 기존탭과유사한사이트의로그인페이지 ) 로강제이동시킨다. 16 Internet & Security Focus 2013 12 월호

4 다른탭에서뮤직비디오시청을완료한희생자는기존탭의로그인페이지를보고, 아무의 심없이로그인정보를입력함으로써공격자서버로로그인정보가전송된다. 3) 대응방안 신규속성 / 태그를이용한 Tabnabbing 공격 시나리오에서 Tabnabbing 공격은주로자바스크립트를사용한다. 그래서서버측에서 XSS 취약점에대한대응을한다면공격을완화할수있다. 또한해당공격은 HTML5 에서새롭게추가된속성및태그를사용하기때문에 XSS 필터도이에맞는조건들을추가해줄필요가있다. Internet & Security Focus 2013 12 월호 17

2. CORS 를이용한사용자개인정보탈취 1) 공격기법이해를위한배경기술 CORS 를이용하면서로다른도메인간 ( 웹사이트서버 ) 자원공유를가능하게해주며, 이는서버설정중 Access-Control-Allow-Origin : domain 을통해설정이가능하다. 예를들어 www. foo.com 에서 www.other.com 에 CORS 를통한자원을요청할경우 www.other.com 서버설정은 Access-Control-Allow-Origin : www.foo.com 혹은 *( 모든도메인 ) 으로설정이되어있어야만한다. CORS 보안취약점예방을위해서는신뢰할수있는사이트 ( 서버 ) 에대해서만접근을설정을해야한다 (Access-Control-Allow-Origin : 신뢰할수있는사이트 ). 2) 공격시나리오 1 공격자 (Attacker) 는공격대상서버 (Target Server) 의 CSRF 취약점을이용하여희생자의개인정보를탈취하려고하지만, 공격대상서버는 XSS 및 CSRF 에취약하지않다. 또한시도하는모든공격이웹방화벽에의해서차단되어있는상황이다. 하지만공격대상서버는특정웹서버 (HTML5 Server) 와 CORS 를위한신뢰관계가형성되어있음을확인했다. 2 공격자는특정웹서버 (HTML5 Server) 에악성스크립트가담긴파일을업로드한다. 그리고 공격대상서버에는특정웹서버 (HTML5 Server) 에업로드되어있는파일을링크하는게시글을 업로드한다. 18 Internet & Security Focus 2013 12 월호

3 희생자는공격대상서버 (Target Server) 에접근하여로그인을수행한후공격자가 2에서업로드했던게시물의링크를클릭한다.( 물론해당링크는클릭을유도하는내용을담고있다.) 사용자의웹브라우저탭은특정웹서버 (HTML5 Server) 에업로드된악성스크립트를가져온후실행하게된다. 4 악성스크립트에노출된희생자의웹브라우저는자신의개인정보를공격자에게전송하 게된다. 실제 CSRF 를통한 A 사용자의개인정보탈취트래픽을발생시킨것은 B 서버이며, A 서버와 (Access-Control-Allow-Origin : www.b.com) 으로신뢰관계를맺고있기에이공격이가능하다. Internet & Security Focus 2013 12 월호 19

3) 대응방안 CORS 를이용한사용자개인정보탈취 시나리오는공격대상사이트의파일업로드취약점을이용하는것으로시작된다. 때문에웹서버의파일업로드취약점에대한대응조치를한다면공격을완화할수있다. 그리고서버는 Cross-Origin 요청을모두허용할수있는 Access-Control- Allow-Origin : * 과같은설정을피하는것이좋다. 3. Web Storage 정보탈취 1) 공격기법이해를위한배경기술 Web Storage 에는웹어플리케이션에서이용되는다양한정보가평문혹은암호문으로저장될수있으며, 저장공간에대한모든접근및제어는자바스크립트를통해이루어진다. 만약특정웹사이트가 XSS 등스크립트기반공격에취약하다면, 공격자는사용자의브라우저에있는모든 Web Storage 데이터를사용자모르게조작하거나가져올수있다. 해당취약점은 Web Storage 자체적인문제이기보다는 XSS 취약점과개발자의잘못된정보취급 ( 평문, 주요정보저장등 ) 으로인한취약점이지만, 기존 Cookie 에비하여저장되는정보의양이나질이높기때문에공격자의입장에서는공격정보수집을위한유용한대상이될것이다. 20 Internet & Security Focus 2013 12 월호

2) 공격시나리오 1 공격자는 ( 공격대상 )HTML5 웹사이트의관리자 ( 사용자 ) 채팅내용들이각사용자및관리자의 Local Storage 에저장되며스크립트기반공격 (XSS, CSRF 등 ) 이가능하다는것을확인후이내용들을탈취하고자한다. FOCUS 2 공격자는관리자에게대화를걸어, 관리자가일반사용자들과대화한내용들을모두탈취 하는악성스크립트를입력한다. 3 악성스크립트를해석한관리자의웹브라우저는자신의 Local Storage 에있는모든대화내 용을공격자서버로전송한다. Internet & Security Focus 2013 12 월호 21

3) 대응방안 Local Storage 에저장된사용자개인정보탈취 시나리오는공격대상사이트의 XSS 취약점을이용하는것으로시작된다. 때문에 XSS 에대한대응조치 ( 웹방화벽혹은보안코딩등 ) 가되어있다면공격을완화할수있다. 그리고웹어플리케이션개발자는평문상태로데이터를저장하는 Local Storage 에사용자의민감정보를저장하지않도록하거나암호화를적용시켜저장하도록구현함으로써정보관리에유의하도록한다. 4. Web Socket 을이용한내부네트워크정보수집 1) 공격기법이해를위한배경기술 Web Socket API 는일반적으로 Well-Known 포트들에대한접근이기본적으로차단되도록구성되어있지만, 각시스템들의 Up/Down 여부확인이가능하며이는공격자입장에서유용한정보가될수있다. 22 Internet & Security Focus 2013 12 월호

[ 그림 7] Web Socket 구조 Web Socket 은연결하려는객체의상태정보를의미하는세가지값 (Connecting, Open, Closed) 을가지고있다. 최초 Web Socket 이생성되면해당객체의 ReadyState 값은 0(Connecting) 으로설정되어있으며, 스캐닝대상의상태에따라 1(Open) 혹은 2(Closed) 로값이변화한다. 즉, Web Socket 의 ReadyState 값인 0(Connecting) 은원격호스트의포트상태에따라지속시간이달라진다고말할수있다. < 표 4> Web Socket 을이용한시스템포트오픈여부확인 원격시스템포트상태및필터링유무 0 값의지속시간 원격시스템의포트가열려있는경우 (Open) <100ms (0.1 초미만 ) 원격시스템의포트가닫혀있는경우 (Closed) ~1000ms (1 초 ) 패킷이필터링되었을경우 >30000ms (30 초초과 ) Web Socket 객체 ReadyState 속성의 0 값지속시간이수초이상지나도 1 이나 2 로변하지않 는다면대상시스템은동작중이지않을확률이높다고판단할수있다. 해당공격시나리오역시 이와같은논리를바탕으로동작한다. Internet & Security Focus 2013 12 월호 23

2) 공격시나리오 1 희생자는회사네트워크 (192.168.5.X) 를통해업무를수행중이며, 공격자는외부인터넷망 에서희생자의내부시스템을해킹하기위해내부네트워크정보를수집하려한다. 2 공격자는특정게시판에사용자의내부네트워크를스캐닝하는악성게시글을업로드한다. 3 희생자가웹서핑중해당게시글을클릭하게되면, 사용자의웹브라우저는 Web Socket 객체 를생성하여, 자신이속한네트워크의정보를수집하기시작한다. 24 Internet & Security Focus 2013 12 월호

4 192.168.5.X 대역을모두스캐닝한사용자의웹브라우저는결과를공격자서버에전송한다. FOCUS 3) 대응방안 Web Socket API 를이용한사설네트워크정보수집 시나리오는공격대상사이트의 XSS 취약점을이용하는것으로시작된다. 때문에 XSS 에대한대응조치 ( 웹방화벽혹은보안코딩등 ) 가되어있다면공격을완화할수있다. 만약희생자를공격자의사이트로유도한후해당시나리오를구현하는경우라면대응할수없다. 5. Geolocation 을이용한사용자위치추적 1) 공격기법이해를위한배경기술브라우저가공격대상서버에서 Geolocation API 를처음사용하기위해서는사용자의자발적인동의 ( 위치정보수집허용 ) 를얻어야하는데, 한번사용허가를받은코드가추후 Geolocation API 를사용할경우사용자에게다시묻지않는다. 이는악성자바스크립트가사용자의위치정보수집을위해 Geolocation API 를지속적으로사용한다해도사용자는알수없다는의미이다. 2) 공격시나리오 1 공격자는희생자의위치정보수집을위해공격대상서버에위치정보를수집하는악성자바스크립트를삽입할계획이다. 공격자는대상서버가가진파일업로드취약점을이용하여 WebShell 을업로드한다. 해당 WebShell 은공격대상시스템의웹어플리케이션소스코드를조작할수있다. Internet & Security Focus 2013 12 월호 25

2 공격자는 WebShell 을이용하여웹서버의메인페이지프레임에새로운프레임을덧씌우고 새로운프레임내부에악성스크립트를삽입한다. 이는해당페이지를방문한사용자가브라우저 탭을닫지않는이상스크립트실행을지속적으로유지할수있기때문이다. 3 웹서버를방문한사용자의모바일기기에있는웹브라우저들은악성스크립트를지속적으 로실행시키면서희생자의위치정보를공격자에게주기적으로전송한다. 26 Internet & Security Focus 2013 12 월호

3) 대응방안 Geolocation API 를이용한사용자위치정보추적 시나리오는공격대상사이트의 XSS 취약점을이용하는것으로시작된다. 때문에 XSS 에대한대응조치 ( 웹방화벽혹은보안코딩등 ) 가되어있다면공격을완화할수있다. 하지만사용자를공격자의사이트로유도한후해당시나리오를구현하는경우라면대응할수없다. 사용자는가급적자신의기기에대한위치정보접근을제한하거나필요한경우신뢰하는서비스에대해서만허용을해야한다. FOCUS 6. File API 를이용한사용자시스템파일탈취 1) 공격기법이해를위한배경기술 File API 는로컬파일시스템에접근가능하며, 공격자는이를악용하여사용자로컬시스템의파일들을탈취할수있다. 2) 공격시나리오 1 공격자는공격대상서버의게시판에악성스크립트가포함된게시물을업로드한다. 2 희생자는공격자가게시한게시물을열람한다. 해당게시물은무료바이러스탐지프로그램을가장한악성스크립트가포함되어있다. 3 희생자는자신의시스템이바이러스에감염되었을지도모른다는생각에, 가짜백신프로그 램을클릭한후, 검사를하고자하는디렉토리를선택한다. Internet & Security Focus 2013 12 월호 27

4 희생자가선택한디렉토리내의모든파일이 File API 기능을이용한악성스크립트에의해공 격자에게전송된다. 3) 대응방안 File API 를이용한사용자시스템파일탈취 시나리오는공격대상사이트의 XSS 취약점을이용하는것으로시작된다. 때문에 XSS 에대한대응조치가기본적으로선행되어야하고, 사용자는신뢰할수없는링크나프로그램은실행하지않아야할것이다. Ⅳ. 결론 현재까지 HTML5 에대한표준화작업이완료되지않았음에도불구하고국내를포함한전세계의많은웹사이트들이 HTML5 기술을이용하여재구축되고있으며, 각종장치에포함되는어플리케이션들또한 HTML5 를기반으로개발되기시작했다. HTML5 의기본적인디자인원칙은 플랫폼, 장치등에의존하지않는웹어플리케이션구현 이다. 그래서기존버전과 28 Internet & Security Focus 2013 12 월호

대조해보았을때명세의많은부분이확장및추가되었다. video/audio 를포함한각종태그및속성그리고 CORS, Web Storage, Web Worker, Web Socket, Geolocation 등이대표적인예이다. 이렇게추가된기능들로인해브라우저자체적으로동영상재생, 그래픽구동등다양한멀티미디어기능구현이가능하게되었다. 하지만이러한기술들을통해다양한이점을얻을수있지만동시에악의적인용도로남용할수있는공격의범위도앞서설명한것처럼증가하게되었다. 결국 HTML5 를기반으로하는모든웹사이트및어플리케이션들은새로운보안위협에직면하게될것이며이와관련된공격을예측하고대응방법을개발하는연구가필요하다. 한국인터넷진흥원 (KISA) 에서는이러한신규웹서비스환경에서의보안위협예방을위해다양한연구를진행중이다. 올해 HTML5 환경에서발생가능한보안취약점분석을위해, HTML5 웹서버구축등테스트베드환경을마련하였으며, 보안취약점을도출하고검증하였다. 2014 년도에는 HTML5 개발자를위한정보보호안내서개발, HTML5 보안라이브러리개발및표준화등 HTML5 표준화및확산전다양한연구를통해안전한서비스환경을조성할계획이다. FOCUS 참고문헌 미래창조과학부, 인터넷글로벌경쟁력강화를위한차세대웹표준 (HTML5) 확산추진계획, 2012.7 Daniel Nilsson, HTML5 Web application security with OWASP top ten 2013, 2013 Enisia, A Security Analysis Of Next Generation Web Standards, 2011 Ioannis Krontiris, W3C Geolocation API calls for Better User Privacy Protection, 2010 Jorge A.Muniz, Tracking Mobile Devices Using HTML5, 2013 Juan Galiana Lara, HTML5 Security Cheat Sheet, 2013 Martin Johns, HTML5 Security GPN 2012, 2012 Michael Schmidt, HTML5 Web Security, 2011 Nick Doty, Privacy Issues of the W3C Geolocation API, 2010 Robert McArdle, A Look at HTML5 Attack Scenarios, 2011 Shreeraj Shah, DOMJacking Attack Exploit and Defense, 2012 Shreeraj Shah, Stealth Attacks and Silent Exploits, 2012 Internet & Security Focus 2013 12 월호 29