비트코인 거래소, 해커와 절도범으로부터 안전한가

  • 송지환SW기반정책·인재연구실 책임연구원
날짜2017.07.31
조회수32895
글자크기
  • Are bitcoin exchanges safe from hackers and thieves?
    • 비트코인 가치 상승에 따른 비트코인 거래소에 대한 해킹과 절도 증가
    • 비트코인 거래에 필요한 개인키가 비트코인 거래소에서 유출되면 비트코인 대량 도난 사고 발생 가능
    • 개인키 관리에 특히 유의하여 비트코인 도난 예방
    • Hacking and thefts are increasing due to rising the value of bitcoin.
    • Leak of private keys which are essentially required for bitcoin transactions could result in massive bitcoin theft.
    • We should prevent bitcoin theft by paying special attention to managing our private keys.
  • 온라인 지급 시스템에 새로운 패러다임을 가져온 비트코인, 가치 급상승 중
    • 가상화폐(암호화폐)는 제3자의 개입 또는 중개 없이 개인 간 직접 거래가 가능하므로 온라인 지급 시스템(online payment system)에 새로운 변혁을 가져올 것으로 전망
    • 2008년 10월‘ 사토시 나카모토(Satoshi Nakamoto)’가 비트코인에 대한 백서1를 발표함
    • 비트코인 백서 발표 이후 제3의 신뢰기관(Trusted Third Party, TTP) 없이 사용자끼리 거래가 가능하고 모든 거래 내용이 분산원장에 투명하게 공개되는 비트코인에 대한 관심이 점점 높아지고 있음
    • 특히, 국가의 이해관계에 따라 결정되는 국제통화의 양적 완화, 금리 조정 등의 정책은 세계경제에 부정적인 영향2을 끼칠 수 있어 국제통화의 대안으로 비트코인이 언급되기도 함
    • 비트코인 이후, 이더리움(Ethereum), 리플(Ripple), 라이트코인(Litecoin) 등 응용에 따라 다양한 가상화폐들이 등장하고 있음
    • 급등과 급락을 반복하면서도 비트코인의 가치는 꾸준히 상승
    • 2009년 10월‘ New Liberty Standard’라는 가명을 쓰는‘ 채굴자(minder)’가 최초로 $1 = 1,309.03 비트코인(BTC)으로 공시하였으나, 2010년 25달러의 피자를 10,000 BTC로 구매한 사례를 보아 당시 1 BTC의 가치는 대략 0.25센트(3원) 정도로 추정됨
    • 2017년 7월 초 국내에서 1 BTC가 400만 원 선 가까이에서 거래되면서 7년 전에 비해 가치가 무려 백만 배 이상 크게 오름
    • [그림 1] 최근 3년간 비트코인 시세 변화, 최근 1 BTC의 가치가 400만 원 선까지 오름
  • 비트코인 거래소의 비트코인 대량 도난 사고로 막대한 피해 발생
    • 비트코인의 가치가 크게 상승함에 따라 지금까지 50여 건의 크고 작은 비트코인 거래소의 비트코인 도난 사고 발생
    • 비트코인 거래소는 일정액의 수수료를 받고 법정화폐와 가상화폐 사이의 거래를 연결해 줌
    • 2017년 7월 현재 전 세계적으로 100여 개의 가상화폐 거래소가 존재하며 여기서 하루 백만개 이상의 비트코인이 거래됨
    • [그림 2] 가상화폐 거래소 거래량 순위
    • 대부분의 비트코인 거래소는 고객의 편의를 위해 거래에 필요한‘ 개인키’와‘ 공개키’를 보관해 주는‘ 비트코인 지갑(bitcoin wallet)’ 서비스도 함께 제공함
    • 비트코인 자체는 해킹이 거의 불가능하지만 거래소의 지갑에 보관된 개인키와 공개키는 보안 정도에 따라 해커나 내부자에 의해 유출 가능함
    • 즉, 비트코인 거래소의 비트코인 도난 사고는 지갑에 보관 중인 고객의 개인키가 유출되어 소유자의 의사와는 상관없이 비트코인이 누군가의 소유로 바뀐 경우가 대부분임
    • 비트코인 지갑(Bitcoin Wallet)
  • 대표적인 가상화폐 도난 사고 사례
    • (Mt. Gox) 가상화폐 거래소의 최초 해킹 사례이자 최대 피해 사례
    • 2010년 7월 제드 맥칼렙(Jed McCaleb)은 비트코인과 실제 통화 간 거래할 수 있는 웹사이트를 개발하여 세계 최초의 비트코인 거래소인‘ 마운트 곡스(Mt. Gox)’가 탄생함
    • 2014년 해킹으로 파산 신청하기 전까지 전 세계 비트코인 거래의 70~80%를 담당하는 세계 최대의 비트코인 거래소였음
    • 2011년 3월 일본에 거주하는 프랑스인 개발자 마크 카펠레스(Mark Karpelès)가 마운트 곡스를 인수한 후, 같은 해 6월 첫 번째 해킹이 발생하여 개인정보 유출로 875만 달러에 해당하는 계정이 영향을 받음
    • 2014년 2월 두 번째 해킹으로 고객 비트코인 75만 개와 자사 비트코인 10만 개가 도난당해 당시 시세 4억 7,400만 달러 손실로 결국 일본 법원에 파산 신청함
    • 2015년 8월 CEO인 마크 카펠레스는 사기, 횡령 등의 혐의로 구속됨
    • 2015년 위즈섹(WizSec)의 조사 결과에 의하면 마운트 곡스가 잃어버린 비트코인은 2011년 후반 핫 월렛(hot wallet)으로부터 계속 도난당한 것으로 잠정 결론이 남
    • (BitStamp) 대량의 비트코인이 도난당했으나 마운트 곡스와는 달리 고객 손해에 대한 책임있는 보상 약속
    • 2011년 슬로베니아에서 설립된‘ 비트스탬프(BitStamp)’는 2016년 현재 거래량에서 세계 2위의 비트코인 거래소였음
    • 2015년 1월 4일 새벽 2시 26분경 해커는‘ 비트스탬프 핵(BitStamp Hack)’이라는 메시지를 남기고 3,100개의 비트코인 탈취를 시작으로 2~3일 동안 총 18,866개의 비트코인을 자신의 지갑으로 전송
    • 이는 당시 대략 500만 달러 상당의 가치와 맞먹으며 비트스탬프가 소유한 전체 비트코인의 12%에 해당함
    • 비트코인이 고객의 핫 월렛에서 해커의 지갑으로 옮겨진 것을 비추어 보았을 때 핫 월렛의 개인키가 유출된 것으로 추정됨
    • 참고로, 인터넷망으로부터 분리되어 비트코인을 보관하는 콜드 월렛(cold wallet)에 저장된 비트코인은 피해 없었음
    • 마운트 곡스와는 달리 해킹 발생 5일 후 서비스 정상화가 되었으며 고객의 잃어버린 비트코인에 대해서는 보상을 약속함
    • (The DAO) 세계 2위의 기상화폐인 이더리움(Ethereum)의 첫 번째 도난 사례
    • '더다오(The DAO)’는 2016년 4월에 만들어진 이더리움 기반의 탈중앙화된 자율조직 (Decetralized Autonomous Organization) 형태의 크라우드펀딩 프로젝트로 가상화폐 거래소는 아님
    • 더 다오는 조직 운영을 위한 특정 주체는 없고 대신 가상화폐‘ 이더(ETH)’로 구매 가능한 ‘다오 토큰(DAO Token)’을 소유한 개개인의 투표로 운영됨 (참고로, 다오 토큰을 많이 소유할수록 더 많은 권한을 가짐)
    • 이더리움의‘ 스마트 컨트랙트(smart contract)’ 기능으로 개발된 더 다오는 크라우드세일로 판매한 다오 토큰을 이더로 환급하는 로직에‘ 재귀 호출 버그(recursive calling vulnerability)’가 포함됨
    • 해커는 재귀 호출 버그를 이용하여 다오 토큰을 이더로 무한 환급하는 방법으로 당시 가치로 560억 원에 해당하는 243만 이더(ETH)를 탈취함
    • 해킹 직후 이더의 가치가 절반으로 떨어지고 결국 더 다오 프로젝트는 사실상 종료됨
    • 스마트 컨트랙트(Smart Contract)
    • (BitFinex) 마운트 곡스 사고 이후 최대 피해 사례
    • '비트피닉스(BitFinex)’는 2014년 홍콩에서 설립된 이후 전체 비트코인 거래의 10% 이상을 담당하는 세계 최대의 비트코인 거래소 중 하나임
    • 2016년 8월 2일 해킹 때문에 당시 시세로 7,200만 달러인 119,756 BTC가 빠져나감, 이는 비트피닉스가 관리하는 전체 비트코인의 36%에 해당함
    • 2016년 8월 7일 비트피닉스는 자사의 모든 고객 자산을 36.067% 만큼 일률적으로 감액 조치하였다고 발표함
    • 고객 자산에 대한 손실 부분은 당시 비트코인 시세에 맞게 BFX 토큰(1 BFX 토큰 = 1 달러)을 제공함 (즉, 100달러의 손실을 보았다면 100 BFX 토큰 제공)
    • 2017년 4월 고객에게 발행한 모든 BFX 토큰을 회수하여 고객의 손실을 모두 보상했다고 발표하였으나, 고객들은 비트코인의 가치가 급상승한 것을 고려한다면 이는 적절한 보상이 아니라고 주장함
    • (Yapizon) 국내의 첫 번째 비트코인 거래소 해킹 사례로 55억 원의 피해 발생
    • '야피존(Yapizon)’은 2013년 국내에 설립된 비트코인 거래소임
    • 2017년 4월 22일 토요일 새벽 2~3시 사이 야피존에서 관리하는 핫 월렛 4개가 유출되어 3,831 BTC가 빠져 나가 약 55억 원의 손실 발생함
    • 야피존은 손실분 37.08%를 모든 고객의 자산에서 일률 감액 조치하고 고객이 손해를 입은 부분에 대해서는 거래 수익이 발생하면 지급되는‘ Fei’로 제공하겠다고 약속함
    • Fei는 거래수수료 수익이 발생해야만 의미가 있으므로 대량 유출 사고 이후 야피존이 얼마나 많은 수익을 낼 수 있는지가 피해 보상의 관건이 됨
    • [표] 대표적인 가상화폐 도난 사고 요약
  • 비트코인 거래소의 비트코인 도난 사고는 왜 발생하나
    • 비트코인이 도난당했다는 의미는 비트코인 소유자의 의지와는 상관없이 소유권이 다른 사람에게 넘어간 경우를 말함
    • 비트코인에 대한 소유 및 거래내용은 공개된 분산원장에 기록되어 있어 누구나 이를 확인할 수 있음
    • [그림 3] 비트코인 주소(공개키), 블록 해시, 트랜잭션 해시 등을 알면 누구나 거래 내용 확인 가능
    • 비트코인의 소유권을 다른 사람에게 넘기기 위해서는 공개 분산원장에 소유권 이전에 대한 기록을 남기면 되며 이러한 기록을 트랜잭션(transaction)이라 부름
    • 트랜잭션을 만들기 위해서는 비트코인 소유자의 개인키와 소유권을 이전받을 사람의 공개키가 필요함
    • 즉, A가 비트코인의 소유권을 B에게 넘기는 것은 이러한 거래 내용(A가 B에게 얼마를 넘기는지에 대한 내용), B의 공개키, 직전 트랜잭션으로부터 하나의 해시(hash)값을 만들어 낸 후 이를 A의 개인키로 서명하는 것과 같음
    • 분산된 노드들의 검증과정(Proof of Work)을 통해 A에서 B로의 소유권 이전에 대한 트랜잭션이 A의 공개키로 확인(verify)되면 이를 분산원장에 기록함
    • [그림 4] 비트코인의 거래 과정
    • 결국, 비트코인 소유자만 알고 있어야 하는 개인키가 유출되면 소유자의 의지와는 상관없이 타인에게 소유권이 넘어갈 수 있음
    • 비트코인 거래소의 비트코인 대량 도난 사고는 고객의 개인키가 안전하게 보호되지 않았기 때문에 발생
    • 2013년 12월 블룸버그TV 생방송 중, 화면에 개인키가 잠시 노출되어‘ milkywaymasta’라는 가명을 쓰는 사람이 20달러 상당의 비트코인을 가로챔
    • 블룸버그TV 사례와 같이 비트코인 소유자의 개인키가 유출되면 해당 비트코인의 소유자는 소유를 주장하기 어려워짐
    • [그림 5] 블룸버그TV 생방송 중에 비트코인 소유자의 개인키가 노출되어 해당 비트코인 도난당함
    • PC나 스마트폰에 저장된 개인키가 악성 코드에 의해 유출되는 경우도 있지만, 대량 유출 사고는 비트코인 거래소의 지갑에 저장된 고객의 개인키가 유출되어 발생함
    • 즉, 비트코인 거래소가 지갑에 저장된 고객의 개인키를 안전하게 보호하지 못해 해커의 공격이나 내부자의 소행으로 개인키가 유출되어 막대한 피해가 발생하게 됨
    • 국내의 경우 비트코인 거래소가‘ 전자상거래업’으로 등록되어 사고 발생 시 은행과는 달리 고객의 자산을 보호해 주지 못함
  • 시사점
    • 비트코인 거래소의 지갑 서비스는 편리하지만, 서버 해킹으로 개인키가 유출될 수 있음을 주의
    • 서버가 아닌 PC나 USB 등에 지갑을 암호화하여 보관하는 것이 대량 도난 사고로부터 비트코인을 안전하게 보호하는 방법임
    • 그러나 PC나 USB의 도난, 파손 등으로 개인키를 잃어버리는 경우 자신의 비트코인을 영원히 사용할 수 없음을 주의해야 함
    • 웹 기반의 지갑 서비스만 사용하는 경우 여러 사이트의 지갑 서비스에 비트코인을 분산하는 것이 안전
    • 서버가 해킹되어 하나의 지갑이 털려도 다른 서버의 지갑에 연결된 비트코인은 안전하므로 피해를 줄일 수 있음
    • 또한, 모든 거래 내용이 분산원장에 공개되기 때문에 대량의 비트코인을 하나의 지갑에 연결하는 것은 위험함
    • 가능하다면 비트코인 거래 시 새로운 개인키/공개키를 매번 생성하여 최대한 분산시키는 것이 좋음
    • 개인키가 유출된 것 같다면 새로운 지갑을 생성하고 새 지갑으로 비트코인 즉시 이동
    • 새로운 지갑으로 비트코인이 옮겨지면 유출된 이전 개인키로는 해커가 해당 비트코인을 탈취할 수 없게 됨
    • 1 Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, 2008. (https://bitcoin.org/bitcoin.pdf)
    • 2 2007년에 미국에서 발생한 서브프라임 모기지 사태로 미국뿐만 아니라 국제금융시장에 신용경색을 불러와 전 세계의 연쇄적인 경제위기를 가져옴