Disclosure to or reproduction for others without the specific written authorization of AhnLab is prohibited. Copyright (c) AhnLab, Inc. All rights reserved. ASEC REPORT VOL.22 2011.11 안철수연구소월간보안보고서 악성코드분석특집 국내 PC 를감염목표로하는부트킷상세분석
AhnLab Security Emergency response Center ASEC (AhnLab Security Emergency response Center) 은악성코드및보안위협으로부터고객을안전하게지키기위하여보안전문가로구성된글로벌보안조직입니다. 이리포트는 안철수연구소의 ASEC에서작성하며, 매월발생한주요보안위협과이슈에대응하는최신보안기술에대한요약정보를담고있습니다. 자세한내용은안랩닷컴 (www.ahnlab.com) 에서확인하실수있습니다. CONTENTS 01. 악성코드동향 a. 악성코드통계 05 02. 시큐리티동향 a. 시큐리티통계 27 - 악성코드감염보고 Top 20 - 악성코드대표진단명감염보고 Top 20 - 악성코드유형별감염보고비율 - 악성코드유형별감염보고전월비교 - 악성코드월별감염보고건수 - 신종악성코드감염보고 Top 20 - 신종악성코드유형별분포 b. 악성코드이슈 10 - MySQL 사이트에삽입된악성스크립트 - 스티브잡스사망관련메일로위장한악성코드 - Smiscer Rootkit - QR 코드를통해감염되는안드로이드악성코드발견 - NETFLIX 위장안드로이드악성애플리케이션 - CVE 2011-2140 취약점을이용한악성코드유포 - 플래시가당신컴퓨터의웹카메라와마이크를조종한다 - 리눅스 Tsunami DDoS 공격툴의맥 OS X 포팅 - 10 월마이크로소프트보안업데이트현황 03. 웹보안동향 a. 웹보안통계 28 - 웹사이트보안요약 - 월별악성코드배포 URL 차단건수 - 월별악성코드유형 - 월별악성코드가발견된도메인 - 월별악성코드가발견된 URL - 악성코드유형별배포수 - 악성코드배포순위 b. 웹보안이슈 31-2011 년 10 월침해사이트현황 c. 악성코드분석특집 17 - 국내 PC 를감염목표로하는부트킷상세분석
Web 5 6 01. 악성코드동향 a. 악성코드통계 악성코드감염보고 Top 20 악성코드대표진단명감염보고 Top 20 2011 년 10 월악성코드통계현황은다음과같다. 2011 년 10 월의악성코드감염보고에서는 JS/Agent 가가장많았으며, Textimage/Autorun 과 JS/Iframe 이그뒤를이었다. 신규로 Top20 에진입한악성코드 는 Swf/Uqust, Exploit/Cve-2011-2140, JS/Mult 등총 8 건이다. [ 표 1-2] 는악성코드별변종종합감염보고순위를악성코드대표진단명에따라정리한것이다. 이를 통해악성코드의동향을파악할수있다. 2011 년 10 월의감염보고건수는 JS/Agent 가총 737,610 건이 며 Top20 중 13.6% 의비율을점유해 1 위인것으로나타났다. Win-Trojan/Agent 가 578,728 건 /10.6% 로 2 위, Textimage/Autorun 이 542,921 건 /10.0% 로 3 위를기록했다. 순위 등락 악성코드명 건수 비율 1 4 JS/Agent 737,610 20.0 % 2 1 Textimage/Autorun 542,815 14.7 % 3 1 JS/Iframe 522,958 14.2 % 4 NEW Swf/Uqust 222,551 6.0 % 5 3 JS/Redirector 172,029 4.7 % 6 NEW Exploit/Cve-2011-2140 153,102 4.1 % 7 1 Dropper/Malware.495616.HT 121,027 3.3 % 8 3 Swf/Agent 117,025 3.2 % 9 Win-Trojan/Downloader.217088.AE 113,868 3.1 % 10 3 Als/Bursted 108,345 2.9 % 11 3 Win32/Induc 107,377 2.9 % 12 NEW JS/Mult 102,328 2.8 % 13 1 Win32/Palevo1.worm.Gen 99,913 2.7 % 14 NEW Win-Trojan/Hupigon.425984.BU 99,120 2.7 % 15 NEW Html/Flasher 95,032 2.6 % 16 NEW Swf/Cve-2010-2884 86,617 2.3 % 17 2 Swf/Exploit 84,813 2.3 % 18 1 Win32/Olala.worm 72,667 2.0 % 19 NEW Html/Popupper 68,539 1.9 % 20 NEW RIPPER 62,817 1.6 % 3,690,553 100.0 % [ 표 1-1] 악성코드감염보고 Top 20 순위 등락 악성코드명 건수 비율 1 13 JS/Agent 737,610 13.6 % 2 1 Win-Trojan/Agent 578,728 10.6 % 3 Textimage/Autorun 542,921 10.0 % 4 8 JS/Iframe 522,958 9.6 % 5 3 Win-Trojan/Downloader 360,016 6.6 % 6 Win-Trojan/Onlinegamehack 266,382 4.9 % 7 2 Win-Adware/Korad 237,270 4.4 % 8 1 Win32/Conficker 235,793 4.3 % 9 1 Win32/Virut 230,076 4.2 % 10 NEW Swf/Uqust 222,551 4.1 % 11 1 Win32/Autorun.worm 220,533 4.1 % 12 5 Dropper/Malware 212,104 3.9 % 13 2 Win32/Kido 181,298 3.3 % 14 10 JS/Redirector 172,029 3.2 % 15 NEW Exploit/Cve-2011-2140 153,102 2.8 % 16 NEW Win-Trojan/Hupigon 119,262 2.2 % 17 NEW Swf/Agent 117,025 2.2 % 18 NEW Dropper/Agent 111,989 2.1 % 19 NEW Als/Bursted 108,345 2.0 % 20 2 Win32/Induc 107,445 1.9 % 5,437,437 100.0 % [ 표 1-2] 악성코드대표진단명감염보고 Top 20
Web 7 8 악성코드유형별감염보고비율 악성코드월별감염보고건수 [ 그림 1-1] 은고객으로부터감염이보고된악성코드유형별비율이다. 이것은 2011 년 10 월한달동안안철 수연구소가집계한악성코드의유형별감염비율을분석한결과다.2011 년 10 월의악성코드를유형별로살펴 10 월의악성코드월별감염보고건수는 10,498,643 건으로 9 월의악성코드월별감염보고건수 11,061,009 건에비해 562,366 건이감소하였다. 보면, 감염보고건수비율은트로이목마 (TROJAN) 가 31.7% 로가장많았으며, 스크립트 (SCRIPT) 가 27.1%, 웜 (WORM) 이 12.5% 로그뒤를잇고있다. 20,000,000 18,000,000 16,000,000 14,000,000 12,000,000 13,666,715-8.2% -2,605,706 11,061,009-19.0% -562,366 10,498,643-5.1% 0 2011.08 2011.09 2011.10 [ 그림 1-3] 악성코드월별감염보고건수 [ 그림 1-1] 악성코드유형별감염보고비율 악성코드유형별감염보고전월비교 악성코드유형별감염보고비율을전월과비교하면, 스크립트와웜은전월에비해증가세를보이 고있는반면, 트로이목마와애드웨어 (ADWARE), 드롭퍼 (DROPPER), 바이러스 (VIRUS), 다운로더 신종악성코드유형별분포 10 월의신종악성코드유형을보면트로이목마가 41% 로가장많았고, 그뒤를이어스크립트가 20%, 애 드웨어가 16% 를점유하였다. (DOWNLOADER), 스파이웨어 (SPYWARE), 클리커 (CLICKER) 는전월에비해감소했다. 애프케어 (APPCARE) 는전월수준을유지하고있다. TROJAN 38.7% 31.7% [ 그림 1-2] 악성코드유형별감염보고전월비교 [ 그림 1-4] 신종악성코드유형별분포
Web 9 10 신종악성코드감염보고 Top 20 [ 표 1-3] 은 10 월에신규로접수된악성코드중고객으로부터감염이보고된악성코드 Top20 이다. 10 월 의신종악성코드감염보고 Top 20 은 SWF/Uqust 가 222,551 건으로전체 24% 로 1 위였으며, Exploit/ 01. 악성코드동향 b. 악성코드이슈 Cve-2011-2140 이 153,102 건으로그다음으로많았다. 순위악성코드명건수비율 1 SWF/Uqust 222,551 24.0 % 2 Exploit/Cve-2011-2140 153,102 16.5 % 3 Win-Trojan/Hupigon.425984.BU 99,120 10.7 % 4 Dropper/Agent.747008.E 55,724 6.0 % 5 Win-Adware/BHO.UBar.1339904 49,949 5.4 % 6 Win-Trojan/Agent.630272.O 49,524 5.3 % 7 Win-Trojan/Infostealer.434688 47,867 5.2 % 8 Win-Trojan/Agent.487677 42,989 4.6 % 9 Win-Adware/LineAd.266240 25,271 2.7 % 10 Win-Trojan/Agent.450560.CM 24,442 2.6 % 11 Win-Trojan/Korad.434176 19,425 2.1 % 12 Win-Dropper/LineAd.757734 17,392 1.9 % 13 Win-Trojan/Onlinegamehack.65541 17,390 1.9 % 14 Win-Trojan/Adload.883712 16,746 1.8 % 15 Win-Adware/BHO.WebSide.1841664 16,270 1.8 % 16 Dropper/Pasta.103500 15,929 1.7 % 17 Win-Adware/KorAd.446464.C 14,597 1.6 % 18 Win-Adware/KorAd.458752 13,566 1.5 % 19 Win-Trojan/Adload.179200.C 13,235 1.4 % 20 Win-Trojan/Agent.61440.BAZ 12,294 1.3 % 927,383 100.0 % [ 표 1-3] 신종악성코드감염보고 Top 20 MySQL 사이트에삽입된악성스크립트지난 9월 26일발생했던 MySQL 웹사이트해킹시삽입되었던악성스크립트에대하여알아보자. 사이트 (www.mysql.com) 에접속시연결되는파일중한군데에 [ 그림 1-5] 와같은내용의악성스크립트가삽입되어있다. [ 그림 1-5] 삽입된악성스크립트 을이용한악성코드에감염될수있다. 해당악성코드에감염되면아래와같은파일이생성된다. - C:\WINDOWS\system32\t5rc.dll - C:\WINDOWS\system32\imm32.dll - C:\WINDOWS\system32\version.dll - C:\Documents and Settings\[ 사용자이름 ]\Local Settings\ Temp\xth1A.tmp.exe [ 그림 1-7] V3 제품의자기보호기능이중요윈도우파일의변조를방어한화면해당사이트의악성코드는 V3 제품군에서다음과같이진단한다. - Dropper/Win32.Mudrop - Trojan/Win32.Patched - Trojan/Win32.Agent 삽입된스크립트는난독화되어있으며해제하면 [ 그림 1-6] 과같은코드가확인된다. [ 그림 1-6] 난독화스크립트를풀었을때나오는코드위페이지에접속하면어도비플래시, 어도비리더, 자바등의취약점 스티브잡스사망관련메일로위장한악성코드연말연시또는유명인사와관련한사건들이발생할때마다악성코드제작자들은이러한이슈들을이용하여악성코드유포를시도한다. IT 업계의혁신을주도한인물로평가되는애플 (Apple) 사의창업자인스티브잡스 (Steve Jobs) 의사망을악용해악성코드유포를시도한사례가 10월 7일발생하였다. 이번에발견된악성코드는 [ 그림 1-8] 과같은형태의메일을통해유포되었으며, 해당메일들은다음의제목중하나를사용하였다. - Steve Jobs Alive! - Steve Jobs Not Dead! - Steve Jobs: Not Dead Yet! - Is Steve Jobs Really Dead?
Web 11 12 유포된메일은 [ 그림 1-8] 과같이, 악성코드가직접첨부되어있지 악성코드들은 V3 제품군에서다음과같이진단한다. 참고 : ADS(Alternate Data Stream) http://core.ahnlab.com/7 vacc/vaccview.do?seq=103 않고메일본문에악성코드를다운로드하기위한웹사이트링크가존재하였다. - Win-Trojan/Bredolab.44032.U - Win-Trojan/Xema.85504.D C. 감염후 3842759408:254145562.exe의특정영역에접근하면, 접근한프로세스를강제로종료하고권한을변경한다. 3. 치료후재부팅해야한다. 4. 재부팅후에는 V3 정밀검사를실시한다. [ 그림 1-8] 스티브잡스사망을악용하여악성코드유포를시도하였던메일 - Win-Trojan/Bredolab.884736.B [ 그림 1-11] 변경된권한정보 [ 그림 1-14] 전용백신치료후재부팅 Smiscer Rootkit 최근에는부트킷 (Bootkit) 처럼감염된 PC 의 MBR 영역을조작하여 백신이악성코드를치료하더라도부팅시마다계속악성코드를새 로만들어내는방식이자주이용되고있다. 초기의 Smiscer 는로드 된운영체제의드라이버중하나를감염시키고, 감염된드라이버의 원본은파일볼륨을하나만들어거기에백업을해두고윈도우하위 system\config 폴더에루트킷을생성하였다. 이루트킷이파일시 해당메일의본문에존재하는웹사이트링크를자세히분석해보면 [ 그림 1-9] 와같이특정시스템으로재연결을하도록구성된것을볼수있다. [ 그림 1-9] 악성코드를다운로드하기위해특정시스템재연결 스템을가로채고있기때문에감염여부를쉽게알수없었다. ZeroAccess나 Zaccess, 혹은 Max++ 로불리기도하는 Smiscer 악성코드는 2010년 1월경부터제작 / 배포된것으로보이지만, 이시기에국내에서보고된별다른피해사례는없었다. 하지만감염기법과은닉상태로감안한다면, 다만그존재를감지하지못한경우도있었을것으로추정된다. 이후 Smiscer.C 변형에대한감염사례는국내에서보고된바있다. 추후실행이불가능하며, [ 그림 1-12] 와같은오류메시지가뜬다. [ 그림 1-12] 변경된권한정보패치된시스템파일정보가변경된것을볼수있다. E. 권한복원방법재부팅후에변경된권한을복원할때, 보안 탭이보이지않으면 [ 그림 1-15] 와같이폴더옵션을수정하여권한을부여한다. [ 그림 1-15] 폴더옵션변경 재연결되는특정시스템에는웹익스플로잇툴킷 (Web Exploit 참고 : [ 그림 1-13] 변경된버전정보 Toolkit) 으로알려진블랙홀익스플로잇킷 (Blackhole Exploit Kit) 이설치되어있으며, 사용자는해당툴킷으로연결되어 [ 그림 1-10] 과같은웹페이지로접속하게된다. 이윽고접속을시도한사용자의시스템에는, 존재하는다양한취약점들이악용되어악성코드가자동으로다운로드되고실행된다. - http://asec.ahnlab.com/328 - http://download.ahnlab.com/asecreport/asec_report_vol.16_ Kor.pdf (MBR Infector) - http://download.ahnlab.com/kr/site/magazineahn/ ahn_201110.pdf (TDL4 Bootkit) - http://download.ahnlab.com/asecreport/asec_report_vol.14_ [ 그림 1-10] 블랙홀익스플로잇킷의페이지내용의일부 Kor.pdf (Smiscer Rootkit) 이번에는자체보호기능이있는 Smiscer.C 악성코드에대해살펴 보자. A. 유포지 : 'http://ya****************/install_flash_player.exe' 유포파일명을보면, 플래시플레이어설치파일처럼사용자를속이 해당악성코드에감염되면, 시스템에존재하는다양한 FTP 클라이언트프로그램의설정파일에기록된 FTP 서버주소, 계정과암호를수집하여외부로전송한다. 또한감염된시스템에 USB와같은이동 고있는것을볼수있다. B. 감염시다음과같은파일이생성된다. 형저장장치가존재하면, 'MS10-046 Windows 셸의취약점으로 C:\WINDOWS\3842759408:254145562.exe(ADS 동작 ) QR 코드를통해감염되는안드로이드악성코드발견 인한원격코드실행문제점 (2286198)' 취약점을악용하는바로가기파일 (*.lnk) 과자신의복사본을이동형저장장치에생성한다. 해당취약점이존재하는윈도우를사용중인환경에감염된 USB를연결할경우, 윈도우탐색기로 USB를열어보는것만으로도악성코드에감염된다. 이번에발견된, 스티브잡스사망을악용하여유포된 C:\WINDOWS\assembly\gac_msil\desktop.ini C:\WINDOWS\system32\drivers\***.sys( 시스템정상파일을패치 ) C:\WINDOWS\$NtUninstallKB1216$( 시스템별다름 ) C:\documents and settings\[ 사용자계정 ]\local settings\application data\[ 시스템별다름 ]\X D. 조치방법 1. 안철수연구소홈페이지에서제공하는전용백신으로검사및치료한다. 2. 전용백신다운로드 http://www.ahnlab.com/kr/site/download/ QR코드는기존바코드기술의데이터저장용량의한계에대한해결책으로새롭게각광받고있다. QR 코드는스마트폰의카메라 ( 스캔 ) 기능을활용하여그림과같은물리적자료에서디지털정보, 즉인터넷주소등을변환해준다. 특히이벤트나광고에서많이사용되고있다.
Web 13 14 참고 : http://ko.wikipedia.org/wiki/qr_ 코드 해당악성코드는 [ 그림 1-18] 과같은권한을사용하는데, SEND_ NETFLIX 위장안드로이드악성애플리케이션 2. 악성애플리케이션을실행하면 [ 그림 1-24] 와같이 E-mail 과 이번에도가능한한많은 PC가악성코드에감염되도록다양한취약점을사용하였으며전체적인구조를요약해보면아래와같다. 해당악성코드에감염되면윈도우정상파일 (imm32.dll) 을교체하는증상이발생한다. 악성 imm32.dll이실행되면서백업된정상 imm32.dll인 Shell64.dll을로딩하도록해두었는데이는악성 imm32.dll의코드를통해서확인할수있다. SMS 권한은문자를송신할때반드시요구되는권한으로악성애플리케이션을구분하는중요한단서가된다. 만일설치하려는애플리케이션이문자를송신할필요가전혀없는애플리케이션인데 SEND_SMS 권한을사용하고있다면, 한번쯤악성애플리케이션인지의심해볼만하다. [ 그림 1-18] 악성애플리케이션정보 Google+ 를위장한악성애플리케이션 Google++(8월발견 ), Google Search를위장한 Google SSearch(6월발견 ) 에이어, 이번에는미국에서인기있는온라인스트리밍비디오서비스애플리케이션으로위장한악성애플리케이션 Netflix가발견되었다. [ 그림 1-20] Google 위장안드로이드악성애플리케이션 Password 를입력하라는메시지가나온다. [ 그림 1-24] 악성애플리케이션실행화면 [ 그림 1-16] QR 코드가광고에사용된예 NETFLIX 로위장한악성애플리케이션의특징을살펴보자. [ 그림 1-21] NETFLIX 로위장한악성애플리케이션의권한정보 [ 그림 1-19] 와같은코드를이용하여 '2476' 의 premium rate number 로문자를송신하는기능이있다. ( 러시아에선약 6 달러가 결제된다고알려졌다 ). 3. E-mail 과 Password 를입력하면 [ 그림 1-25] 와같은화면이팝업 [ 그림 1-19] 문자과금관련코드 되고, Cancel을선택하면제거화면으로넘어간다. 단, cancel 선택은취소할수없고, 반드시삭제하게되어있다. [ 그림 1-25] 팝업화면 / Cancel 선택후화면 최근러시아의특정웹사이트에서 QR 코드가스마트폰악성코드 를유포하는데에이용되었다. 이웹페이지에서애플리케이션홍보 이악성코드는 V3 모바일제품군에서다음과같이진단한다. 를위해 QR 코드와주소링크를게시하여사용자로하여금해당애 - Android-Trojan/SmsSend.K 플리케이션을설치하도록유도한것이다. 해당웹페이지화면중앙상단에는안드로이드애플리케이션을바로내려받을수있는 URL과 QR 코드를스캔할수있게되어있고, 좌측에는애플리케이션실행화면이나와있다. [ 그림 1-17] 악성코드를유포하는러시아웹사이트 참고로이악성코드는 Disassemble 시코드를분석하기어렵게약간난독화되어있다. 모바일악성코드도항상최신동향을반영하여좀더많은기기를감염시키기위해발전된기법을연구하는등, 사용자들을유혹하고있다. 1. 안드로이드 OS 1.6 이상에서설치가능하도록제작되었다. [ 그림 1-22] Manifest 정보 다음과같은수칙을반드시지켜악성코드로부터스마트폰을안전 하게보호할것을권장한다. 1. 애플리케이션을설치하거나이상한파일을다운로드한경우에는반드시악성코드검사를실시한다. 4. 수집된 E-mail 과 Password 를외부서버로전송한다. 2. 게임같은애플리케이션을다운로드할때는먼저다른사용자가올린평판정보를면밀히확인한다. [ 그림 1-26] E-mail 과 Password 수집시도및전송 URL 코드 3. 브라우저나애플리케이션으로인터넷에연결시이메일이나문자메시지 [ 그림 1-23] 악성애플리케이션의응용프로그램정보 에있는 URL 은신중하게클릭한다. 4. PC 로부터파일을전송받을경우악성코드여부를꼭확인한다. 5. 백신의패치여부를확인해서최신백신엔진을유지한다. 6. 스마트폰의잠금기능 ( 암호설정 ) 을이용해서다른사용자의접근을막는 다. 잠금기능에사용한비밀번호는수시로변경한다. 7. 블루투스기능같은무선기능은필요할때만켜놓는다. 8. ID, 비밀번호등을스마트폰에저장하지않는다. 9. 주기적으로백업해서분실시정보의공백이생기지않도록한다. 10. 임의로개조하지않고복사방지같은기능을해제하지않는다.
Web 15 16 5. 정상 Netflix 실행시 [ 그림 1-27] 과같이스마트폰상단의상태 업데이트는잘하고있는지살펴보는것이중요하다. 이번취약점은사용자의플래시업데이트없이이미문제가해결되 이번에발견된맥 OS X 로포팅된코드는 2000 년초반에알려진 바가표시되므로악성과구분할수있다. 었는데, 세팅매니저가어도비의시스템에서관리되기때문에빠르 Kaiten 코드를포팅한것이다. 차이점은맥에서돌아간다는것과 IRC [ 그림 1-27] 정상 Netflix 실행화면 플래시가당신컴퓨터의웹카메라와마이크를조종한다스탠퍼드대학교에재학중인한학생이어도비플래시를통하여컴퓨터의웹카메라와마이크를원격에서도조종할수있다는사실을증명해보였다. 게반영할수있었다. 만약 Feross가이사실을공개하지않았다면누군가이취약점을악용할수도있었을것이다. 이와같은이유로, 취약점은공개되어야한다는쪽과그렇지않다는쪽으로의견이나뉘고있다. 취약점이공개되면오히려악용될소지 접속서버주소, 채널, 패스워드정도다. [ 그림 1-32] 는리눅스에서발견된것과최근맥 OS X로포팅된바이너리에서추출한문자열을비교한것이다. [ 그림 1-32] 리눅스 Tsunami와맥 OS X로포팅된 Tsunmai 문자열비교 [ 그림 1-29] 웹카메라 가있다는점은분명해보인다. 하지만알려지지않은취약점이방치된소프트웨어를과연사용해야할것인가? 아마이에대한대답 은여전히사용자의몫일것이다. 리눅스 Tsunami DDoS 공격툴의맥 OS X 포팅 이처럼인기있는애플리케이션으로위장한경우가지속적으로발견되고있으므로, 애플리케이션을설치할때불필요한권한을요구하지는않는지스마트폰안전수칙을항상염두에둬야한다. 오래전에리눅스에서이용되었던백도어프로그램이최근맥OS X 로포팅되었다는소식이전해졌다. 해당공격툴은 Tsunami 이며, 2002년당시진단명은 Tsunami 혹은 Kaiten이었다. Tsunami는 IRC 기반의분산서비스공격클라이언트프로그램으로볼수있으며, CVE 2011-2140 취약점을이용한악성코드유포 10월에 CVE 2011-2140 취약점을이용한악성코드유포사례가다수발견되었다. 당시악성코드의유포방식을살펴보면 [ 그림 1-28] 과같다. [ 그림 1-28] CVE-2011-2140 취약점을이용한악성코드유포구조 이취약점을발견한 Feross Aboukhadijeh는어도비사에관련취약점을알렸지만, 몇주동안아무런답변도전달받지못하자이위험성에대해서공유하기위해블로그에게시하였다. 그후, 여러온라인매체에이내용이소개되었고어도비는블로그에게시된지이틀만에취약점문제를해결하였다. 이기법은오래전부터알려진클릭재킹이라는기술이다. 예전에도이러한방법으로카메라의기능을조정할수있었고어도비는 framebusting이라는코드를삽입하여동 지정된 IRC 서버에접속해서공격명령을전달받는구조로다음과같은기능이있다. - PUSH+ACK Flooding - SYN Flooding - UDP Flooding - 웹으로부터파일다운로드 - 명령어실행 작하지못하도록하였다. 하지만 Feross는이클릭재킹이다른방법을통해서여전히동작한다는것을발견했다. [ 그림 1-30] 클릭재킹을보여준데모화면 [ 그림 1-31] 맥 OS X 로포팅된 Tsunami 의오리지널소스코드화면 문자열이같은것을확인할수있으며, 문자열의 User-Agent 필드를보면리눅스 2.2.16-3 커널정보가보인다. 2.2.16이나왔던시 점이 2000 년이었음을고려하면해당코드가작성된시점하고도비 슷하다. 이처럼공개된소스코드가있다면, 이러한형태의백도어가 맥 OS X 뿐만아니라다양한운영체제를대상으로포팅될수있다. 물론, 그만큼의사용자층이존재하는운영체제라면말이다. [ 그림 1-28] 을보면 CVE-2011-2140 취약점을이용하는악성코드 는총 4 개의파일로구성되어있다. IE 버전에상관없이플래시플레 이어버전이 10.3.183 보다낮으면해당취약점이동작하여온라인 게임사용자의계정정보를탈취하는악성코드에감염된다. 참고 : http://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2011-2140'(cve-2011-2140) 악성코드제작자들은금전적인이득을취하기위해여러 PC에악성코드를퍼뜨리려하고이과정에서가능한한많은취약점을사용하려고한다. 따라서자신의 PC를악성코드감염으로부터보호하기위해서는 PC에설치된프로그램은무엇인지, 해당프로그램들의보안 Feross는 [ 그림 1-30] 과같이컴퓨터에장착된웹카메라를작동하여아직도취약점이유효하다는사실을데모로보여주었다. 그는문제가되는플래시플레이어세팅매니저를, iframe을이용하여전체페이지를불러오는것이아니라 SWF 파일만을로드하도록하여기존의 framebusting 자바스크립트코드를우회하도록하였다.
Web 17 18 01. 악성코드동향 c. 악성코드분석특집 국내 PC 를감염목표로하는부트킷상세분석 [ 그림 1-33] 윈도우 XP 부팅과정 추석을기점으로 MBR을감염시키는악성코드가등장하였다. 기존에도많은부트킷 (Bootkit) 이나타났지만, 국내를대상으로한첫시도가아닐까생각된다. 또한국내에서사용하는백신프로그램을무력화하는코드도존재한다. MBR을감염시키는방식은 DOS 시절부터자주사용되었으며, 윈도우에서 Protect 모드가실행되기전 ntoskrnl 등을메모리패치하여부팅시점에서부터감염이이루어지게한다. 해당악 성코드의주요특징은다음과같다. - MBR 을감염시켜악성루트킷 (Rootkit) 을부팅시점에로드 [ 그림 1-34] 감염된 Start Sector - API 후킹을통해국산백신및백업프로그램무력화 - 정상윈도우패치를통한자기보호기능 해당악성코드는ASD(Ahnlab Smart Defense) 에의해 9월 13일최초탐지되었다. 4320여대가감염된것으로파악되었으며, 모두국내로추정된다. 해당악성코드는 'http://www.hasshudo.jp/img/ta.jpg' 를통해유포되는것으로분석되었다. 어도비플래시 (Adobe Flash) 의취약점을이용하며드라이버를이용한자체보호기능, MBR을감염시키는부트킷기능이있다. 1. 감염동작의특징가. 동작순서 A. MBR이감염되면 Ntldr을패치하고, Ntoskrnl이로드되면 Call IoitSystem() Instruction을찾아 Call 패치를하여악성드라이버를로드한다. B. 악성드라이버는 Atapi.sys의 Major Function INTERNAL_DEVICE_CONTROL을후킹한다. C. NtCreateProcessEx() SSDT를후킹하여, 자기보호및 AV 프로그램을무력화한다. 나. MBR 의변화 정상적인 PC 시스템의부팅과정은 [ 그림 1-33] 과같다. 악성코드에감염되면, MBR 이변조되어 [ 그림 1-34] 와같이 Start Sector 부터감염코드및악성루트킷, DLL 이저장된다. 악성코드는 EXE 형태의드 롭퍼로, 루트킷을드롭하고서로통신하면서 MBR 감염및자기보호기능을수행한다. 2. 드롭퍼및루트킷상세분석 악성코드는웹을통해드롭퍼를내려받아실행한다. 해당드롭퍼는 UPX 로실행압축되어있으며, FileEngine.sys 라는악성루트킷을드롭하고서비스에등록하여해당드라이버를실행한다. [ 그림 1-35] 는해당드롭퍼에대한간단한설명이다.
Web 19 20 [ 그림 1-35] 드롭퍼및루트킷동작 다른파일로접근하기위해서는 CreateFile() 을이용하여파일의핸들을얻어야하므로, 후킹된코드는위에 설명한파일들의핸들을얻는것을방해한다. 3. 이후 Atapi.sys 의 DeviceType 중 FILE_DEVICE_DISK Type의 DeviceOb/ect를찾고 Disk.sys 를확인한다. DriverEntry의행위는위에서설명한것과같으며, DeviceIoControl() 를이용하여드롭퍼와통신하면서 MBR 감염작업을진행한다. 또한 \\FileSystem\\Ntfs, \\FileSystem\\Fastfat의 Attach Device를모두 0 으로변경하는 1개의 System Thread를실행한다. 원래는 \\FileSystem\\Sr 이 Attach Device로존재하는데, 해당 Device는 FltMgr device와관련이있으며 AV 프로그램및 SystemRestore를무력화한다. 1. 드롭퍼와루트킷은서로통신을하므로루트킷은 Symbolic Link 와같은초기화작업을수행한다. 이후 [ 그림 1-38] Ntfs, FastFat 의 Attach Device 를무력화하는 System Thread nt!iocreatefile() 을 [ 그림 1-36] 과같이메모리패치하여후킹한다. [ 그림 1-36] nt!iocreatefile 후킹을위해메모리패치된부분 2. 후킹에성공했을때, 특정보안제품의 nsvmxx.npc 의프로세스가존재할경우 STATUS_OBJECT_ NAME_NOT_FOUND(0xC0000034) 를리턴하여해당제품을무력화한다. 또한루트킷의경우 XXXEngine. sys, XXXEn~1.sys, XXXSystem.exe, XXXSY~1.EXE, halc.dll 라는이름으로 IoCreateFile() 을실행하면, STATUS_UNSUCCESSFUL( 0xC0000001) 을리턴하여액세스를방해한다. 다시정리하면, 아래와같은문자 열로 CreateFile() 을수행할경우에러를리턴하여실행을방해한다. 해당코드는 [ 그림 1-39] 와같다. [ 그림 1-39] System Thread 코드 - XXXEngine.sys, XXXEn~1.sys XXXSystem.exe, XXXSY~1.EXE, halc.dll [ 그림 1-37] 은위의문자열을비교하여에러를리턴하는코드다. [ 그림 1-37] nt!iocreatefile 이후킹되었을때실행되는코드 코드에대해간단히설명하면, ObReferenceObjectByName() 을이용하여 Driver 이름으로 Driver Object를얻을수있다. 그후 Driver Object에서 Device Object를얻어와 Attach Device를찾는다. Attach Device의값을 0x0으로변경하면해당드라이버의 Attach Device는없어진다. 이러한동작은AV 프로그램과 System Restore를무력화하는데이용된다. 4. 드롭퍼와 DeviceIoControl() 을이용하여통신하며 MBR 감염을시작한다. 먼저정상 MBR 을 0x9C Key 로 XOR 1byte 암호화한뒤백업하는작업을수행하며, 암호화를진행하는코드 는 [ 그림 1-40] 과같다.
Web 21 22 [ 그림 1-40] 0x9C 1byte XOR 암호화루틴 C. 패치된 Atapi.sys Major Function 은아래와같이 STATUS_ACCESS_DENIED (0xC0000022) 코드를리턴 하여감염이후의 MBR 변조를막는다. [ 그림 1-43] 패치된코드 A. 드롭퍼는설치된루트킷과통신하며, 자신의코드를루트킷을이용하여 Start Sector 에저장한다. Start Sector 에저장된모듈은감염된 MBR 에의해로드되는것이다. [ 그림 1-41] Start Sector 에쓰여진데이터 E. SCSI_REQUEST_BLOCK 구조체의 CDB 구조체를검사하여 MBR 에대한접근을 STATUS_ACCESS_ DENIED (0xC0000022) 리턴하여방해한다. [ 그림 1-44] Write Cdb 구조체 드롭퍼는루트킷과통신하기위해 DeviceIoControl() API 를사용하는데, 이때인자중 IOCTL_CODE Operation code 와 LBA 를확인한후 Sector 부분을직접수정하는것을방해한다. 0x222014 는악성코드가필요한데이터를 Start Sector 에쓰는기능을한다. [ 그림 1-41] 을보면, 첫번째 4byte 는 Sector 의위치, 두번째 4byte 는쓰여질크기이며나머지는코드다. B. IOCTL_CODE 0x222020 은 Atapi.sys 의 Major Function INTERNAL_DEVICE_CONTROL 을후킹하여 Start Sector 에대한 Write 기능을무력화한다. [ 그림 1-42] 후킹된 Atapi.sys INTERNEL_DEVICE_CONTROL Major Function
Web 23 24 3. 감염된 MBR 및부트킷분석 가. 감염된 MBR [ 그림 1-47] ntoskrnl.exe 마지막세션에저장된악성코드 감염된 MBR 은 [ 그림 1-34] 와같이 Interrupt 13h 을후킹하여저장된코드를읽어오고실행한다. [ 그림 1-45] 는감염된 MBR 코드다. [ 그림 1-45] 감염된 MBR 코드 이후진행되는코드는드라이버를메모리에로드후해당드라이버로접근하는코드다. 나. 부트킷해당부트킷의역할은다음과같다. 1. C:\Windows 디렉터리에 lpk.dll 명으로파일을생성한다.(DLL Preloading) 2. CreateProcessEx() SSDT 후킹하여 AV 프로그램및복원프로그램을무력화한다. 3. Atapi.sys 의 Major Function을후킹한다. 1. Start Sector Offset 0x1A00 에서악성 DLL을읽어온다. 해당악성코드는이전의드롭퍼에의해생성된 halc.dll과같은코드로읽어들인악성 DLL을 lpk.dll로 Windows 디렉터리에저장한다. 이를통하여 Explorer. exe 나 Notepad.exe와같이 Windows 디렉터리에같이있으면악성 lpk.dll이먼저실행된다. [ 그림1-48] 악성 lpk.dll 실행모습 1. Int 13h 를후킹후, 원본 MBR 코드를복호화하여 MBR 영역에덮어쓴후실행한다. 후킹된 Int 13h 코드는 Ah 가 0x42, 0x2 일때후킹된코드로넘어가는데, 0x2 는 Read Setors From Drive 이며 0x42 는 Extended Read Sectors From Drive 로모두 Read 와관련있다. 2. 이후 Ntldr(osloader.exe) 에서 0x15FF 를찾아 Call 을패치한다. Ntldr(osloader.exe) 에의해패치된 코드는 ntoskrnl.exe 로드시점에서 Call InitSystem() 명령어를찾아해당 Call 을다시한번패치한다. [ 그림 1-46] Ntldr(osloader.exe) Call 패치 2. 이후, AV 프로그램과복원프로그램을무력화하기위해 CreateProcessEx() 를 SSDT 후킹한다. 해당루 트킷에저장된문자열과비교하여같으면, 해당프로그램의상태정보를 0xC0000022 로 0xC0000022 STATUS_ACCESS_DENIED 를리턴하여해당프로세스를실행하지못하게한다. [ 그림 1-49] CreateProcessEx() SSDT 후킹 3. 악성코드는 ntoskrnl.exe 마지막섹션에서실행할코드를저장한다. 해당코드는 Start Sector에저장된드라이버를읽어와메모리할당후실행한다. TDL4와마찬가지방법으로 64bit 코드로컴파일되었다면 Sign 체크를우회할수있을것이다. ntoskrnl.exe 마지막섹션에서실행할코드는Nt!IoItSystem() 의호출코드를패치하였기때문에, 먼저 IoinitSystem() 를실행한다.
Web 25 26 [ 그림 1-50] 은후킹된코드로무력화할대상보안프로그램의프로세스이름을확인, 비교하여 STATUS_ ACCESS_DENIED 를리턴한다. [ 그림 1-50] AV 무력화코드 3. 마지막으로 Atapi.sys 의 Major Function 을후킹하여자신을보호한다. 이후진행되는코드는드라이버를메모리에로드후해당드라이버로접근하는코드다. 해당부트킷은 TDL4 와같이 64bit 시스템에서도동작하며감염된 MBR 에의해백신프로그램보다먼저실 행되기때문에백신이무력화된다. 해당악성코드는취약점에의해전파되므로최신패치의적용이필요하 며, 앞으로도루트킷과 MBR 를감염시키는악성코드가많이발생할수있으므로주의가요구된다. TDL4 참고 : 월간安 Vol 2011.10 (http://download.ahnlab.com/kr/site/magazineahn/ahn_201110.pdf) 악성 lpk.dll 은 UPX 로실행압축되어있으며 [ 그림 1-51] 의문자열에서보는바와같이 DNS 변조및 host 파일변조, 다운로드등봇 (bot) 의기능이있다. [ 그림 1-51] AV 무력화코드
Web 27 Web 28 Web 02. 시큐리티동향 a. 시큐리티통계 03. 웹보안동향 a. 웹보안통계 10월 MS보안업데이트현황마이크로소프트사가제공하는이달의보안업데이트는 8건이며, 총 8건의패치가발표되었다. 긴급을요하는것은 2건으로비교적낮은편이었다. 긴급을요하는패치중인터넷익스플로러누적보안업데이트에는개별적으로보고된총 8건의원격코드실행취약점문제가해결되었다. 웹사이트보안요약안철수연구소의웹브라우저보안서비스사이트가드 (SiteGuard) 를통해웹사이트보안통계자료에따르면, 산출한 2011년 10월악성코드를배포하는웹사이트의차단건수는 25,761건이다. 또한악성코드유형은 685건이며, 악성코드가발견된도메인은 397건, 악성코드가발견된 URL은 2,698건이 10 11 12 1 2 3 4 5 6 7 8 9 10 [ 그림 2-1] 공격대상기준별 MS 보안업데이트 2010.10-2011.10 다. 2011 년 10 월에는 2011 년 9 월보다악성코드발견건수, 악성코드유형, 악성코드가발견된도메 인, 악성코드가발견된 URL 이전반적으로감소하였다. 악성코드배포 URL 차단건수 39,740 25,761 악성코드유형악성코드가발견된도메인악성코드가발견된 URL 792 685 [ 표 3-1] 웹사이트보안요약 월별악성코드배포 URL 차단건수 2011 년 10 월악성코드배포웹사이트 URL 접근에따른차단건수는지난달 39,740 건에비해 65% 수준인 25,761 건에그쳤다. -35.2% 522 397 3,351 2,698 2011.09 2011.10 위험도 긴급 취약점.NET 프레임워크및실버라이트의취약점으로인한원격코드실행 (MS11-078) 150,000 125,000 긴급 인터넷익스플로러누적보안업데이트 (MS11-081) 중요 마이크로소프트 Active Accessibility의취약점으로인한원격코드실행 (MS11-075) 중요 Windows Media Center의취약점으로인한원격코드실행문제점 (MS11-076) 중요 Windows 커널모드드라이버의취약점으로인한원격코드실행 (MS11-077) 중요 Forefront Unified Access Gateway의취약점으로인한원격코드실행 (MS11-079) 중요 Ancillary Function 드라이버의취약점으로인한권한상승 (MS11-080) 중요 Host Integration 서버취약점으로인한서비스거부 (MS11-082) [ 표 2-1] 2011년 10월주요 MS 보안업데이트 100,000 75,000 50,000 25,000 0 68,406-53.0% [ 그림 3-1] 월별악성코드발견건수 -28,666 39,740-41.9% 25,761-35.2% -13,979 2011.08 2011.09 2011.10
Web 29 30 월별악성코드유형 악성코드유형별배포수 2011 년 10 월악성코드유형은전달의 792 건의 86% 수준인 685 건이다. 악성코드유형별배포수에서트로이목마가 8,830 건으로전체의 34.3% 로가장많았고, 애드웨어가 1,000 800 600 400 200 0 [ 그림 3-2] 월별악성코드유형 827 +18.2% 월별악성코드가발견된도메인 -35 792-4.2% 2011 년 10 월악성코드가발견된도메인은전달의 522 건에비해 76% 수준인 397 건이다. -107 685-13.5% 2011.08 2011.09 2011.10 7,491건 /29.1% 로 2위였다. 유형 건수 비율 TROJAN 8,830 34.3 % ADWARE 7,491 29.1 % DROPPER 2,356 9.1 % DOWNLOADER 699 2.7 % Win32/VIRUT 437 1.7 % JOKE 378 1.5 % APPCARE 251 1.0 % SPYWARE 40 0.1 % ETC 5,279 20.5 % 25,761 100 % [ 표 3-2] 악성코드유형별배포수 TROJAN 8,830 ADWARE 7,491 10,000 1,000 800 600 400 200 0 650-18.2% 522-19.7% 397-128 -23.9% -125 DROPPER ETC 5,279 2,356 DOWNLOADER 699 Win32/VIRUT 437 JOKE 378 APPCARE 251 SPYWARE 40 [ 그림 3-5] 악성코드유형별배포수 5,000 0 [ 그림 3-3] 월별악성코드가발견된도메인 2011.08 2011.09 2011.10 월별악성코드가발견된 URL 2011년 10월악성코드가발견된 URL은전달의 3,351건에비해 81% 수준인 2,698건이다. 악성코드배포순위악성코드배포순위는 Win-Adware/ToolBar.Cashon.308224가 2,938건으로가장높았으며 Packed/ Upack, Dropper/Small.Gen 등 4건이 Top10에새로등장하였다. 순위등락악성코드명건수비율 5,000 4,000 3,000 2,000 1,000 0 4,076-16.2% [ 그림 3-4] 월별악성코드가발견된 URL -787 3,351-17.8% -653 2,698-19.5% 2011.08 2011.09 2011.10 1 Win-Adware/ToolBar.Cashon.308224 2,938 28.7 % 2 2 Win-Adware/FunWeb.210992.D 1,228 12.0 % 3 4 Win-Trojan/Buzus.430080.J 1,154 11.3 % 4 5 Win-Trojan/StartPage.40960.AH 857 8.4 % 5 2 Dropper/Kgen.225280.M 765 7.5 % 6 NEW Packed/Upack 739 7.2 % 7 NEW Dropper/Small.Gen 705 6.9 % 8 2 Win32/Induc 698 6.8 % 9 NEW Win-Trojan/Peed.44416.B 588 5.7 % 10 NEW ALS/Bursted 555 5.5 % 10,227 100.0 % [ 표 3-3] 악성코드배포 Top 10
Web 31 VOL. 22 ASEC REPORT Contributors 03. 웹보안동향 b. 웹보안이슈 집필진책임연구원선임연구원선임연구원주임연구원연구원 정관진안창용장영준이도현이도한 2011년 10월침해사이트현황 [ 그림 3-6] 2011년 10월악성코드유포목적의침해사이트현황 200 180 160 140 120 100 80 60 40 20 0 1 2 3 4 5 6 7 8 9 10 11 12 [ 그림 3-6] 은악성코드유포를목적으로하는침해사고가발생했던사이트의현황이다. 2011년 10월의경우, 9월보다그수가상당히감소하였으나원인은불분명하다. 참여연구원 ASEC 연구원 SiteGuard 연구원 편집장 선임연구원 안형봉 편집인 안철수연구소 마케팅실 디자인 안철수연구소 UX디자인팀 감수상 무 조시행 [ 표 3-4] 침해사이트를통해서유포된악성코드 Top 10 순위 악성코드명 건수 1 Dropper/Win32.OnlineGameHack 32 2 Win-Trojan/Onlinegamehack55.Gen 29 2 Win-Trojan/Onlinegamehack56.Gen 29 4 Win-Trojan/Onlinegamehack69.Gen 20 5 Win-Trojan/PatchedImm5.Gen 15 6 Dropper/Win32.OnlineGameHack 11 7 Win-Trojan/Onlinegamehack.84992.CC 11 8 Dropper/Win32.OnlineGameHack 10 9 Win-Trojan/PatchedImm7.Gen 9 10 Dropper/Win32.Rootkit 9 발행처 ( 주 ) 안철수연구소경기도성남시분당구삼평동 673 ( 경기도성남시분당구판교역로 220) T. 031-722-8000 F. 031-722-8901 [ 표 3-4] 는한달간침해사이트를통해서가장많이유포된악성코드 Top 10이다. 2011년 10월의경우 Dropper/Win32.OnlineGameHack 이 32개의사이트에서유포됐다. 1, 6, 8위의경우진단명은같지만온라인게임사용자의계정정보를탈취하기위해각기다른사이트에서유포되었다. Disclosure to or reproduction for others without the specific written authorization of AhnLab is prohibited. Copyright (c) AhnLab, Inc. All rights reserved.