보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

사례로 살펴보는 랜섬웨어 감염경로 분석방안

2017.09.04

17,251


 

서비스사업본부 보안분석팀 김미희

 

 

1. 개요

 

이달 3일 영국 일간지 가디언은 비트코인 추적업체 엘립픽(Elliptic)을 인용하여, ‘워너크라이(WannaCry) 랜섬웨어’와 연관된 3개의 비트코인 계좌에서 피해자들로부터 갈취한 약 1억 6천 만원 상당의 비트코인이 빠져나갔다고 보도했다.

 

국내에서는 인터넷 웹 호스팅업체 ‘인터넷나야나’가 ‘에레보스(Erebus) 랜섬웨어’에 감염되었고, 인터넷나야나는 데이터를 회복하는 대가로 해커에게 약 13억원을 지불하기로 합의해 큰 충격을 주었다. 나야나 측의 입장에서는 고객의 데이터를 보호하기 위한 어쩔 수 없는 선택이지만, 다른 한편으로는 범죄집단과 몸값을 협상했다는 점에서 ‘최악의 선례’라는 의견도 있다.

 

이처럼 2017년 상반기에는 정보보안 사고의 원인이 랜섬웨어인 경우가 많았다. 따라서 이번 호에서는 랜섬웨어 피해를 최소화 할 수 있도록 랜섬웨어 감염원인과 감염된 PC의 원인을 분석하는 방법에 대해서 알아보고자 한다.

 

 

2. 무엇이 랜섬웨어를 급증하게 하는가?

 

랜섬웨어가 감염된 PC를 분석하기에 앞서 랜섬웨어 감염경로와 급증한 원인에 대해서 알아보고자 한다. 기존 랜섬웨어 시장은 랜섬웨어 개발자가 직접 랜섬웨어를 유포하고 범죄수익을 얻는 구조였으나 최근에는 랜섬웨어를 사용자의 입맛에 맞게 주문 제작해주는 대행 서비스(Ransomware as a Service)가 나타났다. 

 

‘서비스형 랜섬웨어’가 등장함에 따라 별다른 해킹지식 없어도 대행업자에게 랜섬웨어 제작을 의뢰하면 제작업체는 일정금액의 수수료만 받고 랜섬웨어를 제작해 주기 때문에 누구나 맞춤형 랜섬웨어를 제작 및 배포할 수 있는 환경이 된 것이다.

 

 

 

[그림 1] 랜섬웨어 공격방법

 

 

2016년 하반기를 점령한 ‘케르베르(CERBER)’랜섬웨어가 서비스형 랜섬웨어의 대표적인 사례이며 이외에도 랜섬32(Ransom32), 페티야(Petya), 미챠(Mischa) 등 다수의 서비스형 랜섬웨어가 존재하고 있다. 케르베르 랜섬웨어는 스피어 피싱이나 SNS등을 통해서 유포되었다. 서비스형 랜섬웨어 버전인 CERBER4.0 출시 이후 전체 랜섬웨어 감염률의 52%가 서비스형 랜섬웨어일 정도로 서비스형 랜섬웨어는 폭발적으로 증가하고 있다.

 

 

주요버전 (국내)

주요특징

업데이트 날짜

1.0 (CERBER)

암호화된 파일의 확장자 (.cerber)
복구 가이드 파일이름 (#decrypt_my_files#)

2016.3

2.0 (CERBER2)

암호화된 파일의 확장자 (.cerber2)

2016.8

3.0 (CERBER3)

암호화된 파일의 확장자 (.cerber3)
복구 가이드 파일이름 변경 (#help_decrypt#)

2016.9

4.0 (CERBER4)

암호화된 파일의 확장자가 임의의 4자리 문자로 변경
더 많은 암호화 대상 파일 유형
RaaS(서비스형 랜섬웨어) 버전 출시

2016.9

~

2016.10

4.1.5 (CERBER5)

기간에 따라 복호화 비용 추가
복구 가이드 파일 이름 변경 (@_readme_@)
Neutrino and RIG 익스플로잇 이용
유포 방식의 변화 (멀버타이징 방식 추가)

2016.11

4.1.6 (CERBER6)

RSA and RC4 암호화 알고리즘을 병합
봇넷에 연결하여 DDoS 공격을 수행하는 기능 추가

2016.12

 

[표 1] 케르베르 랜섬웨어 주요 버전별 특징 <출처:한국인터넷진흥원, `16년 랜섬웨어 동향 및 `17년 전망>

 

 

 

[그림 2] 2016년 랜섬웨어 감염 현황 <출처:KISA, `16년 랜섬웨어 동향 및 `17년 전망>

 

 

3. 랜섬웨어 감염 시 분석방안

 

‘서비스형 랜섬웨어’ 출현에 따라 랜섬웨어 시장이 커지면서 랜섬웨어 감염사례도 급증하고 있다. 그렇다면 랜섬웨어에 감염되었을 경우, 어떤 방식으로 감염원인을 분석 할 수 있는지에 대해서 알아보자.

 

 

1) 랜섬웨어 종류 파악

 

2017년 상반기만 해도 사탄(Satan), 트럼프락커(TrumpLocker), 크립토실드(CryptoShield), 에레버스(Erebus), 컨피커(Conficker), 페트야(Petya)변종 등 다양한 랜섬웨어들이 기승을 부렸다. 랜섬웨어 종류별로 감염경로, 복구가능여부, 방지대책 등 추후 분석방안에 대한 지표가 될 수 있기 때문에 랜섬웨어의 종류를 파악하는 것이 중요하다.

 

 

2) 감염경로 파악

 

랜섬웨어는 파일에 의해 감염되거나 취약한 사이트를 통해 감염될 수 있다. 감염되는 경로에 따라서 분석방향이 다르기 때문에 랜섬웨어의 감염경로를 파악하는 것이 중요하다.

 

랜섬웨어가 악성코드와 다른 점 때문에 상대적으로 감염경로를 인지하기 용이하다. 악성코드는 특정대상에게 지속적인 공격을 수행하기 때문에 감염사실을 은닉하는 것이 중요하지만, 랜섬웨어의 경우 감염대상이 감염여부를 스스로 인지하여 비용을 지불하게 하는 것이 목적이기 때문에 감염사실을 노출시키게 된다.

 

예를 들어 웹사이트를 열람하는 경우 웹사이트에 비해 상대적으로 보안이 취약한 광고서버를 해킹해서 웹사이트를 열람 시에 광고서버의 악성코드가 사용자PC에 다운로드 되는 멀버타이징(Malvertising)기법을 사용하여 공격할 수 있게 된다. 피해자 관점에서는 웹사이트만 접속해도 랜섬웨어에 감염되어 PC의 파일들이 암호화 되고 바탕화면에 비트코인 입금 주소출력 등 감염 증상들이 발생되기 때문에 랜섬웨어 감염사실을 인지 할 수 있게 된다.

 

 

구분

내용

분석방법

파일에 의한 감염

 메일, SNS 등을 통해 받은 파일을 클릭하거나 토렌트 같은 불법사이트(P2P)에서 파일을 공유 받는 경우

이메일 발송자 파악

이메일 첨부파일 분석

감염된 사이트에 의한 감염

해커가 악성코드 유포를 위해 취약한 사이트를 감염시켜서 접속 시 악성코드에 감염되는 경우

인터넷 접속기록에서 랜섬웨어 유포지 접속여부 분석

 

[표 2] 랜섬웨어 감염경로 별 분석방법

 

 

파일에 의한 감염방식은 주로 이메일을 통해 유포하게 된다. 랜섬웨어는 불특정다수를 대상으로 공격을 수행하기 때문에 추가적인 피해를 방지하기 위해서는 악성메일을 보낸 발신자를 파악하는 것이 중요하다. 왜냐하면 보안담당자 입장에서는 랜섬웨어가 포함된 악성메일을 수신한 사용자 이외에도 수신자가 존재하는지, 아니면 수신된 이메일을 읽었는지, 보안솔루션을 통해서 추가 피해를 예방할 수 있을 지 등 다양한 대응을 할 수 있게 하기 때문이다.

 

메일정보를 확인할 때 주의할 부분은 발신자(From) 정보는 위조할 수 있기 때문에 Received의 정보를 통해서 실제 발신자의 정보를 확인해야 한다. Received정보가 1개 이상 보이는 경우에는 가장 상단의 정보가 마지막 정보이기 때문에 가장 하단의 정보가 처음 보낸 발신자의 정보다. 

 

 

헤더

정의

부연설명

To

받는 사람

수신자의 메일주소
위조가 가능하며 본인이 수신한 메일에 다른 사람의 주소가 적혀 있어도 단지 그렇게만 보일 뿐 실제로는 본인에게 전송된 메일이 맞음

From

보낸 사람

발신자의 메일 주소
위조하는 경우가 많아 신뢰할 수는 없음

Cc

참조

참조자의 메일주소

Bcc

숨은 참조

숨은 참조자의 메일주소

Subject

제목

메일 제목

Received

전송된 경로

실제로 메일이 전송된 경로를 뜻함
Received 라인이 여러 줄이 보일 때도 있고 한번 보일 때도 있는데 가장 아래쪽에 보이는 라인이 처음 메일을 발송한 곳이며 위로 올라갈수록 거쳐온 메일서버를 보여줌

Return-Path

반송 주소

발송된 메일이 반송될 때 어떤 주소로 반송될 것인지 지정하는 것인데,대개 별도로 지정하지 않으면 발신자의 메일주소가 자동입력 됨
그러나 스팸 발송자의 경우 전혀 관계없는 메일 주소를 지정하여 선의의 피해자가 발생하는 경우가 있음

Reply-To

회신 주소

수신자가 회신을 했을 때 누구에게 발송될 것인지 지정하는 것으로 대부분 별도로 지정하지 않으면 발신자의 메일주소가 자동입력 됨

Message-ID

메시지 ID

메일 서버에서 메시지를 외부로 보내며 붙이는 일련번호

Date

발송 시간

발송 시간

MIME 헤더

 

메일에 사용된 MIME Type을 표기 해주는 부분

X- 헤더

 

제 멋대로 붙인 헤더
X-’라는 문자열로 시작하는 헤더(clamav, spamassassin)

 

[표 3] 메일 헤더의 정의 <출처:이글루시큐리티, 침해사고의 재구성>

 

 

다음으로 취약한 사이트를 통해 감염되는 경우다. 해커는 홈페이지의 취약점을 이용하여 홈페이지를 악성코드 유포지 및 경유지로 활용하여 랜섬웨어에 감염시키게 된다. 홈페이지에 접속하여 랜섬웨어에 감염되는 경우에는 다음과 같은 순서로 분석을 해야 한다.

 

 

(1) 브라우저 접속정보 확인

 

악성코드 유포지를 통해서 랜섬웨어에 감염되는 경우에는 브라우저의 접속정보를 확인해야 한다. 브라우저 접속정보는 브라우저별로 접속내역을 확인해도 되지만 좀 더 편리한 도구를 소개하고자 한다.

 

Internet Explorer, Mozilla Firefox, Google Chrome, Safari 4개의 브라우저에서 사용된 인터넷 접속기록은 NirSoft에서 제공하는 BrowsingHistoryView(http://www.nirsoft.net/utils/browsing_history_view.html)로 한번에 확인이 가능하다. 현재 최신버전은 Version 2.10이며 IE의 경우 IE10/IE11/Edge까지 지원되고 있다. 32/64비트로 실행파일이 분리되어 있어서 구동 전 OS확인 필요하다.

 

툴을 실행하면 Default가 “Load history items from the last xx days”로 설정되어 있기 때문에 전체 히스토리를 확인하기 위해서는 “Load history items from any time”으로 설정해서 보면 된다. URL, Title, Visit Time등으로 정렬이 가능하기 때문에 시간대 별 브라우저 기록을 확인하는데 용이하다.

 

 

 

[그림 3] BrowsingHistoryView의 Advanced Options 설정 화면

 

 


 

 

BrowsingHistoryView에서 랜섬웨어 유포지로 의심되는 URL이 있다면 의심URL의 정상유무를 확인해줄 작업이 필요하다. 이를 위해서 VirusTotal과 Malwares와 같은 악성코드 분석 및 악성URL 분석정보를 제공하는 사이트를 이용하면 된다.

 

먼저 VirusTotal(https://www.virustotal.com/)에 접속하면 File, URL, Search탭이 나오는데 이중 URL 또는 Search 탭 중 하나를 선택하여 클릭한다. 클릭하고 의심URL을 삽입하면 악성유무가 출력되게 된다. 보통 2~3개 이상의 벤더에서 악성코드 유포지로 판단하면 악성코드 유포지라고 보면 된다. (1개의 벤더에서만 악성코드 유포지로 탐지하는 경우 오진일 가능성이 존재하므로 분석용PC나 가상머신에서 URL 접속 후 감염여부 확인)

 

 

 

[그림 5] VirusTotal에 악성URL 진단 결과

 

 

Malwares.com(https://www.malwares.com/)도 VirusTotal과 동일하게 의심URL에 대한 악성코드 유포여부를 진단하는 것은 동일하나 한 가지 차이점이 있다. Malwares.com의 경우 기존의 악성코드 유포지 정보를 함께 제공해준다는 것이다. 따라서 현재 악성코드 유포지나 경유지로 사용되지 않아도 기존에 사용된 기록 및 악성코드 정보를 함께 확인할 수 있다.

 

 

 

 

[그림 6] VirusTotal에 악성URL 진단 결과

 

 

(2) 랜섬웨어 의심파일 확인

 

악성코드 유포지를 통해서 랜섬웨어가 설치되었다면 설치된 랜섬웨어 파일이 어떤 것인지 언제 실행되었는지 확인하는 것이 필요하다. 랜섬웨어 설치 시점 뿐만 아니라 랜섬웨어 감염PC에 안티 바이러스 프로그램 설치 여부 및 미탐의 경우 추가 분석을 통해 패턴업데이트를 해야 추가적인 피해를 막을 수 있기 때문이다.

 

이때 사용할 수 있는 도구가 Directory Snoop이다. 프로그램을 제거할 때 파일의 남겨지는 내용과 같은 정보들을 완전히 삭제해주거나 이미 삭제됐지만 필요한 중요한 파일의 복구 기능을 지원하는 프로그램이다. 삭제된 파일의 파일의 경우 붉은 색으로 표시되면서 x 표시가 출력되는데 이때 메모리가 덮이지 않았다면 바이너리 정보를 확인할 수 있기 때문에 실행시점의 파일 내용 등을 유추 및 복원 할 수 있게 된다.

 

 

 

 

[그림 7] Directory Snoop 실행 화면

 

 

다음 도구는 윈도우 레지스트리 정보를 수집 및 분석해주는 도구인 REGA(forensic.korea.ac.kr/tools/rega.html)이다. 분석을 위해서는 먼저 레지스트리 정보를 수집하고 분석을 수행하면 된다. 먼저 레지스트리 하이브 파일을 찾아 특정 폴더에 저장하는 작업이 필요하다.  “파일 > 레지스트리 파일수집 > 현재 시스템 레지스트리 수집”을 클릭하고 하이브 파일이 저장될 장소를 선택해주면 된다.

 

 

 

 

[그림 8] REGA를 이용한 레지스트리 수집 화면

 

 

분석하기 위해서는 앞서 저장된 하이브 파일을 “파일 > 레지스트리 분석”을 클릭하고 “표준시간대 설정”에서 서울(UTC+9)를 선택하고 레지스트리 분석화면에서 사건정보 입력 및 레지스트리 파일 입력에서 수집된 레지스트리 정보를 설정해주면 됩니다. 이때 레지스트리 분석화면에서 비할당 영역 분석의 체크박스를 선택해주면 삭제된 데이터를 복구하여 보여주는데 소요시간이 많이 걸리고 간혹 복구되지 않기 때문에 체크박스를 선택하지 않고 분석하셔도 무관하다.

 

 

 


 [그림 9] REGA를 이용한 레지스트리 분석 설정 화면

 

 

위 설정을 마치면 우측의 도구상자에서 PC분석에 필요한 내용들을 카테고리 별로 확인이 가능하다.

 

 

 

 

[그림 10] REGA를 이용한 레지스트리 분석 화면

 

 

(3) 복구가능여부 확인

 

랜섬웨어의 상당수는 복호화가 불가능 하나 일부 랜섬웨어는 복호키가 공개되어 있기 때문에 복호화가 가능하다. 복호화가 가능한 랜섬웨어로는 Linux.Encoder.1, Linux.Encoder.3, PETYA, Trend Micro, Jigsaw, Rakhni, CoinVault, Shade, Teslacrypt, CrySis, Telecrypt, Chimera, CryptXXX version 1/2/3 등이 존재한다.

 

랜섬웨어 분석에서 처음 해야 하는 일이 “랜섬웨어 종류 파악”하는 이유는 이와 같이 복호화가 가능한 랜섬웨어일 가능성 때문에 확인이 필요하다.

 

 

구분

URL

제공하는 복구프로그램

NMR

(No More Ransom)

https://www.nomoreransom.org/co/index.html

Rakhni, Rannoh, Damage, Crypton, Merry X-Mas, BarRax, Alcatraz, Bart, Crypt888

이스트시큐리티

http://www.estsecurity.com/ransomware#decryption

CryptXXX(version 1,2,3), Chimera, Teslacrypt, CoinVault, PETYA, Linux.Encoder

안랩

http://www.ahnlab.com/kr/site/securityinfo/ransomware/index.do

CryptXXX(version 2,3), Nabucur, TeslaCrypt

카스퍼스키

http://support.kaspersky.com/viruses/utility

 CoinVault

트랜드마이크로

http://www.trendmicro.co.kr/kr/tools/crypto-ransomware-file-decryptor-tool/index.html

CryptXXX(version 1,2,3,4,5), TeslaCrypt(version 1,2,3,4), SNSLocker

 

[표 4] 랜섬웨어 복호화 도구 제공 사이트 목록

 

 

랜섬웨어의 정보는 단일 벤더나 국가 단독으로 대응하기 어렵기 때문에 벤더 및 공공기관에서 공동으로 관련 정보 및 대응을 하고 있다. 국내의 랜섬웨어 대응센터는 안랩, 이스트시큐리티, 하우리, 랜섬웨어침해대응센터 총 4곳이 존재한다.

 

- 안랩 : http://www.ahnlab.com/kr/site/securityinfo/ransomware/index.do

- 이스트시큐리티 : http://www.estsecurity.com/ransomware#decryption

- 하우리 : http://www.hauri.co.kr/Ransomware/index.html

- 랜섬웨어침해대응센터 : https://www.rancert.com

 

 

(4) 방지대책 수립

 

랜섬웨어는 데이터를 인질로 몸값을 요구하는 공격형태이기 때문에 공격대상이 한정적인 APT와 달리 불특정다수를 겨냥하여 감염사실을 스스로 노출시킨 후 피해자가 비용을 지불하도록 유도한다. 따라서 추가적인 공격시도는 없다. 

 

랜섬웨어는 사후조치보다 사전예방이 중요한 공격형태이다. 따라서 소프트웨어의 최신 업데이트 적용, 윈도우 기능 중 하나인 사용자 액세스 제어(Windows User Access Control, UAC) 관리자 수준 사용시 알림 설정, 메일 발신자 주소 확인, 시그니쳐 또는 비시그니쳐 기반의 엔드포인트 보안솔루션 사용 등 보안수칙 준수가 필요하다.

 

 

4. 참고자료

 

[1] TrendMicro, Ransomware as a Service

http://documents.trendmicro.com/assets/resources/ransomware-as-a-service.pdf

[2] 이글루시큐리티, 침해사고의 재구성 - 스팸 메일의 진실 (해결편)

http://www.igloosec.co.kr/ig/BLOG_%EC%B9%A8%ED%95%B4%EC%82%AC%EA%B3%A0%EC%9D%98%20%EC%9E%AC%EA%B5%AC%EC%84%B1%20-%20%EC%8A%A4%ED%8C%B8%20%EB%A9%94%EC%9D%BC%EC%9D%98%20%EC%A7%84%EC%8B%A4%20(%ED%95%B4%EA%B2%B0%ED%8E%B8)?searchItem=&searchWord=&bbsCateId=1&gotoPage=1

[3] Directory Snoop v5.11

http://software.naver.com/software/summary.nhn?softwareId=MFS_104707