Security Trend ASEC REPORT VOL.83 November, 2016
ASEC REPORT VOL.83 November, 2016 ASEC(AhnLab Security Emergency response Center) 은악성코드및보안위협으로부터고객을안전하게지키기위하여보안전문가로구성된 글로벌보안조직입니다. 이리포트는주식회사안랩의 ASEC 에서작성하며, 매월발생한주요보안위협과이슈에대응하는최신보안기술에대한요약정 보를담고있습니다. 자세한내용은안랩닷컴 (www.ahnlab.com) 에서확인하실수있습니다. 2016 년 11 월보안동향 1 보안통계 STATISTICS 01 악성코드통계 02 웹통계 03 모바일통계 Table of Contents 4 6 7 2 보안이슈 SECURITY ISSUE 01 악성 SWF 파일속숨겨진랜섬웨어주의! 02 워드폼개체를활용한악성코드 : VBA 매크로주의보 10 12 3 악성코드상세분석 ANALYSIS-IN-DEPTH 01 변화를거듭하는록키랜섬웨어변종 3 종분석 16 2
1 보안통계 STATISTICS 01 악성코드통계 02 웹통계 03 모바일통계
보안통계 01 악성코드통계 Statistics ASEC이집계한바에따르면, 2016년 11월한달간탐지된악성코드수는 865만 1,224건으로나타났다. 이는전월 970만 118건에비해 104만 8,894건감소한수치다. 한편 11월에수집된악성코드샘플수는 459만 540건이다. 30,000,000 20,000,000 10,000,000 9,000,000 9,700,118 8,999,000 8,651,224 6,000,000 5,000,000 4,000,000 3,000,000 2,000,000 1,000,000 5,067,805 4,348,813 4,590,540 탐지건수샘플수집수 9 월 10 월 11 월 [ 그림 1-1] 악성코드추이 (2016 년 9 월 ~ 2016 년 11 월 ) * 탐지건수 란고객이사용중인 V3 등안랩의제품이탐지한악성코드의수를의미하며, 샘플수집수 는안랩이자체적으로수집한전체악성코드의샘플수를의미한다. 4
[ 그림 1-2] 는 2016 년 11 월한달간유포된악성코드를주요유형별로집계한결과이다. 트로이 목마 (Trojan) 계열의악성코드가 36.62% 로가장높은비중을차지했고, 불필요한프로그램인 PUP(Potentially Unwanted Program) 가 23.65%, 웜 (Worm) 이 7.85% 의비율로그뒤를이었다. 3.84% 7.85% 2.31% 36.62% 23.65% 25.73% Trojan etc PUP Worm Adware Downloader [ 그림 1-2] 2016 년 11 월주요악성코드유형 [ 표 1-1] 은 11 월한달간탐지된악성코드중 PUP 를제외하고가장빈번하게탐지된 10 건을진단명기준 으로정리한것이다. Trojan/Win32.Starter 가총 22 만 8,433 로가장많이탐지되었고, Trojan/Win32. Banki 가 18 만 9,681 건으로그뒤를이었다. [ 표 1-1] 2016년 11월악성코드탐지최다 10건 ( 진단명기준 ) 순위 악성코드진단명 탐지건수 1 Trojan/Win32.Starter 228,433 2 Trojan/Win32.Banki 189,681 3 Malware/Win32.Generic 184,113 4 Worm/Win32.IRCBot 141,246 5 Dropper/Win32.Betabot 119,983 6 Unwanted/Win32.HackTool 116,770 7 Trojan/Win32.Cerber 82,922 8 Trojan/Win32.Neshta 75,557 9 Trojan/Win32.Agent 74,760 10 Trojan/Win32.Nitol 66,233 5
보안통계 02 웹통계 Statistics 2016 년 11 월에악성코드유포지로악용된도메인은 10,193 개, URL 은 11,165 개로집계됐다 ([ 그림 1-3]). 또한 11 월의악성도메인및 URL 차단건수는총 396 만 3,654 건이다. 7,000,000 6,000,000 5,000,000 4,605,999 4,000,000 3,924,516 3,963,654 3,000,000 50,000 40,000 30,000 20,000 10,000 1,481 2,926 1,464 3,294 10,193 11,165 악성도메인 /URL 차단건수 악성코드유포도메인수 0 9 월 10 월 11 월 악성코드유포 URL 수 [ 그림 1-3] 악성코드유포도메인 /URL 탐지및차단건수 (2016 년 9 월 ~2016 년 11 월 ) * 악성도메인및 URL 차단건수 란 PC 등시스템이악성코드유포지로악용된웹사이트에접속하는것을차단한수이다. 6
보안통계 03 모바일통계 Statistics 2016 년 11 월한달간탐지된모바일악성코드는 36 만 8,605 건으로나타났다. 700,000 600,000 500,000 400,000 389,745 393,374 368,605 300,000 200,000 100,000 0 9 월 10 월 11 월 [ 그림 1-4] 모바일악성코드추이 7
[ 표 1-2] 는 11 월한달간탐지된모바일악성코드유형중상위 10 건을정리한것이다. Android-PUP/ Baogifter 가가장많이발견되었다. [ 표 1-2] 2016 년 11 월유형별모바일악성코드탐지상위 10 건 순위악성코드진단명탐지건수 1 Android-PUP/Baogifter 67,949 2 Android-PUP/SmsPay 43,976 3 Android-Trojan/SmsSpy 28,329 4 Android-PUP/Agent 24,761 5 Android-PUP/Shedun 18,916 6 Android-Trojan/Moavt 18,747 7 Android-PUP/SmsReg 15,548 8 Android-Trojan/SmsSend 13,044 9 Android-Trojan/Agent 11,076 10 Android-PUP/Noico 7,615 8
2 보안이슈 SECURITY ISSUE 01 악성 SWF 파일속숨겨진랜섬웨어주의! 02 워드폼개체를활용한악성코드 : VBA 매크로주의보
보안이슈 01 악성 SWF 파일속숨겨진랜섬웨어주의! Security Issue 랜섬웨어가점점진화된유포방식으로사용자들을끊임없이위협하고있는가운데, 최근록키 (Locky), 케르베르 (Cerber) 와같은랜섬웨어를다운로드하여실행하는 SWF 형식의플래시파일 (Flash File) 이유포되어사용자들의주의가필요하다. 해당스크립트코드는파일실행시 [ 그림 2-2] 와같은일련의과정을통해내부에암호화된데이터를복호화하는데, 내부데이터복호화과정중특이사항은 3 복호화 에해당하는스크립트코드가정상적으로파싱 (parsing) 되지않는다는점이다. 랜섬웨어다운로드를목적으로하는악성플래시파일의대다수는웹서버에서동작하는공격용소프트웨어인익스플로잇킷 (Exploit Kit) 을통해유포되는데, 이번에발견된악성 SWF 파일은내부에암호화된플래시파일을가지고있는유형이다. 먼저해당악성 SWF 파일의내부구조를살펴보자. [ 그림 2-1] 과같은파일구조로되어있으며, 스크립트코드를살펴보면플래시파일에서사용하는스크립트언어인액션스크립트 (ActionScript) 를사용하고있다. 그림 2-1 플래시파일구조와스크립트코드 그림 2-2 내부데이터복호화과정 10
그림 2-5 복호화후생성된플래시파일구조및스크립트 그림 2-3 정상파싱이되지않은스크립트코드 [ 그림 2-3] 과같이정상파싱이되지않은해당스크립트코드는 [ 그림 2-4] 와같은 XOR 연산을거쳐복호화된다. 복호화가완료되면압축된형태의플래시파일을확인할수있다. 이때압축라이브러리인 zlib 을사용하여압축된해당플래시파일의시그니처는 CWS 다. 그림 2-4 XOR 연산과정 실제악성코드실행과정에서는내부파일이메모리내에서복호화되어실행되기때문에파일로생성되지않아직접확인이불가능하하다. 그러나메모리덤프를통해 [ 그림 2-5] 와같이복호화후생성된플래시파일을확인할수있다. 최근익스플로잇킷을통해유포된플래시파일은내부에쉘코드 (Shellcode) 나또다른악성파일을가지고있는경우가많다. 또한파라미터를통해악성코드다운로드 URL을전달받아랜섬웨어를다운로드하는기능을가지고있다. 이번에발견된악성 SWF 파일을또한동일한기능을가지고있으며, 추가로플래시파일내부에암호화된데이터가존재하여복호화시또다른악성플래시파일을확인할수있다. 이번사례와같이주요응용프로그램취약점을이용하는익스플로잇킷의공격으로인한피해를예방하기위해서는확인되지않은사이트나불필요한사이트이용을자제하는것이바람직하다. 또한 OS 및주요응용프로그램의최신보안패치를적용하고 V3 등백신프로그램의엔진을항상최신버전으로유지하는것이중요하다. V3 제품에서는해당유형의악성플래시파일을다음과같은진단명으로탐지하고있다. <V3 제품군의진단명 > SWF/Exploit (2016.09.02.00) 11
보안이슈 02 워드폼개체를활용한악성코드 : VBA 매크로주의보 Security Issue 마이크로소프트오피스워드 (Microsoft Office Word) 파일을이용한보안위협은지속적으로발견되고있는위협중하나다. 사용자수가많은만큼워드파일을이용한보안위협이꾸준히증가하고있는가운데, 최근에는사회공학기법 (Social Engineering) 을이용하여스팸메일을통해유포된악성워드파일이발견되어사용자들의각별한주의가필요하다. 공격자는 [ 그림 2-6] 과같이워드프로그램의사용자정의폼기능을악용하여악성코드를유포했다. 해당악성코드는응용프로그램의확장을위한프로그래밍언어인 VBA(Visual Basic for Applications) 매크로를이용하고있다. 사용자정의폼내부에암호화된쉘코드 (Shellcode) 와숨겨진악성실행파일을통해정상프로세스에인젝션 (Injection) 되어악성행위를수행하는방식이다. 해당악성워드파일은먼저 [ 그림 2-7] 과같은본문이미지를통해사용자의매크로실행을유도한다. 그림 2-7 본문이미지 공격자가악용한사용자정의폼기능은 체크박스, 라디오버튼, 텍스트박스 등과같이응용프로그램과사용자의상호작용을위해필요한컨트롤들을사용자가직접작성하는기능이다. [ 그림 2-8] 과같이 VBA 편집기내부의 VBA 프로젝트에서확인할수있다. 그림 2-6 악성행위수행과정 그림 2-8 매크로와사용자정의폼 12
매크로는 사용자 정의 폼 내부에 암호화된 쉘코드를 매크로는 모듈 내부의 RtlMoveMemory, 복호화한 후 실행하기 위해 [그림 2-9]와 같이 사용자 VirtualAllocEx, EnumTimeFormatsW API를 사 정의 폼 내의 탭스트립(TabStrip) 컨트롤에 접근한다. 용하여 복호화된 쉘코드를 실행시킨다. 이때 쉘코드는 [그림 2-12]와 같이 워드 프로그램의 프로세스 메모리 영역 안에서 특정 마커(Marker)를 비교하는 루틴을 통해 암호화된 악성 실행 파일의 위치를 찾게 된다. 에그 헌팅(egg hunting)이라고 부르는 이와 같은 기 그림 2-9 탭스트립(TabStrip) 컨트롤을 이용하는 매크로 이때 쉘코드에 해당하는 데이터는 워드 파일을 압축 법은 최초 쉘코드를 통해 특정 마커와 동일한 태그를 가진 실제 메인 코드를 찾아 실행시키는 일련의 과정 을 의미한다. 해제할 때 생성되는 바이너리 파일 내부에서도 확인 가능하다. 그림 2-10 암호화된 쉘코드 그림 2-12 특정 마커를 찾는 루틴(위), 해당 마커가 포함된 데이터(아래) 매크로 코드는 [그림 2-9]에서 가져온 데이터를 복호 화하는 작업을 수행하는데, 해당 복호화 작업을 도식 화하면 [그림 2-11]과 같다. 그림 2-11 쉘코드 복호화 과정 쉘코드가 특정 마커를 가진 메모리 영역을 발견하면 [그림 2-13]과 같은 코드를 통해 마커 뒷부분에 존재 하는 데이터를 1차 복호화한다. 그림 2-13 1차 복호화(위), 복호화 후 생성되는 데이터(아래) 13
1차복호화후생성된데이터를 Base64 디코딩과정을거쳐 2차복호화하면 [ 그림 2-14] 와같이실제악성행위를수행하는실행파일을확인할수있다. 이후쉘코드는정상프로세스에생성된실행파일을인젝션하기위한준비를한다. 그림 2-16 인젝션된파일이수행하는악성행위 그림 2-14 Base64 디코딩과정을통해생성된실행파일 ( 일부 ) [ 그림 2-15] 와같이현재실행되고있는운영체제환경에따라인젝션대상프로세스가달라지는데, 32 비트계열에서는 %windir%\explorer.exe 파일을, 64비트계열인경우에는 %windir%\syswow64\ svchost.exe 파일을절전모드 (Suspend Mode) 로실행하여인젝션행위를수행한다. 이번사례처럼 VBA 매크로와사용자정의폼을이용한악성워드파일은사회공학적기법을이용한스팸메일을통해유포되는경우가많다. 또한문서파일내부의이미지를통해사용자로하여금큰의심없이매크로를실행시키도록유도하기때문에주의해야한다. 따라서사용자는출처를알수없는메일의첨부파일실행을되도록삼가고확인되지않은문서파일내부의매크로를실행할때에는각별한주의가필요하다. V3 제품에서는해당파밍악성코드를다음과같은진단명으로탐지하고있다. <V3 제품군의진단명 > W97M/Hancitor (2016.11.24.07) 그림 2-15 인젝션대상프로세스 (64 비트 ( 위 ), 32 비트 ( 아래 )) 정상프로세스로위장하기위한인젝션이완료되면 [ 그림 2-16] 과같이감염 PC 의사용자및시스템정보등을 C&C 주소로전송한다. 또한해당주소로부터명령을받아악성파일을다운로드하고추가인젝션행위등을수행한다. 14
3 악성코드상세분석 ANALYSIS-IN-DEPTH 01 변화를거듭하는록키랜섬웨어변종 3 종분석
악성코드상세분석 01 변화를거듭하는록키랜섬웨어변종 3 종분석 Analysis-In-Depth 록키 (Locky) 랜섬웨어의변신은끝이없다. 2016년 2월처음등장한이후현재까지활발하게발견되고있을뿐만아니라지속적으로신 변종으로진화하고있다. 록키랜섬웨어는봇넷을통해스팸메일의첨부파일로대량유포되는것이특징이며, 위장하는첨부파일의형식또한기존 DOCX 형태의문서파일을시작으로 JS(Java Script), WSF(Windows Script File), HTA(Hyper-Text Application), 그리고최근에는윈도우바로가기형식의 LNK까지등장했다. 사용자 PC의파일들을암호화한후변경하는파일의확장자명도지속적으로변화해왔다. 초기의.locky 를시작으로.zepto,.odin,.shit,.thor 에이어.aesir 라는확장자명을가진변형까지최근새롭게발견됐다. 유포방식은기존록키랜섬웨어와동일하게스팸메일에포함된첨부파일형식이며, 사용자가메일에첨부된다운로더를실행하면실제랜섬웨어행위를수행하는악성실행파일이다운로드되는방식이다. 확장자명을변경하며끊임없이변화를거듭하고 있는록키랜섬웨어변종 3종 (shit, thor, aesir) 을자세히살펴보자. 1. 확장자명을.shit 으로변경하는록키랜섬웨어기존록키랜섬웨어와동일하게 JS(Java Script) 파일형식을통해유포된이록키랜섬웨어의특징은일반적으로 ZIP 파일형식으로압축된것이다. 사용자가해당 ZIP 파일의압축을해제한뒤내부의 JS 파일을더블클릭하여실행하는순간, [ 그림 3-1] 과같은랜섬웨어다운로더를통해감염이시작된다. 그림 3-1 난독화되어있는 Java Script 형식의랜섬웨어다운로더 난독화된랜섬웨어다운로더의스크립트가실행되면 [ 표 3-1] 의 IP와 URL 주소로접속하여악성 DLL 파일을다운로드한다. 16
표 3-1 DLL 파일을다운로드하는 URL과 IP 정보 coreywallace.com/qjkrlxp 74.220.199.24:80 그후, [ 표 3-2] 의경로에 DLL 파일을생성한뒤, 기존록키랜섬웨어와마찬가지로해당파일을 rundll32.exe를통해로드하여파일암호화를진행한다. 2. 확장자명을.thor 로변경하는록키랜섬웨어앞서다룬확장자명을.shit 으로변경하는록키랜섬웨어에이어, 하루만에등장한또다른변종은확장자명을.thor 로변경하는록키랜섬웨어다. 전체적인감염과정은앞서살펴본확장자명을.shit 으로변경하는랜섬웨어와동일하다. [ 그림 3-3] 과같이영문으로된스팸메일에 ZIP 파일을첨부하여유포하는특징또한동일하다. 표 3-2 악성 DLL 파일이 PC 에저장되는경로 C:\Documents and Settings\Administrator\Local Settings\Temp\VFVGY7may1.dll 결과적으로해당랜섬웨어에감염되면, 사용자 PC 내파일들은 [ 그림 3-2] 와같이암호화되어파일명과확장자명이변경된다. 파일명은총 32자의문자열로변경되며, 앞의 16자의문자열은고정되어있는것으로보아감염된 PC의고유값인것으로추정된다. 또한확장자명으로.shit 이추가된다. 이전록키랜섬웨어의확장자명은기존.locky 에서.zepto 로변경되는데 4개월,.zepto 에서.odin 으로변경되는데 3개월소요된것에반해, 이와같은.shit 확장자명은약 1달만에변경되는특징을보였다. 그림 3-3 기존록키랜섬웨어유포방식과동일한스팸메일 단, 확장자명을.shit 으로변경하는록키랜섬웨어는 ZIP 파일내부에 JS(Java Script) 가포함되어있었던반면, 이번에발견된.thor 록키랜섬웨어는 [ 그림 3-4] 와같이 VBS(Visual Basic Script) 파일을포함하고있다. 그림 3-2 암호화후추가되는확장자명.shit 그림 3-4 ZIP 파일내부에포함된 VBS(Visual Basic Script) 파일 17
또한, ZIP 파일내부에있는 VBS 파일은 [ 그림 3-5] 와 같이기존 JS 와동일하게알아보기어렵도록난독화 되어있다. 그림 3-7 실행파일다운로드 유포지의 URL 주소정보는 [ 표 3-3] 과같다. 표 3-3 유포지 URL 주소 그림 3-5 난독화되어있는 VBS (Visual Basic Script) 형식의랜섬웨어다운로더 hxxp://ovsz.ru/08yhrf3 hxxp://pppconstruction.co.za/08yhrf3 hxxp://propfisher.com/08yhrf3 암호화가완료되면확장자명을변경하는록키랜섬웨어변종과마찬가지로 [ 그림 3-6] 과같이확장자명을.thor 로변경한다. 그리고기존록키랜섬웨어와같이파일명은총 32자의문자열로변경되는데, 앞에 16자는고정되어있는것으로보아감염된 PC의고유값인것으로보인다. 다운로더에의해실행된파일은사용자 PC의 %Temp% 폴더에암호화된형태로생성된다. 해당파일은복호화후정상적인동적링크라이브러리 (DLL) 파일로변환된뒤, [ 그림 3-9] 와같이윈도우 (Windows) 정상프로세스인 Rundll32.exe 에인젝션되어실행된다. 그림 3-6 암호화후추가되는확장자명.thor 3. 확장자명을.aesir 로변경하는록키랜섬웨어이번엔확장자명을.aesir 로변경하는록키랜섬웨어변종을살펴보자. 해당랜섬웨어는전형적인록키랜섬웨어유포방식처럼스팸메일의첨부파일로다운로더가유포되는데, 이때다운로더를실행하면 [ 그림 3-7] 과같이실제랜섬웨어행위를수행하는악성실행파일이다운로드된다. 그림 3-8 인코딩된실행파일 ( 위 ) / 디코딩된실행파일 ( 아래 ) 그림 3-9 Rundll32.exe 에인젝션된 DLL 파일 18
Rundll32.exe가실행된후바로파일암호화가진행되지않고, 일정시간이경과한다음파일암호화가진행된다. 최종적으로암호화가완료되면 -INSTRUCTION.bmp, -INSTRUCTION.html 파일명을가진랜섬웨어감염알림메시지가출력되며, [ 그림 3-10] 과같이파일의확장자명이.aesir 로변경된것을확인할수있다. 앞서살펴본이들록키랜섬웨어변종에감염되면 [ 그림 3-11] 과같은화면이나타난다. 출력되는메시지는기존록키랜섬웨어와크게다르지않다. 랜섬웨어를이용한보안위협은점점고도화되고있다. 일단랜섬웨어에감염되어파일이암호화되면거의복구하기어렵다. 따라서다른어떤악성코드보다랜섬웨어는사전예방이중요하다. 랜섬웨어피해예방을위해평소 OS 및주요프로그램의최신보안업데이트를적용하고, 중요한데이터는주기적으로백업을해두는것이바람직하다. 그림 3-10 암호화후추가되는확장자명.aesir V3 제품에서는해당록키랜섬웨어변종을다음과같은진단명으로탐지하고있다. <V3 제품군의진단명 > Trojan/Win32.Locky (2016.11.24.03) JS/Obfus.S158 (2016.10.25.05) 그림 3-11 암호화완료뒤출력되는메시지 JS/Obfus.S166 (2016.11.24.05) Downloader/VBS.Agent (2016.10.29.00) 19
ASEC REPORT VOL.83 November, 2016 집필 안랩시큐리티대응센터 (ASEC) 발행처 주식회사안랩 편집 안랩콘텐츠기획팀 경기도성남시분당구판교역로 220 디자인 안랩디자인팀 T. 031-722-8000 F. 031-722-8901 본간행물의어떤부분도안랩의서면동의없이복제, 복사, 검색시스템으로저장또는전송될수없습니다. 안랩, 안랩로고는안랩의등록상표입니다. 그외다른제품또는회사이름은해당소유자의상표또는등록상표일수있습니다. 본문서에수록된정보는고지없이변경될수있습니다. 2016 AhnLab, Inc. All rights reserved.