본문 바로가기

보안이슈

당신의 코인은 안전합니까?

당신의 코인은 안전합니까?  "잔액: 0 BTC (0 KRW)"

 

지난 2017년은 암호화폐의 해라고 해도 과언이 아니다.

암호화폐의 대장이라 불리는 비트코인은 2017년 초 까지만 해도 일반인들에게 비교적 많이 알려지지 않았었다.

그러던 중 작년 5월의 “WannaCry 랜섬웨어”를 통해 대규모 감염사례가 발생하였고 백만 원 대의 가격을 유지하던

비트코인은 순식간에 몇 배 이상의 가격으로 건너뛰었다. 그 후 다양한 거래소 시스템이 생겨나면서 날이 갈수록 비싸지는 비트코인을 얻기 위해 점점 더 많은 공격자들이 랜섬웨어를 유포하기 시작했다.

자연스럽게 비트코인은 더욱 유명해졌고 2017년 12월 초, 비트코인은 한화 이천만 원이 넘게 되었다.(국내 C거래소 기준)

 

 

 

가격의 급등, 거래소의 활성화, 암호화폐(코인)의 다양화, 채굴방식의 다양화 등의 이유로 암호화폐 시장규모는

빠른 속도로 성장했다. 암호화폐의 가치가 높아지다 보니 파일을 잠그고 비용을 암호화폐로 요구하는 랜섬웨어가 아닌

암호화폐 자체를 노리는 악성코드들이 생겨나기 시작했고 공격자들은 암호화폐의 특성을 노리는 공격 방식을

사용하여 전 세계 수 많은 암호화폐 투자자들의 재산을 훔치는 데에 성공했다.
본 컬럼에서는 국내 암호화폐 시장이 변화함에 따라 국내 암호화폐 투자자들을

겨냥한 악성코드의 유형을 정리하고자 한다.

 

 

1. 랜섬웨어


랜섬웨어는 암호화폐 시장의 초창기부터 공격자들이 돈을 벌기 위해 가장 많이 사용한 악성코드의 유형이다.

감염 시 사용자 PC의 파일을 암호화 시킨 뒤 파일의 복호화 비용을 요구하는 특징이 있다. 최초의 랜섬웨어는

실제 현금을 입금 받는 유형이었지만 최근 몇 년간 유포된 랜섬웨어는 거래의 익명성이 보장되는 코인을 요구하고 있다.

 

 

1-1. 비트코인 랜섬웨어


2015년 4월, 국내 대형 커뮤니티에서 사용하는 광고 서버가 해킹되어 랜섬웨어를 뿌린 사례가 있었다.

랜섬웨어는 복호화 비용을 비트코인으로 입금 받기 때문에 감염자들이 비트코인을 구매하여 송금을 해야 한다.

그렇기 때문에 공격자들은 랜섬웨어 감염 시 랜섬노트(Ransom-note)를 통해 비트코인의 구매 및 입금방법을

설명해주는데 과거 랜섬웨어는 이러한 설명이 영어로 적혀있었기 때문에 국내 감염자들이 공격자에게 복호화 비용을

지불하고 싶어도 영어 설명서를 이해하기 힘들어서 복호화를 못하는 경우가 있었다. 랜섬웨어 공격자는 이러한 사실을

반영하여 다양한 언어를 통해 설명서를 제작하기 시작했다. 해당 랜섬웨어는 국내에 유포된 랜섬웨어 중에

최초로 한글을 사용하여 비트코인의 구매방법을 설명하는 랜섬웨어로 당시 큰 이슈가 되었다.

 

                                                       [그림] 국내에 유포된 최초의 한글 랜섬웨어

 

한글 설명서를 지원하는 “Crypt0L0cker” 랜섬웨어의 성과가 좋아 보였는지, 랜섬웨어 제작자들은 본격적으로

랜섬웨어에 한글 설명서를 포함시켜 국내에 유포하기 시작했다.

 

 

1-2. 알트코인 랜섬웨어


“알트코인”은 암호화폐 중 비트코인을 제외한 다른 코인들을 일컫는 말이다.

비트코인의 가격이 폭등하면서 알트코인들이 대거 등장하게 되었다. 알트코인은 종류와 특징에 따라 저마다의 값어치가 매겨지기 시작했고 기존에 비트코인으로만 복호화 비용을 받았던 공격자들이 비트코인을 대신하여 다른 알트코인들을

받게 되지 않을까 하는 예측이 많이 나왔다.
때마침 비트코인의 가격이 천정부지로 오르면서 복호화 비용은 1 비트코인 단위에서 사토시(Satoshi, 비트코인의 단위)

단위로 쪼개지게 되었고 공격자들은 비교적 저렴한 다른 알트코인들을 사용하기 시작했다.

 

                                                 [그림] 2015년 Crypt0L0cker의 복호화 비용(1.84338 BTC)

 

                                                         [그림] 2017년 Princess Ransomware의 복호화 비용(0.066 BTC)

 

“GrandCrab” 랜섬웨어는 대시(DASH)코인을 복호화 비용으로 입금 받는 랜섬웨어다.

2018년 1월, 국내에 다수의 피해사례가 발생하였다. 기존의 랜섬웨어와 유사하지만 비트코인 대신 대시코인을

받는다는 점이 다른 랜섬웨어와의 차이점이다.

 

                                                        [그림] DASH코인을 입금 받는 GrandCrab

 

그 외에도 2018년 1월, 모네로 코인과 이더리움을 통해 복호화 비용을 입금 받는 “HC9” 랜섬웨어가

국내에 유포된 사례도 있다.

 

 

1-3. 지갑암호화 랜섬웨어


랜섬웨어 악성코드는 “사용자에게 중요한 파일”을 암호화 시키는 것을 목적으로 하기 때문에 문서, 이미지, 음악, 비디오, 압축파일 등 많은 파일 확장자를 암호화 대상으로 한다. 그렇기 때문에 감염된 사람들은 본인들의 중요한 파일을 살리기 위해 울며 겨자 먹기로 복호화 비용을 지불할 수 밖에 없다. 때문에 공격자들은 사용자의 PC에서 중요하게 생각할만한

파일 확장자를 연구하기 시작했을 것이다. 때마침 암호화폐 거래소의 보안성에 대한 문제가 제기되었다.

그로 인해 암호화폐 투자자들은 암호화폐 관리 프로그램 등을 사용하여 온라인 거래소에 존재하는 자신의 코인들을

오프라인 지갑으로 다운로드 받아 저장하기 시작했다.
“MultiBit”는 오프라인 비트코인 지갑 관리 프로그램으로 사용되는 소프트웨어 중 하나다. MultiBit에서는 비트코인을

오프라인 형태의 파일로 저장하기 위해 “.wallet” 확장자를 사용했는데, 얼마 뒤 해당 확장자까지도 암호화 시켜버리는

랜섬웨어가 등장하기 시작했다.

 

                                                     [그림] 약 5000개의 확장자를 암호화 시키는 HERMES 랜섬웨어

 

                                                                [그림] HERMES 랜섬웨어의 암호화 대상 확장자

 

만약, 지갑 관리 소프트웨어에서 사용하는 확장자가 암호화 되어버린다면 오프라인 지갑을 사용하는 투자자들은

암호화된 자신의 코인을 구해내기 위해 코인을 지불해야 하는 상황에 놓이게 된다.

 

 

2. 코인 채굴형 악성코드


암호화폐를 벌기 위해 랜섬웨어에 의존하던 공격자들은 감염자가 직접 코인을 채굴하여 자신들의 지갑으로 전송하게끔 발상의 전환을 시도했다. 코인 채굴은 컴퓨터의 수많은 연산과정을 필요로 하기 때문에 많은 전력과 장비의 과부하를

발생시킨다. 또한, 코인의 채굴 속도는 고사양 장비를 사용해도 매우 느리기 때문에 단일 장비 한 개 만으로는 코인을

채굴해내기가 어렵다. 공격자들은 이러한 채굴의 특성을 파악하여 동시에 많은 감염자들이 자신들의 장비(PC)로 코인을

채굴하도록 만드는 일명 “Coin Miner”를 개발했다.

 

 

2-1. 비트코인 채굴


코인 채굴형 악성코드의 초기 모델은 역시나 비트코인을 채굴하도록 설계되었다. 단일 악성코드로 존재하지는 않았으며 봇넷(Botnet)의 기능 중 하나로 동작하였다. 2013년부터 국내에서 발견되기 시작한 비트코인 채굴 봇넷은 감염자 PC의 CPU와 GPU 등을 사용하여 비트코인을 채굴하고 공격자의 지갑으로 전송하는 형태였다.

 

 

                                                    [그림] 비트코인 채굴 악성코드 유포 시나리오

 

2-2. 알트코인 채굴


비트코인 채굴형 악성코드는 채굴을 위해 악성코드를 유포해야 한다는 번거로움이 있다. 대부분의 악성코드가 그렇듯

사용자 PC가 백신을 사용 중이거나 안전한 환경에서 사용하고 있을 경우 감염이 어렵기 때문에 공격자들은

채굴의 한계점이 있었다. 이러한 상황에서 자바스크립트 채굴을 지원하는 모네로(Monero)코인이 등장하게 되면서

공격자들은 악성코드를 사용하지 않고 코인을 채굴하도록 시킬 수 있는 “크립토재킹(Cryptojacking)” 방식을 만들어냈다.
인터넷 사용자들이 악성 자바스크립트가 삽입된 웹 사이트에 접속하게 되면 브라우저는 코인 채굴을 시작한다.

사용자는 별다른 악성코드에 감염되지 않았지만 브라우저가 자바스크립트 코드를 실행시키면서 사용자의 PC를

사용하여 코인을 채굴한다.

 

                                                                    [그림] 모네로 코인 크립토재킹 시나리오

 

                                                                     [그림] 모네로 코인 채굴 자바스크립트 코드

 

 

사용자는 웹 사이트에 접속만 했을 뿐인데 본인의 전력과 장비를 이용하여 채굴한 모네로 코인을 공격자에게 바치게 된다.

 

 

3. 코인 탈취형 악성코드


기존에 간접적으로 사용자의 코인을 노리던 공격자들은 점점 더 직접적으로 코인을 노리기 시작한다.

암호화폐 지갑주소는 일반적으로 긴 문자열의 형태를 가지고 있다.

 

                                                           [그림] 비트코인 지갑주소의 형태

 

비트코인의 지갑주소는 숫자와 문자가 뒤죽박죽 섞여있는 형태이며 글자수 또한 길기 때문에 지갑주소를

직접 손으로 입력하는 사람은 비교적 적다. 대부분 클립보드를 이용하여 지갑주소를 복사해두었다가 붙여 넣는 방식으로 사용하는데 이를 악용하는 악성코드들이 등장하기 시작했다. 악성코드는 다음과 같은 알고리즘으로 작동한다.


   - 악성코드는 클립보드에 저장되는 내용을 실시간으로 검사
   - 비트코인 지갑주소로 보이는 문자열이 클립보드에 복사됨
   - 악성코드는 이를 최대한 유사한 공격자의 비트코인 지갑주소로 바꿔치기

 

                                                                   [그림] 클립보드에 저장된 지갑주소 바꿔치기

 

결과적으로 송금을 위해 정상적인 입금 대상의 지갑주소를 복사한 뒤 붙여넣기를 할 경우, 정상적인 입금 대상의 지갑주소 대신 공격자의 지갑주소가 입력되면서 공격자에게 입금을 시키는 상황이 발생하는 것이다.

 

                                                                             [그림] 클립보드 변조 예시

 

 

4. 결론


암호화폐 거래가 활발해지고 투자자가 대거 생겨나면서 돈을 목적으로 코인을 이용하는 공격 수법이 증가하고 있다.

과거에는 간접적으로 금전손실을 발생시켰던 사이버 공격이 이제는 직접적으로 금전적인 손실을 가져올 수 있는

시대가 되었다. 현재 국내외로 암호화폐의 미래와 가치에 대해 많은 의견이 오가지만 적어도 이 순간 공격자들은

암호화폐의 가치를 믿고 한 개라도 더 훔쳐내기 위해 머리를 굴리고 있다. 현실에서 지갑을 도둑맞거나 잃어버리듯이

코인지갑이 하루아침에 공격자들의 주머니로 들어갈 수 있으며, 이는 아마도 실제 지갑보다 금액이 훨씬 높을 것이다.

사이버 보안은 이제는 자신의 정보를 위해 지켜야 하는 것이 아니라 자신의 재산을 위해 지켜야 하는 필수적인 요소가

되어가고 있다고 생각한다.

 

                                                    

                                            "당신의 코인은 안전합니까?"


작성자 : HAURI CERT _ UH4CK3R