주요 랜섬웨어 특징과 악성 행위 분석

국내도 랜섬웨어 비상이 걸렸다.

 

이미 해외에서는 수년 전부터 등장한 공격수법이었으나 그동안 국내에서는 큰 영향이 없었다.

 

그러나 최근 랜섬웨어의 일종인 크립토락커(CryptoLocker)의 한글 버전이 국내 웹 사이트에서 유포되면서 랜섬웨어에 대한 우려가 높아지고 있다.

 

이 글에서는 주요 랜섬웨어를 분류해 각각의 특징과 행위를 소개하고자 한다.

 

분류 및 우선순위는 국내외 이슈 정도(고객사 접수, 뉴스 기사, 포스팅 등)와 진단 건수를 기반으로 하였으며, 대상 기간은 2014년 10월부터 2015년 3월까지이다.

 

랜섬웨어(Ransomware)는 ransom(몸값)과 software(소프트웨어)의 합성어로 컴퓨터 사용자의 문서를 ‘인질’로 잡고 돈을 요구한다고 해서 붙여진 명칭이다. 즉, 사용자 시스템에 설치된 후 파일을 암호화해서 정상적으로 사용하지 못하도록 하고 이를 정상화 해준다는 조건으로 비트코인 또는 추적이 어려운 전자 화폐를 통한 금액 지급을 요구하는 악성코드이다.

 

 

랜섬웨어 Top 6 분류 및 특징

 

랜섬웨어 가운데 최근 V3 진단 수량에서 많은 비중을 차지하고 기사화 등으로 이슈가 되는 것에 대해 [표 1]과 같이 총 6개로 분류할 수 있다. 좀 더 넓게 구분하자면 ‘나부커(Nabucur)’와 그 외의 랜섬웨어 류로 나눌 수 있다. 그 차이의 기준은 나부커는 인코딩한 원본 파일에 감염코드를 추가해서 정상 파일을 변경하는 방식으로 V3에서는 해당 파일들을 원본 파일로 복원할 수 있다. 반면, 나머지 종류의 랜섬웨어는 RSA 나 AES 같은 암호화 기법을 사용하여 원본 파일로 복원하기 위해선 복호화 키가 필요하다. 그리고 실제 동작을 살펴보면 비슷한 부분이 많다는 걸 알 수 있다.

 

 


​​​​[표 1] 주요 랜섬웨어 분류

 

 

각 랜섬웨어의 특징은 [표 2]와 같이 정리할 수 있다. 가장 큰 특징은 앞서 언급한 것처럼 나부커에서는 암호화 기법을 사용하지 않았으며 공격 대상 파일에 ‘.exe’ 파일이 있다는 것이다. 그리고 공통적으로는 모든 종류에서 비트코인을 이용해 사용자의 결제를 유도하는 것을 확인할 수 있다.

 


 

[표 2] 주요 랜섬웨어 특징

 

 

이들 랜섬웨어가 발생한 시기를 타임라인으로 정리하면 [그림 1]과 같다. 최근에 발견된 ‘테슬라크립트(TeslaCrypt)’는 공격 대상 파일을 문서나 이미지 파일 뿐만 아니라 게임 관련 파일들도 대상에 포함된 것이 특징이며, 이메일로 유포되는 ‘Ctb락커(CtbLocker)’ 류는 최근에 다시 확산되고 있다.


 

[그림 1] 주요 랜섬웨어 타임라인

 

 

 

랜섬웨어 Top 6 기능 분석

 

 

Nsb락커 / 나부커 N

abucur 악성코드에 대해서는 2015년 2월 11일자 안랩 ASEC 블로그(asec.ahnlab.com/1025)에 ‘원본파일 복원이 가능한 랜섬웨어(NSB: National Security Bureau)’ 제목으로 소개한 바 있다. 해당 악성코드에 감염되면 시스템에 있는 이미지 파일(*.bmp, *.gif, *.jpg, *.png), 문서 파일 (*.doc, *.ppt, *.xls), 미디어 파일(*.mp3, *.wma)뿐만 아니라 실행 파일(*.exe)과 압축 파일(*.rar, *.zip)도 공격 대상이 된다. 이 파일들은 원본 파일을 인코딩된 형태로 백업하고, 이는 실행 파일로 변경되는데 이와 같이 원본 파일들을 ‘AES’, ‘RSA’ 같은 암호화 방법으로 변경한 것이 아니므로 백신으로도 복원이 가능하다. 그리고 변경된 실행 파일에는 백업된 원본 파일 뿐만 아니라 Nabucur 감염코드도 함께 포함되어 있어 그 자체가 다시 다른 파일들을 감염시키는 나부커 랜섬웨어 악성코드가 된다.


 

 
[그림 2] Nsb락커 / 나부커 동작 흐름


[그림 2]에서 볼 수 있듯이 나부커에 의해 감염된 파일은 실행되면 실행 파일 2개를 ‘%User%’와 ‘%ALLUser%’ 폴더에 생성하는데 이 파일은 스레드 형태로 기능을 수행하면서 C&C 접속과 시스템 내의 특정 확장자를 가진 파일들을 감염시킨다. 그리고 최종적으로 감염된 시스템의 화면을 금전을 요구하는 화면으로 바꾼다.

 

 

 
[그림 3] Nsb락커 / 나부커 감염 화면


Ctb락커 / 크리트로니
2014년 7월에 공개된 랜섬웨어 Ctb락커(CtbLocker)는 ‘크리트로니(Critroni)’라는 이름으로도 알려졌으며 스팸메일로 유포되는 다운로더에 의해서 생성 및 실행된다. 첨부 파일로 포함되어 있는 다운로더는 ‘.zip’ 또는 ‘.cab’ 형태로 압축되어 유포된다. 압축 해제된 파일은 ‘.scr’ 확장자를 가지고 있다. 실행하면 ‘%TEMP%’ 폴더에 정상 ‘.rtf’ 파일을 생성/실행해서 마치 문서 파일처럼 위장하지만 백그라운드에서는 사용자 몰래 악성코드를 다운로드한다.


 

 
[그림 4] Ctb락커 / 크리트로니 동작 흐름


다운로드된 파일은 랜섬웨어 악성코드로 오피스 문서 파일들뿐만 아니라 이미지와 소스파일 그리고 기타 다양한 파일을 암호화 대상으로 하고 완료 후에는 Ctb락커에 대한 메시지와 함께 비트코인을 요구하는 페이지를 화면에 보여 준다.

 

 

[그림 5] Ctb락커 감염 화면


96시간 내에 돈을 지급하지 않으면 데이터를 복구할 수 없다는 메시지를 보여주고 해당 시간이 모두 지나거나 컴퓨터 시간을 임의로 이후 시간으로 조작하면 [그림 6]과 같이 만료(expire) 화면이 나타난다.

 

 



[그림 6] Ctb락커 만료 화면

 

 

크립토락커
2013년 9월에 최초 발견된 크립토락커(CryptoLocker)는 Ctb락커와 마찬가지로 스팸메일의 첨부 파일 형태 또는 P2P 방식의 ‘게임오버 제우스(Gameover Zeus)’ 봇넷 악성코드를 통해서 유포되며 문서와 이미지 파일들을 암호화하였다. 이를 정상화하고 싶으면 머니팩(MoneyPak)이나 비트코인을 통한 결제를 요구한다.

 

이 랜섬웨어는 자신을 레지스트리에 자동 실행하도록 등록해 놓는데 등록된 이름이 ‘크립토락커(CryptoLocker)’로 되어 있는 것이 특징이다. C&C 서버에 접속해서 공개키(Public Key)를 받아온 후에 시스템의 파일들을 암호화하는데 현재는 해당 서버들이 다운되어 있는 상태이므로 랜섬웨어 기능이 동작하지는 않는다.

 

 



[그림 7] 크립토락커 동작 흐름


2014년 8월, 글로벌 보안 전문가들이 ‘Tovar’ 오퍼레이션을 통해 이 악성코드 제작자의 C&C 서버를 다운시키고 서버에 저장된 복호화 키를 다수 획득함으로써 현재는 암호화된 파일 상당수를 이전의 상태로 복구할 수 있다. 해당 기간까지 전세계 약 50만 대의 시스템이 크립토락커에 감염된 것으로 보고되었다.

 

 

 


[그림 8] 크립토락커 감염 화면

 

 

크립토월/크립토디펜스
크립토월은 전체적인 동작 흐름이 앞서 설명한 크립토락커와 비슷하다. 둘 다 하위 프로세스를 생성한 후 PE 이미지를 인젝션시켜서 동작하며, C&C 서버로부터 공개키를 받아온 후에 랜섬웨어 기능을 실행한다.


 


[그림 9] 크립토월 동작 흐름

 

 

 

 
[그림 10] 크립토월 감염 화면

 

 

토렌트락커
토렌트락커(TorrentLocker) 역시 앞에 설명한 크립토락커, 크립토월과 비슷한 동작을 하며 코드가 진행되는 부분도 매우 비슷하다. 단 “HKCU\Software\Bit Torrent Application\configuration” 레지스트리에 암호화한 파일 리스트를 등록하는 특징이 있어서 토렌트락커(TorrentLocker)라고 명명하게 되었다고 한다.


​​​​


[그림 11] 토렌트락커 동작 흐름

 

 

 

 

[그림 12] 토렌트락커 감염 화면

 

 

테슬라크립트
테슬라크립트(TeslaCrypt)는 게임 기능과 저장 데이터를 공격하는 랜섬웨어 류로, 아이프레임(iframe) 대신 태그(div)를 이용한 플래시 플레이어 취약점을 통해 일반 사용자 PC에 설치된다. 구조는 앞서 크립토락커(CyptoLocker)와 유사하지만, 문서 파일뿐만 아니라 게임 관련 파일(프로필, 세이브, 데이터, 지도, 모드 등)도 암호화한다는 차이가 있다.


​​​​


[그림 13] 테슬라크립트 동작 흐름

 


테슬라크립트는 크립토락커와는 다르게 네트워크 접속은 사용자 PC의 비트코인 접속 주소를 전달하기 위해 사용되며, %AppData% 폴더에는 암호화한 파일 리스트를 가지고 있는 ‘log.html’파일과 복호화할 때 사용하는 ‘key.dat’ 파일이 저장된다. 그리고 바탕화면에 생성되는 ‘HELP_RESTORE_FILES.txt’ 파일에는 암호화된 파일을 풀기 위해 비트코인을 지급하는 과정이 설명되어 있다.

 

 

 

 

[그림 14] 테슬라크립트 감염 화면

 

 

랜섬웨어 악성코드에 사용자 PC가 감염되면, 화면으로 PC가 감염되었음을 사용자에게 알려주고 이를 정상화하려면 금액을 지급하라는 내용에 사용자들은 혼란을 겪는다. 당장 PC를 사용할 수 없을 뿐만 아니라 내부에 중요한 파일들이 있다면 다른 뚜렷한 해결책이 없는 상황에서는 사용자들이 결제를 선택할 수밖에 없을 것이다. 그렇다고 실제 금액을 지급했을 때 시스템이 원래대로 돌아온다고 확신할 수도 없다. 그러므로 해당 악성코드에 PC가 감염되는 것을 애초에 방지하는 것이 가장 좋은 방법인데 그러기 위해서는 발신자가 명확하지 않은 이메일에 포함된 의심스러운 파일들을 실행하지 말아야 한다. 또한 PC에 사용 중인 백신을 항상 최신의 상태로 업데이트하고, OS와 애플리케이션 공급업체에서 제공하는 패치를 최신 버전으로 유지하는 것이 중요하다.

 

 

Posted by 엠플 (주)엠플

댓글을 달아 주세요