1부_랜섬웨어, 알아야 막을 수 있다
최근 국내에서 랜섬웨어로 인한 피해가 급증하고 있다. 신∙변종 랜섬웨어가 지속적으로 발견되고 있으며, 기업뿐만 아니라 개인 사용자들에게까지 피해가 확산되고 있다. 특히, 악성코드 제작자들에게 금전적인 이득을 취할 수 있는 방법으로 여겨지면서 광범위한 대상을 향한 무차별적인 공격이 진행되고 있다.
이에 월간’안’에서는 1부와 2부에 걸쳐 국내에 피해를 주고 있는 랜섬웨어의 현황과 분석 정보, 대응 방안에 대해 살펴보았다.
랜섬웨어란?
랜섬웨어는 2005년 신종 보안 위협으로 처음 보도됨으로써 국내에 알려졌다. 당시 랜섬웨어는 러시아와 동유럽 국가에 한정되어 있었으나 인터넷의 발달과 유포 방식이 다양해지면서 전 세계로 퍼져나가고 있다. 랜섬웨어는 특정 파일들을 암호화하고, 이를 복원하기 위해서는 결제가 필요하다는 경고문과 그 절차를 안내한다. 이렇게 암호화된 파일을 인질로 삼아 몸값을 요구하는 악성코드를 랜섬웨어(Ransomware)라고 통칭하고 있다. 공격자는 파일의 암호를 풀어주는 대가로 금전을 보낼 것을 요구하는데 페이팔과 같은 온라인 결제 서비스나 비트코인과 같은 온라인 가상화폐를 요구하기도 한다. 다양한 방법을 통해 불특정 다수를 대상으로 할 수 있다는 점과 감염 PC의 데이터 복구를 위해 대가를 지불하는 피해자가 많은 점이 높은 수익성을 보장한다. 따라서 수년간 공격 수법도 진화를 거듭하였으며, 꾸준히 새로운 변종이 등장하고 있어 사용자의 각별한 주의가 필요하다.
랜섬웨어가 증가하는 이유
2015년 4월 국내 유명 인터넷 커뮤니티 사이트를 통해 랜섬웨어의 일종인 크립토락커가 유포되었다. 그리고 10월, 또 한번의 랜섬웨어 대량 감염 피해가 발생했다. 지난 4월과는 달리 11월까지 한 달이 넘도록 다양한 랜섬웨어 변형 발견과 감염 PC 수가 증가하고 있는 실정이다. 이러한 원인을 안랩은 크게 2가지로 보고 있다.
첫 번째, 무엇보다도 위협적인 것은 유포지를 제대로 파악 할 수 없어 그 피해가 커지고 있다는 점이다. 유포지를 파악하면, 관련 기관의 협조를 얻어 유포지 접속을 차단 할 수 있다. 또한 그 정보를 보안업체와 공유하여 각 업체들의 대응 방법으로 활용 할수 있다. 그러나 유포지를 파악하려면 감염된 PC를 분석하는 방법이 제일 정확하지만 현실적으로는 쉽지 않은 일이다. 그렇지만 해외 보안업체의 분석 내용과 안랩 스마트 디펜스(AhnLab Smart Defense)의 정보를 확인한 결과 유포 방법에 대하여 조금씩 밝혀지고 있다.
두 번째 이유는, 앞서 설명한 유포지를 제대로 파악 할 수 없도록 악성코드 제작자들이 ‘멀버타이징(Malvertising)’이라는 교묘한 수법을 사용하기 때문이다. 이는 멀웨어(Malware)와 광고(Advertising)의 줄임말로, 광고 서비스의 정상적인 네트워크를 이용하여 악성코드를 감염 시키는 방법이다. 예를 들면 악성코드 제작자는 광고 서비스에 합법적으로 광고 웹 사이트 개설한다. 이후 해당 웹 사이트에 취약점 페이지로 리다이렉트 되도록 설정 한다. 광고 서비스 업체가 모든 광고를 검증 할 수 있는 것은 현실적으로 어려울 것이다. 이는 불특정 다수를 대상으로 감염 시킬 수 있고, 광고 웹 사이트를 자주 변경하여, 유포지를 찾거나 차단하기 어렵게 만든다. 이러한 공격 뒤에는 ‘익스플로잇 킷(Exploit Kit)’이라는 도구가 있으며 최근 공격에는 ‘앵글러(Angler) EK’, ’리그(Rig) EK’, ‘매그니튜드(Magnitude) EK’가 주로 사용되고 있다.
보통 애드웨어는 백그라운드로 실행되며 사용자의 웹 관련 정보를 동의 또는 동의 받지 않고 수집∙변경하는 것을 목적으로 한다. 또한 특정 웹 사이트를 광고 목적으로 웹 브라우저를 자동 실행하여 보여 주기도 한다. 정상적인 광고 웹 사이트라면 이런 자동 실행이 문제가 되지 않을 수도 있다. 하지만 보안이 취약한 웹 브라우저 또는 플래시 플레이어(Flash Player), 아크로뱃 리더(Acrobat Reader), 실버라이트(Silverlight), 자바(Java)가 설치된 경우라면 상황이 다르다. 자신의 의도와 상관 없이 애드웨어가 보여주는 웹 사이트가 취약점이 있는 곳으로 리다이렉트 된 후 앞서 열거한 웹 플러그인 애플리케이션의 취약점을 이용한 악성코드가 존재해 감염이 될 수 있다. 심지어는 악성코드 제작자가 애드웨어의 설치파일, 업데이트 서버 등에 악성코드를 숨기거나 업로드하여 감염시킬 수도 있다.
랜섬웨어, 국내에 얼마나 영향을 주고 있나
랜섬웨어가 증가하는 원인에 대하여 안랩에 수집된 데이터를 바탕으로 분석 작업을 진행했다. 이 데이터는 최근 국내에서 가장 많이 발견되는 주요 랜섬웨어 3종에 대한 자료이다. 참고로 타사가 복호화 툴을 제공하는 랜섬웨어류는 국내의 경우 탐지 보고가 거의 없는 실정이다.
- Trojan/Win32.Cryptolocker
- Trojan/Win32.CryptoWall
- Trojan/Win32.Teslacrypt
[그림 1]은 주요 랜섬웨어 3종에 대한 각각의 증가 수를 보여주고 있다. 이들 랜섬웨어는 9월 대비 10월에 대폭 증가했다. 11월의 경우에는 10월보다는 다소 주춤할 것으로 예상된다. 참고로 11월의 데이터는 이 글을 작성하는 11월 18일까지의 수치임을 밝혀둔다. 그러나 [그림 2]와 같이 탐지 PC 수는 발견된 랜섬웨어 수에 비해서 증가했다는 것을 알 수 있다.
[그림 1] 주요 랜섬웨어 3종 수집 수(2015.09.01 ~ 2015.11.18)
특히, 10월에는 주요 랜섬웨어 3종 가운데 암호화된 파일명의 확장자를 CCC로 변경하는 테슬라크립트(Teslacrypt) 랜섬웨어의 변형 증가가 눈에 띈다. 이 랜섬웨어는 내부적으로 버전을 가지고 있는데, 10월까지는 2.1 버전을 유지하였고 최근에는 2.2 버전으로 업데이트 되었고 암호화된 파일명의 확장자를 .VVV로 변경한다. 또한 2.2 버전에서는 윈도우에서 제공한 시동 복구 모드 등을 사용하지 못하도록 하는 증상이 추가되었다.
[그림 2]는 탐지 PC Top 10을 기준으로 집계한 주요 랜섬웨어 3종의 유형별 탐지 PC 수이다. 이 자료를 살펴보면 각 월별로 어떤 랜섬웨어가 국내 사용자들에게 가장 많은 피해를 입히고 있는지를 알 수 있다. 10월에는 테슬라크립트가 수집 수도 많았고, 탐지된 PC 수도 많아서 가장 큰 영향을 끼친 것으로 드러났다. 11월에 수집된 랜섬웨어 수는 테슬라크립트가 가장 많았으나 실질적으로는 크립토락커(Cryptolocker)가 탐지된 PC 수가 큰 폭으로 증가한 것을 확인할 수 있다. 한편 크립토월(CryptoWall)의 수집 수는 증가하고 있으나, 탐지된 PC 수는 현재까지는 적은 편이다.
[그림 2] 주요 랜섬웨어 3종의 월별 누적 탐지 PC 수(*탐지 PC Top 10 기준, 2015.09.01 ~ 2015.11.18)
[그림 1]과 [그림 2]에서 알 수 있듯이 전반적인 랜섬웨어 수가 증가하는 것도 문제지만 무엇보다 심각한 것은 특정 랜섬웨어에 의한 탐지 사례가 점점 더 증가하고 있다는 것이다. 다시 말해, 특정한 랜섬웨어가 많은 수의 PC에서 탐지되고 있다. 이러한 원인으로는 해당 랜섬웨어가 위에서 언급한 ‘멀버타이징’ 기법을 사용했기 때문인 것으로 보인다.
주요 랜섬웨어 3종이 탐지된 PC의 증가 추세는 [그림 3]과 같다. 이 수치는 피해가 발생하기 이전에 진단한 것과 실제 감염 이후 진단된 것을 합한 수치이다. 따라서 파일 암호화에 의한 실제 피해로 이어진 사례는 이보다 적을 수 있다.
[그림 3] 주요 랜섬웨어 3종의 월별 탐지 PC 추이(2015.09.01 ~ 2015.11.17)
주요 랜섬웨어 3종이 탐지된 PC 수가 10월말부터 급격히 증가하기 시작했다. 10월부터 증가한 랜섬웨어 수집 수와 탐지 PC 증가로 볼 때, 복호화 대가로 돈을 지불한 사용자가 증가하였거나 국내 사용자 PC에 설치된 멀버타이징 애드웨어가 이용됐을 가능성이 높았다고 볼 수 있다.
[그림 4] 주요 랜섬웨어 3종 발견 시간(2015.09.01 ~ 2015.11.18)
이 외에도 기업과 개인 사용자 중 개인 PC에서의 탐지 비율이 높았으며, 랜섬웨어가 가장 많이 보고 되는 시간으로는 오전 8시 ~ 9시, 오후 4시~6시, 밤 10시 ~ 0시인 것으로 나타났다. 랜섬웨어가 탐지된 PC의 운영체제는 Windows 7이 압도적 (82%)으로 많았고 그 뒤를 이어서 Windows XP 와 Windows 8.1이 많았다. 최근 출시된 Windows 10에서의 탐지 건수는 1%인 것으로 집계됐다. 앞서 언급한 애플리케이션의 취약점은 최신 버전의 Windows와 상관 없이 동작 한다. 따라서 최신 버전의 Windows를 사용하고 있다고 해서 안심해서는 안 되며, 각 애플리케이션의 최신 패치를 반드시 적용해야 한다.
랜섬웨어, 어떤 방법으로 감염시키나
1. 스팸 메일
스팸 메일을 통해 악성코드를 유포하는 방식은 예전부터 꾸준히 사용되고 있다. 사람의 성격, 호기심이라는 취약점을 이용하는 사회공학적 기법으로 인해 수신된 메일이 스팸 메일인지 구별 되지 않을 정도로 정교한 경우가 대부분이지만, 자세히 살펴보면 이상한 부분을 발견할 수 있다. 모르는 사람에게서 메일이 오거나, 알고 있는 사람이라 할지라도 해당 내용과 연관이 없는 경우도 있기 때문이다. 특히 첨부 파일이 있을 경우에는 항상 주의해야 한다. 스팸 메일은 exe, scr 확장자를 가진 실행 파일들을 첨부하는 경우가 대부분이다.
<스팸 메일을 이용한 랜섬웨어 유포 사례>
Microsoft(이하 MS)의 마지막 Windows OS가 될 Windows 10이 출시된 지 며칠이 지나지 않아 Windows 10 업데이트 파일로 위장한 랜섬웨어가 메일로 유포되었다.
공격자는 발신인, 본문 내용과 더불어 ‘악성코드 스캔 후 이상 없다’는 마지막 문장을 첨부하여, 수신자가 해당 메일을 읽은 뒤에 의심 없이 첨부파일을 다운로드 및 실행하도록 유도하였다([그림 5]). 심지어 메일 내 첨부된 악성파일의 아이콘이 아래 [그림 6]과 같이 Windows 로고를 표시해, 평소 보안의식이 강한 사용자가 아니라면 분명 거부감 없이 해당 파일로 마우스 포인터를 옮길 정도로 치밀하게 만들었다.
2. 다운로드 실행(Drive-by-Download)
사용자가 다운로드 실행 방식으로 유포되는 악성코드에 감염되지 않으려면 사용 중인 각종 애플리케이션을 최신 버전으로 유지하는 것뿐이다. 익스플로잇 킷이 주로 악용하는 애플리케이션으로는 플래시 플레이어, 아크로뱃 리더, 인터넷 익스플로러, 실버라이트, 자바 등이 있으며, 해당 애플리케이션 제작 업체에서는 취약점이 발견되면 패치를 배포하기 때문에 즉각적인 업데이트가 필요하다. 앞서 설명한 ‘멀버타이징’ 도 결국 취약점을 이용하여 악성코드를 감염시킨다.
다운로드 실행 방식을 요약하면 다음과 같다.
① 보안에 취약한 사이트에 스크립트 형태로, 악성코드나 악성코드를 다운할 수 있는 URL을 삽입한다.
② 보안에 취약한 시스템을 사용하는 사용자가 취약한 사이트에 접속한다.
③ 보안 취약점으로 인해 악성코드가 실행되며, 이때 악성코드는 사용자가 인지하지 못하는 범위에서 실행된다.
<다운로드 실행 방식을 이용한 랜섬웨어 유포 사례>
2015년 4월 전국을 떠들썩하게 만든 국내 유명 커뮤니티 사이트를 통해 유포된 크립토락커가 다운로드 실행 방식을 이용한 대표적인 사례이다. 해당 사건은 애플리케이션 취약점을 악용한 전형적인 사례로, 악성코드를 사이트의 광고 배너에 심어놓고 사용자가 웹사이트에 접속하면 IE와 플래시의 취약점을 통해 실행 중인 프로세스에 주입(Injection)하게 된다. 이 과정은 사용자가 인지할 수 없도록 조용히(stealth) 이루어지는데, 이런 방식을 다운로드 실행(Drive-by-Download)이라고 부른다.
주요 랜섬웨어, 어떤 특징을 가지고 있나
1. 크립토락커(CryptoLocker)
2015년 4월 국내의 유명 커뮤니티 사이트에서 발견된 크립토락커는 지난 2013년 9월에 처음 보고되었다. 크립토락커에 감염되면 암호화된 파일들을 복원하기 위해 한화 약 438,900원의 비트코인을 요구한다. 피해자들이 쉽게 비용을 지급할 수 있도록 결제 방법을 상세하게 설명하고 있으며, 실제 복원이 가능함을 증명하기 위해 암호화된 파일 중 1개의 파일을 무료로 복호화해준다. 이를 통해 악성코드 제작자는 중요한 파일을 암호화하여 사용자에게 금전을 유도하고 있다.
크립토락커가 실행이 되면 자가 복제 및 자동 실행을 위한 등록을 하며, 이후 정상 ‘explorer.exe’ 프로세스를 실행하고 C&C 서버 통신 및 파일을 암호화하는 주요 기능을 포함한 PE(Portable Executable) 파일을 인젝션해 동작한다.
다음은 크립토락커의 세부적인 행위이다.
① 자동 실행
실행 시 %WINDOWS% 폴더에 자가 복제를 수행하며 다음과 같은 레지스트리 키에 등록한다.
- HKCU\Software\Microsoft\Windows\CurrentVersion\Run\<랜덤명>
해당 키에 실행 파일을 등록하면 시스템을 재 부팅할 때마다 자동으로 실행이 되는데, 이 경우 사용자가 직접 파일을 찾아 삭제하지 않은 상태에서 감염된 PC의 사용자가 금액을 지불하고 파일을 복구했다고 하더라도 재감염될 가능성이 높다.
② 네트워크 접속
네트워크 통신 상태를 확인하기 위해 ‘www.download.windowsupdate.com’에 접속한다. 접속이 원활하게 이루어진다면 C&C 서버에 접속하여 사용자 PC의 정보를 전달한다. 최초 접속 후에는 특정 IP 대역에 따른 ‘.txt’와 ‘.html’ 파일을 받아 오는데 IP 대역을 확인 하는 이유는 감염 또는 제외 대상 국가를 결정 하기 위해서 이다. 해당 파일들은 암호화한 파일이 있는 모든 폴더에 생성되며 시스템이 감염되었다는 메시지와 파일을 정상적으로 복원하기 위해 비트코인을 사용한 결제 방법이 설명되어 있다. 접속하는 주소는 파일마다 달라진다.
[그림 7] DECRYPT_INSTRUCTIONS.html(왼쪽)과 DECRYPT_INSTRUCTIONS.txt (오른쪽)
③ 볼륨 섀도우 카피 삭제
아래 명령을 실행해서 볼륨 섀도우 카피를 삭제하는데 이렇게 되면 Windows 운영체제에서 제공하는 파일 백업 및 복원 기능을 정상적으로 사용할 수 없다.
“vssadmin.exe Delete Shadows /All /Quiet”
④ 파일 암호화
랜섬웨어의 가장 특징적인 기능으로 사용자의 중요 파일들을 암호화하는데 아래에 리스트 되어있는 확장자를 가진 파일과 폴더는 대상에서 제외된다. 그리고 이동식 드라이브와 네트워크 드라이브에 있는 파일도 암호화 대상이 되며 암호화가 완료된 파일에는 확장자 뒤에 ‘.encrypted’ 문자열이 붙게 된다.
▲ 제외 대상 확장자
.chm, .ini, .tmp, .log, .url, .lnk, .cmd, .bat, .scr, .msi, .sys, .dll, .exe, .avi, .wav, .mp3, .gif, .ico, .png, .bmp, .txt, .html
▲ 제외 대상 폴더
- %Program Files%0
- %ProgramW6432%
- C:\WINDOWS
- C:\Documents and Settings\사용자계정\Application Data
- C:\Documents and Settings\사용자계정\Local Settings\Application Data
- C:\Documents and Settings\All Users\Application Data
- C:\Documents and Settings\사용자계정\Cookies
- C:\Documents and Settings\사용자계정\Local Settings\History
- C:\Documents and Settings\사용자계정\Local Settings\Temporary Internet Files
2. 크립토월(CryptoWall)
크립토월은 2013년에 등장하였고 RSA Key로 파일을 암호화한다. 가장 많이 발견 되고 있는 크립토월은 3.0 버전이다. 2015년 10월 말 사이버 위협 연합(Cyber Threat Alliance)이 발행한 보고서에 따르면 크립토월 3.0 랜섬웨어의 제작 주체는 전 세계적으로 3.25 억 달러의 수익을 올렸을 것으로 추산된다. 또한 2015년 11월 초에는 새로운 버전의 4.0 크립토월이 발견되었다. 그립토월 3.0과 4.0의 차이는 아래 [표 1]과 같다.
크립토락커와 마찬가지로 크립토월 역시 실행이 되면 자가 복제 및 자동 실행을 위한 등록을 하며, 이후 정상 프로세스(‘explorer.exe’ 및 svchost.exe’)를 실행하고 C&C 서버 통신 및 파일을 암호화하는 주요 기능을 포함한 PE 파일을 인젝션해 동작한다.
[표 1] 크립토월 3.0과 4.0의 비교
3. 테슬라크립트(TeslaCrypt)
테슬라크립트는 최근 국내에서 가장 많은 감염을 발생시킨 것으로 확인되는 랜섬웨어 중 하나이다. 테슬라크립트는 올해 2~3월경 국내에 처음 등장하였는데, 감염 후 사용자에게 노출하는 메시지에서 말하는 ‘RSA로 암호화한다’는 말과 다르게 AES Key를 사용하여 암호화한다.
테슬라크립트의 감염 후 메시지는 초창기에 크립토락커(CryptoLocker)의 메시지를 차용하기도 하였으며, 테슬라크립트 2.0 이후에는 크립토월의 감염 후 메시지(html 파일)를 그대로 사용하고 있는 것으로 확인된다. 이에 테슬라크립트 감염 시 사용자들은 크립토월에 감염된 것으로 착각하는 경우가 많으며, 해외에서는 이를 테슬라크립트가 크립토월로 ‘위장(disguise)’하고 있다고 표현하기도 한다.
또한, 최근 확인되는 테슬라크립트는 암호화 후 확장자를 ‘.ccc’로 설정하면서 국내에서는 CCC 랜섬웨어로 악명을 떨치고 있다.
올해 초와 최근 유행하고 있는 테슬라크립트의 차이는 다음과 같다.
① 감염 후 암호화된 파일명
② 감염 후, 복호화 및 결제 안내 파일
[그림 12] 올해 초(왼쪽) 및 최근 테슬라크립트(오른쪽)
③ 파일 생성
④ 레지스트리 설정
[표 4] 올해 초(왼쪽) 및 최근 테슬라크립트(오른쪽)의 레지스트리 설정
▲ 제외 대상 폴더
- %Windows%
- %Program Files%
- %Application Data%
최근 3개월간의 랜섬웨어의 변형 발견 및 탐지 PC 현황을 보았을 때 여전히 취약한 웹 응용 애플리케이션을 사용하는 사용자가 많다라는 것을 알 수 있었다. 또한 진단을 위한 다양한 방법을 우회하고 있는 변종 랜섬웨어를 분석한 결과와 탐지 PC 증가로 볼 때, 랜섬웨어 제작자 역시 한국을 노리는 것이 분명하다.
안랩은 랜섬웨어 보안센터를 홈페이지에 게시하고 랜섬웨어에 대한 정확한 정보를 제공하고 있다. 또한 랜섬웨어 피해 예방을 위한 7대 보안 수칙을 발표하였는데, 반드시 수행하는 것이 안전하다. 여기에 하나를 더 추가한다면 바로 ‘멀버타이징’ 기법에 악용 될 수도 있는 애드웨어를 설치하지 않는 것이다. 이러한 애드웨어는 웹 서핑을 하다 보면 귀찮을 정도로 자주 나오는 팝업에 한번이라도 ‘YES’를 눌러 설치 될 수도 있다. 특히 다음 웹 사이트에서는 더욱 주의를 해야 한다.
- 토렌트 관련 사이트
- 크랙 관련 사이트
- 음란물 관련 사이트
- 무료 게임 사이트
위 사이트에서 유혹에 못 이겨 애드웨어를 설치 하지 않는 것도 중요하고, 설치가 되어 있다면 백신 프로그램을 이용한 제거 또는 애드웨어가 제공하는 삭제(Uninstall) 기능을 이용하여 삭제 하도록 해야 한다. 참고로 백신 프로그램이 의심스러운 애드웨어를 무조건 진단할 수 없는 한계가 존재한다. 애드웨어 제작사 입장에서는 광고 서비스로부터 광고만 받아 올 뿐 악의적인 웹 사이트 여부는 알지 못하기 때문이다. 또한 악성코드 제작자가 일정기간 악성코드 유포 후 취약점 페이지로 리다이렉트 되는 부분을 수정 한 경우라면 근거를 찾아내기 어렵고, 이에 따른 적절한 조치를 취하는 것도 시간이 소요된다. 무엇이 설치되었는지 알 수 없다면, V3 에 포함된 안리포트(AhnReport)를 실행해 관련 정보를 안랩에 보낸 후 분석결과를 받아 보는 것도 좋다.
▶ 2부_이상적인 vs. 현실적인 랜섬웨어 대응 방안
- AhnLab분석팀 정진성 책임, 송재민/최유림 연구원