두바이에 본사를 둔 해외 가상화폐 거래소 ‘바이비트’는 올해 초 약 1조6900억원(14억6000만달러)에 달하는 가상화폐 이더리움을 탈취당했다. 사상 최대 규모 가상화폐 해킹 사건으로, 북한으로 추정되는 해커는 거래소가 오프라인 가상화폐 계좌(콜드월렛)에서 온라인 계좌(핫월렛)로 가상화폐를 이체하는 순간을 노렸다. 바이비트 내부에 악성코드를 심은 뒤 계좌 이체 승인자들이 보는 사용자 화면(UI)을 조작해 자신들의 계좌로 이체하게끔 한 것이다. 가상자산 업계에선 이를 두고 “바이비트가 평소 가상화폐를 여러 지갑에 분산 저장하지 않고, 반복적인 입출금 패턴마저 노출해 피해 규모를 키웠다”는 분석이 나왔다.
본지는 이에 따라 블록체인 전문가와 함께 업비트와 빗썸 등 국내 주요 가상화폐 거래소에는 바이비트와 같은 보안 취약점이 없는지를 살펴봤다. 그 결과, 국내 2위 가상화폐 거래소를 운영하는 빗썸은 바이비트와 비슷한 방식으로 한 지갑에 대규모 가상자산을 보관하고 반복적인 입출금 패턴을 가진 것으로 나타났다. 블록체인 네트워크 데이터 분석 전문가인 한성대 블록체인연구소의 조재우 교수는 “정기적인 패턴을 가진 잦은 거래 과정은 보안 사고를 일으킬 가능성을 키운다”고 지적했다.
대표적으로 거래량이 많은 주요 알트코인 ‘XRP(리플)’을 기준으로 블록체인 네트워크 데이터를 분석한 결과, 빗썸은 2월 말 기준 하나의 핫월렛에 약 9600만개의 XRP를 보관하고 있었다. 당시 가격 기준으로 3000억원이 넘는 규모다. 이는 세계 최대 가상 화폐 거래소 ‘바이낸스’와 비교해도 규모가 크다. 바이낸스는 같은 시기 최소 5개가 넘는 핫월렛에 XRP를 분산 보관하고 있었고, 한 지갑에 보관 중인 XRP의 최대 규모도 빗썸의 절반 수준이었다. 국내 경쟁 거래소인 ‘업비트’ 역시 확인된 XRP 핫월렛만 50개 이상이었다. 지갑마다 보유한 자산 역시 한화 기준 50억원을 넘지 않았다. 사이버 보안 업계 관계자는 “블록체인 네트워크는 누구나 들여다볼 수 있고, 수천억원에 달하는 가상 자산을 한곳에 보관하면 해커들의 타깃이 되기 쉽다”며 “XRP 외에 다른 코인도 비슷한 방식으로 보관한다는 점을 감안하면 보안 취약점은 더 많다고 볼 수 있다”고 말했다.
빗썸의 보안 취약점은 이뿐만이 아니다. 빗썸은 매월 말일이 되면 핫월렛에 있는 대규모 코인을 콜드월렛에 옮기고 다음 날에는 다시 콜드월렛으로 되돌리는 주기적인 패턴을 보였다. 예컨대, 지난 3월 31일 빗썸 핫월렛에서 콜드월렛으로 XRP 4000만개(한화 1257억원 규모)가 전송됐는데, 바로 다음 날인 4월 1일에는 옮겼던 코인의 대부분인 3900만개의 XRP를 다시 원래의 핫월렛으로 전송했다.
다른 가상화폐 거래소와 비교해봐도 일반적이지 않은 전송 내역으로, 전문가들은 이런 반복 패턴에 대해 법적으로 마련해야 하는 ‘준비금’ 규모를 최대한 낮추려는 요인으로 보인다고 분석했다. 작년 7월부터 시행된 가상자산보호법은 해킹·전산장애 등 사고에 따른 책임을 이행하기 위해 매월 말일 기준으로 핫월렛에 있는 가상자산의 경제적 가치에 5%에 상당하는 금액에 대한 준비금을 두거나 보험 등에 가입하게끔 강제하고 있다. 매월 말 핫월렛에 보관된 가상자산 규모를 줄이면 법적으로 마련해야 하는 준비금 규모도 줄일 수 있다. 가령 3월 말일 기준 XRP 4000만개를 콜드월렛에 옮겨놓으면 준비금을 63억원가량 적게 마련해도 된다. 조재우 교수는 “빗썸의 월말 월초 보이는 반복적인 입출금 패턴은 가상자산보호법 시행 직전인 작년 6월부터 나타났다”며 “핫월렛은 콜드월렛보다 보안에 취약한 만큼 핫월렛으로 자금이 이동하는 월말에 보안 위험이 커질 수 있다”고 말했다.
빗썸은 이 같은 보안 취약 우려에 대해 “보안상 핫월렛 운영 현황은 공개하지 않는다”며 크게 문제 되지 않는다는 입장을 보였다. 빗썸 관계자는 “보안상 관점에서 핫월렛의 개수보다 중요한 것은 얼마나 고도의 보안 체계를 갖추고 있는지”라며 오히려 여러 핫월렛에 가상자산을 분산 보관할 경우 “보안상 통제점이 많아져 관리 부실 우려도 함께 커진다”고 밝혔다. 또한 월말마다 발생하는 주기적인 이체 패턴에 대해선 “보안 및 거래 목적상 수량 관리”라며 “빗썸은 작년 말 기준 국내 거래소 기준 최고 금액인 1000억원을 이용자 보호 준비금으로 적립했고, 가장 많은 금액을 적립한 만큼 의도적으로 이 기준 금액을 낮출 유인이 없다”고 해명했다.