랜섬웨어도 “$how me the MONEY!”
$how me the MONEY!!!
최근 인기리에 방영되고 있는 힙합 음악 프로그램을 의미하는 것이 아니다. 그렇다고 한 시대를 풍미했던 게임인 스타크래프트의 치트키를 의미하는 것도 아니다. 바로 최근 유행하고 있는 랜섬웨어의 특징을 한 문장으로 표현한 것이다. 직역하면 “돈을 나에게 보여줘”이지만, “돈 내놔”라는 의미로 쓰이는 속어이다. 오로지 돈! 최근 전세계적으로 유포되고 있는 랜섬웨어의 목적은 오로지 돈이다.
이 글에서는 상반기에 이슈가 되고 있는 주요 랜섬웨어에 대해 알아보고, 상반기 랜섬웨어 유포의 특징과 예방법에 대해 살펴본다.
누군가가 내 정보를 암호화한다고?
암호화(Encryption)의 사전적 의미는 “접근 권한이 없는 사람으로부터 정보를 보호하기 위해 알고리즘을 이용하여 정보를 의미 없는 문자열로 바꾸는 과정”이다.
기본적인 암호화 방식은 [그림 1]과 같다. 평문을 공개키(Public Key)를 이용하여 암호화하면 암호문이 생성된다. 이 암호문에 개인키(Private Key)를 이용하면 다시 평문으로 복호화된다. 즉, 암호화된 정보를 정상적인 정보로 복구하기 위해서는 개인키가 반드시 필요하다.
암호화의 주체는 해당 정보 생산자 또는 정당한 권한을 가지고 접근하는 사용자다. 암호는 기본적으로 정보의 가용성, 기밀성, 무결성을 보장하기 위한 것으로, 특히 중요 정보일수록 기밀성을 유지하여 제한된 인원만 접근할 수 있도록 하는 것이 중요하다.
그러나 아무 연관이 없는 제 3자에 의해 암호화가 진행된다면 문제는 달라진다. 정당한 접근 권한이 없는 사람에 의해 암호화가 되면서, 정작 정당한 접근 권한을 가지고 있는 사람은 해당 정보를 이용할 수 없는 문제가 발생한다. 그리고 해당 정보를 이용하기 위해 암호를 풀 수 있는 정보, 즉 개인키를 돈을 지불하고 구입하라고 종용한다.
이러한 과정을 제 3자가 일일이 직접 수행하기는 매우 어렵고 번거롭다. 그렇기 때문에 모든 과정을 자동화한 프로그램을 만드는데, 해당 정보에 정상적인 접근 권한을 가진 입장에서는 명백히 악의적인 행위이다. 따라서 이러한 프로그램은 악성코드로 분류한다. 특히 동작 방식이 인질을 납치하는 것과 비슷해서, 랜섬웨어(Ransomware = Ransom + Software)라고 명명되었다.
랜섬웨어가 내 정보를 암호화하는 이유는 무엇일까? 앞에서 언급했듯이 랜섬웨어의 주목적은 오로지 돈이다. 당신이 가지고 있던 정보 또는 파일이 얼마나 중요하고 소중한 것인지는 중요하지 않다. 심지어 그 내용도 중요하지 않다. 랜섬웨어 제작자들은 오로지 돈만 받으면 된다. 원하는 돈을 획득한 다음, 암호화되었던 파일이 정상적으로 복구되는지 여부도 사실은 중요하지 않다. 다만 비용을 지불하면 복구할 수 있다는 평판이 확보되어야 다른 피해자들의 비용 지불을 유도할 수 있기 때문에, 최근에는 비용을 지불할 경우 정상적으로 동작하는 복구툴을 제공하는 사례가 늘어나고 있다.
2016년 발견된 주요 랜섬웨어
올해 발견된 랜섬웨어는 몇 개나 될까? 안랩 시큐리티대응센터(ASEC)에서 집계한 결과에 따르면 버전 업그레이드된 것까지 포함해 1분기에 25개, 2분기에 27개로 총 52개(6월 10일 기준)이다. [그림 2]는 보안 업체, 언론 등에서 다룬 랜섬웨어 중에서 고유한 특징이 확연하게 구분되는 경우에 한해 분류한 것이며, 보안 업체에서 다루지 않았거나 알려지지 않은 랜섬웨어까지 포함하면 그 수는 더욱 많을 것으로 추정된다.
2015년에 비해 2016년 상반기에 랜섬웨어가 폭발적으로 증가한 이유는 단순하다. 돈이 되기 때문이다. 2015년 10월에 발간된 사이버 위협 얼라이언스(Cyber Threat Alliance)의 ‘수익성 좋은 랜섬웨어 공격: 크립토월 3.0 위협 분석(Lucrative Ransomware Attacks: Analysis of the CryptoWall Version 3 Threat)’ 보고서에 의하면, 크립토월 3.0의 제작자는 전세계적으로 3.25억 달러(한화 3900억 원)를 탈취한 것으로 추정된다. 2015년 1월에 크립토월 3.0이 발견되어 10월에 해당 보고서가 발간되었기 때문에, 크립토월 3.0은 한 달에 약 350억 원 이상의 범죄 수익을 발생시킨 것이다.
이처럼 단시간에 상상을 초월하는 수익을 만들어 낼 수 있기 때문에 악성코드 제작자들은 랜섬웨어로 몰려들고 있다. 심지어 금융 관련 악성코드를 유포하던 드라이덱스 제작 그룹까지도 랜섬웨어 제작 및 유포에 뛰어들었다고 한다. 더욱이 RaaS(Ransomware as a Service)라고 해서, 비용만 지불하면 제작부터 악성코드 유포, 관리까지 해주기 때문에 악성코드를 만들 수 있는 능력이 없는 사람도 뛰어들고 있는 상황이다.
벌 만큼 벌었다? 활동 종료 선언한 테슬라크립트(TeslaCrypt)
테슬라크립트(TeslaCrypt)는 [그림 3]과 같이 2016년에도 꾸준히 등장했다. 테슬라크립트는 주로 보안이 취약한 사이트에 취약점을 발생시키는 코드를 삽입해 감염시키는 익스플로잇 킷(Exploit Kit)을 통한 감염 기법을 주로 사용했는데, 자바 스크립트 파일을 포함하는 압축 파일을 스팸 메일의 첨부파일로 유포하는 형태가 확인되기도 했다.
■테슬라크립트 3.0의 등장
2016년 1월에 테슬라크립트 3.0이 발견되었다. 2.0 버전이 파일의 확장명에 .aaa, .abc, .ccc, .vvv 등을 추가했다면, 3.0 버전은 .xxx, .ttt, .micro, .mp3 등을 추가하는 것으로 바뀌었다. 특히 2월에는 스팸 메일에 첨부된 zip 파일 내부에 JS(Java Script) 파일이 포함되어 유포된 사례가 발견되었다. JS 파일을 이용한 유포 방법은 록키 랜섬웨어 유포에도 악용되면서 큰 파장을 일으킨다. 안티바이러스 제품들의 이전 버전에 대한 진단이 강화되자, 이러한 진단을 우회하기 위한 진단 회피 기능을 강화한 것이 특징이다.
■확장명을 바꾸지 않는 테슬라크립트 4.0
테슬라크립트 3.0이 나타난지 얼마 지나지 않은 3월에 테슬라크립트 4.0이 발견되었다. 테슬라크립트 4.0은 파일 암호화를 마치고 확장명을 추가하던 이전 버전과 달리, 확장명을 바꾸지 않아 감염 사실을 알아차리기 힘들다. 대부분 데이터 파일을 읽으려고 할 때 오류가 발생하는 것으로 알아차리는 경우가 많다. 그 이후로 일부 기능을 개선하여 4월에 4.1 버전, 4.2 버전이 연속적으로 발견되었다.
■테슬라크립트의 허무한 종말
2016년 5월 18일에 믿을 수 없는 일이 벌어졌다. 테슬라크립트에 의해 암호화된 모든 파일의 암호화를 풀 수 있는 복호화 마스터키가 공개된 것이다. 사건의 전말은 이렇다. 이셋(ESET)의 연구원이 라이브 챗(Live Chat)에서 테슬라크립트 제작자에게 복호화 마스터키(Decryption Master Key)를 제공해 줄 수 있는지 물어봤을 뿐인데, 제작자들이 단박에 제공해준 것이다. 그리고 [그림 4]와 같이 결제 페이지에 접속하면 테슬라크립트의 종료를 알리는 글과 함께 복호화 마스터키를 공개해 놓았다. 특히 5월 22일에는 보안 전문가들이 제작한 복호화 툴(BloodDolly Decryption Software)까지 제공해주는 친절함을 보이기도 했다.
2016년 상반기 전세계를 뒤집어 놓은 록키(Locky)
2016년에 발견된 악성코드 중에 가장 기억에 남는 악성코드를 꼽으라면 바로 록키(Locky)를 언급할 정도로, 록키 랜섬웨어는 전세계적으로 상상을 초월할 정도로 많이 유포되어 악명을 떨쳤다. 2016년 2월에 발견된 록키 랜섬웨어는 감염되면 파일의 확장자에 .locky가 추가되는 것이 특징이다.
초기에는 스팸 메일에 악성 매크로가 포함되어 있는 문서 파일(.doc 등)을 첨부한 형태로 유포되었으며, 3월부터 최근까지는 [그림 5]와 같이 JS 파일을 이용한 유포가 계속되었다. 해외에서 스팸 메일을 통해 금융 관련 악성코드인 다이어(Dyre 또는 Dridex)를 유포하던 제작 그룹이 합류한 것으로 알려져 있다. 그 영향으로 JS 파일을 첨부한 스팸 메일을 유포하는 양이 상상을 초월해서 전세계 안티바이러스 업체 대부분이 JS 파일 변형에 대응하는 문제로 몸살을 앓았다. 특히 3월 말부터는 한글 파일(.hwp)이 암호화 대상에 포함되었다.
암호화 사실을 음성으로 알려주는 서버(CERBER)
3월 초에 발견된 서버(CERBER)는 감염되면 사용자의 데이터가 암호화된 사실을 음성으로 안내해주는 것이 특징이다. 또 파일명을 영문과 숫자가 조합된 10자리 문자열로 바꾸고 확장명을 .cerber로 변경한다. 특히 감염되면 암호화 이후 자동으로 재부팅되어 안전모드로 진입하는데, 사용자가 정상모드로 다시 부팅하면 서버 랜섬웨어의 결제 안내화면이 나타난다. 취약한 광고 서버의 플래시(Flash) 파일을 통해 악성코드를 유포하는 멀버타이징(Malvertising) 기법이 사용되었으며, 특히 이 과정에서 뉴클리어 익스플로잇 킷(Nuclear Exploit Kit)을 사용한 것으로 알려져 있다. 그리고 러시아의 블랙마켓에서 RaaS(Ransomware-as-a-Service)로 판매된 사례가 발견되기도 하였다. 대부분의 문서 파일들을 대상으로 하지만, 한글 파일(.hwp)은 암호화 대상에서 빠져 있다.
암호화 속도를 빠르게 하려는 마크툽(Maktub)
3월 말에는 마크툽(MAKTUB) 랜섬웨어가 발견되었다. 마크툽은 아라비아 언어로 'This is written' 또는 'This is fate(운명/숙명)'를 의미한다. 일반적으로 랜섬웨어가 원본 파일을 그대로 암호화하는데 반해, 마크툽 랜섬웨어는 원본 파일을 압축한 다음 암호화를 진행한다. 파일을 압축할 경우 파일 크기가 줄어들기 때문에 원본 파일을 암호화하는 것보다 상대적으로 암호화 속도가 빠르다. 원본 파일 자체를 암호화할 경우 시간이 오래 걸리는 단점을 극복하기 위한 것으로 보인다. 한글 파일(.hwp)이 암호화 대상에 포함되어 있으며, 확장명에 랜덤한 7자리 문자열이 추가되는 것이 특징이다.
랜섬웨어의 고정 관념을 흔들어 놓은 페트야(PETYA), 미샤(Mischa)
지난 3월에는 단순하게 화면을 띄워 PC를 잠그고 공포감을 유발시키거나 사용자의 파일을 암호화하는 것을 넘어 사용자 PC의 MBR(Master Boot Record) 영역까지 암호화하는 페트야(PETYA) 랜섬웨어가 등장했다. 이전 공격 기법들은 윈도우 폴더와 같은 시스템 폴더들을 암호화하지 않는 이상 PC 부팅에는 크게 영향을 주지 않았다. MBR 영역은 각각의 파티션 정보와 운영체제가 설치되어 있는 위치 정보를 가지며 부팅과 관련된 중요한 역할을 수행한다. MBR 영역을 암호화하는 과정에서 오류라도 발생하면 해당 PC는 사용 자체가 불가능할 수도 있다. 사용자 PC 자체를 잠그고 원천적으로 사용을 못하게 막아버린 후 금전을 요구하는 형태로 볼 수 있다.
5월 중순에는 기존의 페트야보다 기능이 강화된 미샤(Mischa)가 등장했다. 앞서 페트야가 MBR 영역에 대한 암호화만 진행했다면, 미샤는 MBR 암호화와 사용자 파일(데이터) 암호화 중 하나를 선택적으로 진행할 수 있다. 주로 스팸 메일에 포함되어 있는 URL 링크를 통해 다운로드 후 실행하도록 유도한다. 악성코드가 실행되면서 사용자 계정 콘트롤(UAC) 알림창이 발생한다.
[그림 10]과 같은 알림창에서 '예(Y)'를 누르면 주요 안티바이러스 제품들을 무력화하는 행위를 수행한 다음 MBR 암호화를 진행한다. 암호화가 완료되면 페트야 랜섬웨어와 동일한 화면이 출력된다. 페트야와 동일하게 확장명 변경은 하지 않는다. 반대로 '아니요(N)' 또는 '닫기(X)' 버튼을 선택하면 사용자 파일에 대한 암호화를 수행하고, 확장명에 랜덤한 4자리 문자열을 추가한다. 기존 파일 암호화 랜섬웨어와 페트야의 MBR 암호화 기능이 통합된 버전으로 볼 수 있다. 특히 미샤는 RaaS를 통해 제작 서비스를 제공하며, 피해자들이 지불하는 금액을 제작자와 유포자들이 서로 나눠 갖는다.
최근 대세로 떠오른 크립트엑스엑스엑스(CryptXXX)
2016년 4월부터 발견되기 시작한 크립트엑스엑스엑스는 갑자기 광범위하게 유포되면서 그 세력을 넓혀가고 있다. 주로 플래시나 인터넷 익스플로러의 취약점을 악용한 익스플로잇을 통해 유포되었다. 감염되는 과정에서 드롭퍼(Dropper)가 확인되지 않는 파일리스(Fileless) 형태로 감염되는 것이 가장 큰 특징이다.
드롭퍼란, 궁극적으로 감염시키고자 하는 악성코드를 시스템에 설치하기 위한 악성코드로, 설치 파일과 비슷한 개념으로 생각하면 쉽게 이해할 수 있다. 일반적으로 익스플로잇 킷을 통해 취약점이 동작하면 이러한 드롭퍼를 다운로드하는데, 이러한 드롭퍼가 실행되면서 최종적으로 감염시키고자 했던 악성코드를 생성하거나 다운로드하여 감염시킨다.
그러나 크립트엑스엑스엑스는 이러한 드롭퍼를 생성하지 않는다. 별도 파일로 생성하지 않고, 메모리상에서만 해당 기능을 수행하는 코드를 수행하고 종료한다. 따라서 드롭퍼 악성코드는 존재하지 않고, 최종적으로 랜섬웨어 기능을 수행하는 DLL 파일만 생성된다. 이러한 형태를 '파일리스(Fileless)' 형태라고 하는데, 일반적으로 안티바이러스 제품의 탐지를 우회하기 위해 사용하는 기법으로 알려져 있다.
지난 6월 초에 국내 유명 대형 커뮤니티를 통해 유포되면서 많은 피해가 발생했다. 특히 테슬라크립트와 마찬가지로 한글 파일(.hwp)이 암호화 대상에 포함되어 있어 주의가 요구된다.
크립트엑스엑스엑스 1.0이 발견된 지 약 3주 정도 지난 5월 중순에는 2.0 버전이 발견되었다. 상당히 빠르게 버전 업그레이드를 했는데, 기존 1.0으로 암호화한 파일에 대해 카스퍼스키 랩(Kaspersky Lab)에서 복호화할 수 있는 툴을 제공하자, 이를 우회하기 위해 암호화 모듈을 향상시킨 것으로 보인다. 나머지 기능들은 대부분 1.0과 동일하지만, 감염된 이후 특정 시간이 지나면 화면도 잠궈 버리는 락 스크린(Lock Screen) 기능이 추가되었다. 그리고 감염 과정에서 생성된 CryptXXX DLL 파일이 암호화가 완료되면 자동으로 삭제되는 등의 기능도 추가되었다. 국내에서는 익스플로잇 킷으로 유포된 사례가 다수 발견되었다.
크립트엑스엑스엑스 2.0 버전을 발견한지 2주도 되지 않은 5월 말에 3.0 버전이 확인되었다. 기본적인 기능은 1.0, 2.0 버전과 동일했지만, 암호화를 완료하고 12분 뒤에 락 스크린(Lock Screen)하는 기능이 추가되었고, 암호화 기능이 더욱 강력해졌다. 2.0 버전을 발견하고서 얼마 지나지 않아 카스퍼스키 랩에서 복호화 툴을 내놓자 제작자들이 서둘러서 암호화 모듈을 업그레이드하여 3.0 버전을 내놓은 것으로 보인다. 기능을 강력하게 하려다 코드에 오류(버그)가 있어서 자신들이 만든 복호화 툴로도 정상적으로 복구되지 않는 문제가 발생했다. 이로 인해 악성코드 제작자들에게 복구 비용을 지불한 경우에도 복구할 수 없는 사례가 발견되었고, 이에 제작자들이 해당 오류를 해결한 3.1, 3.2 버전을 연이어 내놓았다. 크립트엑스엑스엑스 3.0에서는 기존 버전과 다르게 확장명을 .Crypt 뿐 아니라 .Cryp1, .Crypz로 변경한 사례가 발견되었다. 이는 제작자들이 3.0 버전에서 발생한 오류를 구별하기 위한 것으로 추정된다. 지난 6월 초에 국내 유명 대형 커뮤니티에서 유포된 랜섬웨어가 바로 크립트엑스엑스 3.0 버전이다. 플래시로 제작된 특정 사이트의 광고 모듈이 취약한 점을 이용해 멀버타이징(Malvertising) 기법을 통해 유포된 사례로, 해당 광고 업체의 모듈을 사용한 대부분의 사이트에서 피해가 발생한 것으로 알려져 있다.
2016년 랜섬웨어 급증 원인
지금까지 살펴본 바와 같이, 2015년에 비해 2016년에 랜섬웨어가 폭발적으로 증가했다. [그림 14]는 안랩 시큐리티대응센터(ASEC)를 통해 접수된 랜섬웨어관련 문의 통계다. 각 월별 랜섬웨어 문의 접수 건수와 전체 문의 중 차지하는 비중을 나타낸 것으로, 2015년 4월을 제외하면 2015년 4분기에 급증했고, 2016년 1분기부터 다시 급증하는 것을 확인할 수 있다.
2015년 4월에 급증했던 것은 국내 유명 커뮤니티 사이트에서 유포된 크립토락커로 인한 영향이 크다. 특히 이때 유포된 크립토락커는 한글화된 것으로 큰 이슈가 되었다. 그리고 2015년 10월부터 12월까지 급증한 것을 확인할 수 있는데, 이 시기에는 테슬라크립트와 크립토락커가 활발하게 활동하면서 피해가 확산되었기 때문이다. 2016년 3월에 폭발적으로 증가한 것은 록키와 연관이 있다. 록키는 3월부터 자바 스크립트를 스팸 메일의 첨부 파일에 포함시켜 전세계적으로 대량 유포하는 방법을 사용했는데, 그 영향력이 상당했던 것으로 보인다. 그리고 4월은 테슬라크립트가 활동을 종료하기 전에 마지막으로 활발하게 활동했던 시점이기도 하고, 크립트엑스엑스엑스가 등장했던 시기여서 피해가 크게 발생한 것으로 보인다.
랜섬웨어, 정보보다는 돈!!!
2015년보다 2016년에 랜섬웨어의 활동이 급증한 이유는 무엇일까? 먼저 랜섬웨어가 사이버 범죄에 있어 기존 악성코드와 다른 점에 대해 알아볼 필요가 있다.
국내 사례부터 살펴보면, 2014년 말~2015년 초까지 국내에서 이슈가 되었던 파밍 악성코드와 그 이전에 국내에서 대량 유포되었던 온라인게임핵 악성코드의 경우, 모두 정보 유출형 악성코드이다. 스팸 메일의 첨부 파일을 이용하거나 보안이 취약한 웹 사이트를 악용하는 드라이브 바이 다운로드(Drive-by-download) 방식을 통해서 악성코드를 유포하고 피해자 PC를 감염시키는 과정은 거의 비슷하다. 그러나 온라인게임핵 악성코드는 감염 후 피해자의 게임 아이디와 패스워드를 탈취하고, 피해자 대신 접속해서 캐릭터의 주요 아이템과 게임 화폐 등을 게임 아이템 거래 시장에서 제 3자에게 되파는 것으로 수익을 창출한다. 파밍 악성코드도 이와 유사하다. 피해자 PC에 악성코드를 감염시키고 피해자를 속이면서 피해자의 인터넷 뱅킹 관련 정보를 탈취한다. 그리고 피해자 대신 접속하여 통장에 있던 잔고를 모두 가로채 버린다.
악성코드 제작자 입장에서는 훔칠 대상이 필요하다. 훔치려는 정보의 가치는 피해자 입장에서 높을 수 밖에 없는 건 당연하고 제작자 입장에서도 높아야 한다. 그래야 최대한의 범죄 수익을 만들어 낼 수 있기 때문이다. 온라인게임핵이 노리는 아이템과 게임 화폐 등은 인기가 좋거나 희귀한 아이템인 경우에는 상당한 고가에 거래되기 때문에 악성코드 제작자들의 공격 대상이 된다. 파밍 악성코드 역시 인터넷 뱅킹 관련 정보는 피해자의 금융 계좌에 직접 접근하여 돈을 빼낼 수 있기 때문에 악성코드 제작자들의 좋은 공격 대상이다. 악성코드 제작자들 입장에서는 그 자체로 돈이 되지 않거나, 제 3자에게 되팔지 못하는 정보는 관심 대상이 될 수 없다.
침해사고를 통한 정보 유출 경우에도 마찬가지이다. 얼마 전 세계적으로 유명한 SNS 서비스의 계정 정보가 유출되는 사고가 발생했고, 이렇게 유출된 계정 정보들은 500~600달러 정도에 판매되었다. 또한 특정 기업이나 국가 기관의 기밀 정보와 중요 정보를 탈취해야 피해자를 협박하거나 제 3자에게 되팔 때 최대한의 금전적인 수익을 만들 수 있기 때문에 탈취 대상이 되는 정보의 가치는 높으면 높을수록 선호하게 된다. 금전적인 목적이 아닌 정치적인 목적, 즉 핵티비즘(Hacktivism)인 경우에도 마찬가지다. 상대방에게 가장 큰 타격을 주는 것이 목표이기 때문에 정보의 가치가 높으면 높을수록 공격자들의 선호도는 높아질 수 밖에 없다. 공격의 대상이 되는 정보는 피해자에게 상당히 중요한 것은 당연한 것이고, 악성코드 제작자들의 입장에서도 그 정보의 가치가 상당히 중요한 것이다.
랜섬웨어는 다르다. 암호화 대상이 되는 파일들의 중요도는 제작자들 입장에서는 전혀 고려 대상이 아니다. 확장자명 기반으로 암호화를 하기 때문에 이 과정에서 금전적으로, 또는 업무적으로 중요하거나 추억이 깃든 사진처럼 피해자 입장에서는 정보의 가치가 높은 것까지 포함될 수 있다. 그러나 랜섬웨어 제작자의 목적은 오로지 돈이다. 돈만 벌면 되기 때문에 랜섬웨어 제작자들에게 암호화된 파일의 가치는 의미가 없다. 랜섬웨어가 대부분 개인 사용자를 대상으로 하고 있고, 외부로 원본 파일을 유출하지 않으며 피해자들에게 비트코인으로 직접 결제하라고 요구하는 점 등이 그 방증이다.
랜섬웨어는 위험 대비 고수익
랜섬웨어 제작자들의 목적은 오로지 돈이다. $how me the MONEY!! 수익을 극대화하기 위해 수단과 방법을 가리지 않는다. 특히 이들은 확보된 수익을 바탕으로 랜섬웨어 악성코드의 기능을 개선하고 추가한다. 암호화 알고리즘을 개선하고, 알려진 버그를 수정하고, 암호화 대상을 확대하고, 복구 기능들을 무력화하는 기능을 추가한다. 개선된 악성코드를 다시 유포해서 피해를 발생시키고, 수익을 만들어낸다. 즉 사용자의 복호화 비용 지불이 추가적인 기능 강화와 유포 확대로 이어지는 악순환이 반복되고 있는 것이다.
앞서 언급한 바와 같이 사이버 위협 얼라이언스(Cyber Threat Alliance)가 발간한 보고서에 따르면 크립토월 3.0의 제작자는 전세계적으로 3.25억 달러(한화 3900억 원)를 탈취한 것으로 추정된다. 크립토월뿐만 아니라 다른 수많은 랜섬웨어까지 고려해보면, 랜섬웨어로 인해 발생하는 전체 피해는 수조 원 이상은 충분히 되지 않을까 추론해 볼 수 있다.
이러한 랜섬웨어 제작자들 입장에서 안티바이러스 업체를 포함한 보안 업계의 전방위적 대응은 이들의 수익을 감소시키는 원인이 된다. 따라서 안티바이러스의 탐지를 우회하고, 감염 기법을 바꾸고, 목표물을 더욱 다양하게 하고, RaaS를 통해 추가적인 수익을 만들어내는 방법으로 수익을 극대화하기 위한 노력을 지금도 계속 진행 중이다.
랜섬웨어의 보안 솔루션 진단 우회
랜섬웨어 제작자 입장에서 보안 업체는 눈엣가시일 수 밖에 없다. 보안 솔루션에서 진단이 많이 될수록 자신들의 수익이 줄어들기 때문이다. 이에 보안 솔루션의 진단을 우회하는 방향으로 진화하고 있다. 가장 큰 특징은 감염되면서 생성하는 흔적을 바꾸는 것이다. 엄청나게 쏟아져 나오는 악성코드를 일일이 분석하기 어렵기 때문에, 대다수의 보안 업체에서 행위기반 탐지 기법을 사용한다. 악성코드가 감염되면서 생성한 정보들을 바탕으로 감염 여부를 확인하거나, 행위기반 탐지를 강화하는데 사용한다. 이러한 생성 정보들에 변화를 주면서 보안 솔루션의 대응을 우회하려는 시도는 계속 된다.
또 하나의 진단 우회 방법은 진단되지 않을 때까지 지속적으로 코드를 수정하는 것이다. 악성코드를 효율적으로 진단하기 위해 악성코드의 특징들을 묶어서 공통적인 특징을 뽑아내서 진단하게 되는데, 진단되는 부분을 찾아서 진단되지 않을 때까지 수정하거나 암호화하는 '크립팅 서비스(Crypting Service)'라는 방법으로 진단을 우회하는 것이다. 바이러스토탈과 같은 사이트는 보안 업계 종사자들뿐 아니라 악성코드 제작자들도 진단 여부를 확인하는데 쓸 수 있다는 점을 간과해서는 안 된다.
랜섬웨어 감염 기법의 전환
보안 솔루션의 진단을 우회하는 것과 함께 시도되는 것이 감염시키는 방법을 바꾸는 것이다. 다르게 말하면 전술에 변화를 주는 것이다. 악성코드를 유포할 때는 보통 가장 효과가 좋았던 방법을 유지하는 특성이 있다. 악성코드에 대응하는 것 역시 이러한 특성을 고려하여 진행된다. 악성코드 제작자들이 유포 방법이나 감염 방법에 변화를 주면, 대응하는 입장에서는 이를 놓치거나 당황하기 쉽다. 일반적인 사용자들은 더욱 인식하기 어렵다. 즉, 보안 솔루션의 진단 회피와 피해자를 기만하기 위한 목적이 가장 크다. 특히 2016년 상반기는 이러한 특징이 두드러진다.
기존에는 외부에 접속해서 암호화에 필요한 공개키를 다운로드하여 사용하는 특징이 있었다. 그러나 자바 스크립트 형태로 작성된 최초의 랜섬웨어로 알려진 랜섬32(Ransom32)가 올해 1월에 발견되었는데, 외부 접속 없이 암호화가 진행되는 오프라인(Offline) 암호화 기법이 적용되어 화제가 되었다. 그 이후로 많은 수의 랜섬웨어들이 외부 접속 없이 스스로 암호화를 진행하는 기법을 채택했다.
그 뿐만 아니라 전통적으로 첨부하던 파일 포맷에서 벗어나 새로운 포맷의 파일을 스팸 메일에 첨부하는 방법을 채택했다. 기존에는 실행 파일(EXE, SCR)을 첨부하거나, 문서 파일(PPTX, DOCX, XLSX)에 악성 행위를 하는 매크로를 포함시켜 첨부하거나, 이러한 파일들을 압축(ZIP, RAR)하여 첨부하는 방식을 사용해왔다. 그러나 록키 랜섬웨어의 경우 자바 스크립트 파일, 즉 .js 확장자를 가지는 파일을 ZIP 압축 파일로 묶어서 유포하는 방식을 사용했다. 기존과 다르고 잘 알려지지 않은 아이콘이기 때문에 피해자들은 큰 의심 없이 클릭해서 실행하면서 감염되는 사례가 다수 발견되었다.
또한 스팸 메일의 첨부 파일로 유포하는 것과 함께 취약한 웹 서버나 광고 서버를 통해 플래시, 인터넷 익스플로러의 취약점을 이용하여 악성코드를 감염시키는 ‘드라이브 바이 다운로드’ 기법이 상당히 많이 활용되었다. 기존 온라인게임핵 악성코드와 파밍 악성코드의 유포에도 많이 활용되던 방법이지만, 최근에 발견된 제로데이 취약점들까지 포함된 익스플로잇 킷(Exploit Kit / EK)을 이용해 많은 피해를 발생시켰다. 대표적으로 앵글러(Angler) EK, 뉴트리노(Neutrino) EK, 리그(RIG) EK, 뉴클리어(Nuclear) 등이 있으며, 상반기에 가장 활발한 활동을 보였던 앵글러 EK는 최근 활동이 주춤해진 상태이다.
감염 대상 목표물의 다각화
랜섬웨어는 피해자의 체감 피해를 키워서 수익을 극대화시키기 위해, 감염 대상을 보다 더 구체화하여 특정 환경 사용자들을 대상으로 삼기 시작했다. 2016년 1월에 발견된 랜섬32의 경우 웹 개발 모듈이 설치된 개발자 환경 또는 파워 유저 환경을 대상으로 했으며, 2월 말에 발견된 CTB 록커 포 웹(CTB-Locker for Web)은 웹 서버 환경에서 동작하도록 설정되어 있다.
이 랜섬웨어는 시스템이 서버인지 여부를 확인하는 과정과 함께 파일을 암호화하는 폴더들도 조금씩 다른 특성을 가지고 있다. 불필요한 폴더를 제외하거나, 일반적인 PC 사용자가 데이터를 저장하는 위치만 골라서 암호화하는 경우도 발견되고 있다. 그리고 삼삼(SaMaS 또는 SAMSAM)으로 알려진 랜섬웨어의 경우, 의료기관이나 헬스케어 관련 기업들을 대상으로 한 것으로 알려져 있다. 이와 같이 최근에는 특정 환경의 사용자만 감염되도록 하여, 체감 피해를 극대화하기 위한 다양한 시도들이 계속 되고 있다.
랜섬웨어도 대신 만들어주는 RaaS의 등장
요즘 돈을 지불하면 하객도 해주고, 운전도 대신 해주고, 별풍선을 지불하면 음식도 대신 먹어주는 시대이다. 랜섬웨어 제작 역시 돈을 지불하면 대신 해주는 시대가 되었으며, 이를 두고 RaaS(Ransomware as a Service)라고 한다. 말 그대로 프로그래밍을 모르는 단순 초보자도 돈만 내면 쉽게 랜섬웨어를 만들고 유포하고 관리하면서 발생하는 범죄 수익에 대한 관리까지 손쉽게 할 수 있는 것이다.
랜섬웨어의 종류가 너무 많아짐에 따라 랜섬웨어 제작자들도 부익부빈익빈 현상이 갈수록 심해지는 특징을 보인다. 유명한 랜섬웨어는 수익을 많이 내면서 유포 서버를 늘리고, 이를 통해 더 많은 수익을 올리고 있다. 반면, 유명하지 않은 랜섬웨어는 추가적인 수익을 내지 못해 차기 버전을 내놓지 못하고 사장되는 것이 현실이다. 그래서 이들은 랜섬웨어를 대신 만들어주는 쪽으로 방향을 전환하고 있는 것으로 보인다.
랜섬웨어 블랙마켓은 RaaS를 제공하는 조직을 최고 정점으로, 피라미드 형태로 조직을 키우고 분화시키고 있는 것으로 추측된다. 랜섬웨어 제작자들은 피해자로부터 직접 수익을 얻을 뿐 아니라, RaaS를 통해 대행 서비스를 제공해주면서 이중으로 수입을 올리는 것이다. RaaS로 잘 알려져 있는 랜섬웨어로는 랜섬32, 크립토락커, 페트야의 변형인 미샤 등이 있다.
미샤 랜섬웨어의 경우 일주일에 5 BTC(비트코인) 이하의 수입을 올리면 25%, 125 BTC 이상의 수익을 올리면 85%의 수익을 제작자에게 제공해야 한다. 악성코드 제작 대행 의뢰자가 큰 수익을 낼 경우, 제작자가 그 수익의 대부분을 가져갈 수 있도록 하는 구조로 되어 있다. 이와 같이 랜섬웨어 제작부터 관련 C&C 관리, 비트코인 수익 배분 등 다양한 기능을 클릭 몇 번으로 해결할 수 있는 서비스를 제공한다. 이제는 하나의 커다란 시장을 형성하고 있다고 해도 과언이 아니며, 이러한 특성으로 인해 2016년에 폭발적으로 많은 랜섬웨어가 출현한 것으로 파악된다.
일반 PC 사용자를 위한 랜섬웨어 예방법
“취약점 중에 가장 크고 문제가 되는 취약점은 다름 아닌 사람이다”라는 표현이 있다. 아무리 좋고 뛰어난 보안 솔루션을 도입해서 사용한다고 하더라도 최종 사용자는 결국 자유의지를 가지고 있는 사람이기 때문에 그만큼 통제하기 어렵다는 뜻이다. 그 뿐 아니라 보안의 중요성을 강조하고 사용자 규제를 강하게 해버리면 사용자의 불편은 말할 것도 없고 해당 조직의 생산성마저 영향을 받게 되는 딜레마에 빠지게 된다. 따라서 이 부분은 보안 담당자들의 영원한 숙제일 수 밖에 없다. 반대로 생각해보면 사용자들이 안전하게 PC를 사용할 수 있다면 랜섬웨어의 위협으로부터 상당 부분 벗어날 수 있다는 것을 의미한다.
랜섬웨어 예방법은 다음과 같다.
1. 윈도우 최신 버전 설치
2. 마이크로소프트(Microsoft)에서 매달 둘째 주 수요일에 발표하는 윈도우 보안 업데이트 꾸준한 적용
3. 인터넷 익스플로러가 아닌 엣지(Edge), 크롬(Chrome), 파이어폭스(Firefox) 등 다른 브라우저 사용
4. 인터넷 브라우저, 자바, 플래시 플레이어의 최신 버전 사용
5. 자바, 플래시 플레이어가 반드시 필요하지 않으면 가급적 PC에서 제거
6. 주기적인 데이터 백업의 생활화
7. 백신 프로그램의 올바른 사용
8. 불필요하거나 본래 목적에서 벗어난 무분별한 PC 사용 자제
9. 공짜 사이트는 악성코드의 온상임
10. 수상한 이메일 열람과 첨부 파일 실행 자제
위의 예방법 중에서 새로운 내용은 전혀 없다. 이러한 예방법을 모두 지키는 것이 귀찮고 힘들다면, 꾸준하게 데이터를 백업하는 습관 하나만이라도 제대로 가지면 랜섬웨어로 인한 피해를 최소화할 수 있다. 외장하드와 같이 백업 데이터를 저장하기 위한 스토리지를 최초 구입하는 비용을 제외하면 추가적으로 비용이 발생하지 않는 보험이라고 할 수 있기 때문에 “데이터 백업”이라는 보험에 가입하는 것을 적극적으로 권한다.
다차원으로 접근하는 입체적 대응 전략 필요
지금까지 랜섬웨어에 대한 전반적인 내용에 대해 살펴보았다. 랜섬웨어를 가장 잘 설명해주는 문장인 “$how me the MONEY!!”가 어떤 의미인지, 랜섬웨어가 2016년에 왜 갑자기 급증했는지 등에 대한 이유를 알아보았다. 그리고 개인 사용자의 안전한 PC 사용이 왜 중요한지까지 알아보았다. 가장 중요한 것은 사용자의 자발적인 예방 실천이겠지만, 자유의지를 가지고 있는 사람을 통제하기란 쉽지 않은 문제다. 그러나 사람에 대한 관리가 제대로 되지 않으면 수많은 솔루션으로 중무장해도 막을 수 없다.
따라서 기업 보안 담당자는 조직원들이 랜섬웨어 예방을 위한 안전한 PC 사용 수칙을 준수하도록 가이드하는 것과 동시에 네트워크와 엔드포인트 부분에서 차단해주고 관리해 줄 수 있는 보안 솔루션을 효과적으로 운영해야 한다. 사용자를 효과적으로 관리하고 통제할 수 있는 PC 취약점 점검 솔루션, 알려진 위협에 가장 효과적으로 대응할 수 있는 것으로 알려진 안티바이러스 솔루션, 그리고 알려지지 않은 보안 위협에 대응하기 위한 지능형 위협 대응 솔루션 등을 통한 효과적이고 입체적인 대응 전략 구축이 필요하다.
[참고 자료]
3. 2부_이상적인 vs. 현실적인 랜섬웨어 대응 방안
4. 2016년 1분기 최악의 랜섬웨어, 어떤 게 있나?
7. Criminals behind CryptoWall 3.0 Made $325 Million
8. Lucrative Ransomware Attacks: Analysis of the CryptoWall Version 3 Threat
9. Locky ransomware, disguised in Word docs, latest from Dridex creators
10. ESET releases new decryptor for TeslaCrypt ransomware
11. TeslaCrypt shuts down and Releases Master Decryption Key
12. TeslaCrypt Developers recommend TeslaDecoder to Decrypt Files
13. What's cooking? Dridex’s New and Undiscovered Recipes
14. Group Behind CryptoWall 3.0 Made $325 Million: Report
15. Antivirus is Dead: Long Live Antivirus!
16. Ransom32 – look at the malicious package
17. Locky Ransomware Installed Through Nuclear EK
- AhnLabASEC대응팀 심상우 선임, 김민건 주임