![]() |
얼마 전, 국내 1위 가상자산거래소에서 대규모 해킹 사건이 발생했다. 공교롭게도 2019년 11월에도 비슷한 시기, 약 580억원 상당의 가상자산이 유출된 바 있다. 블록체인은 보안성이 뛰어난 기술로 알려져 있는데, 왜 거래소의 해킹은 반복되는 것일까?
우리가 흔히 말하는 ‘블록체인의 보안성’은 블록체인 네트워크 자체의 안전성을 가리킨다. 전 세계 수많은 노드가 동일한 장부를 공유하기 때문에, 이를 동시에 조작하지 않는 한 위변조가 사실상 불가능하다는 의미다. 그러나 이번 사건처럼 해킹의 실제 진입점은 블록체인 바깥, 즉 가상자산거래소의 운영 시스템에 있다.
이를 자세히 이해하기 위해서는 먼저 가상자산 거래소의 자산 보관 방식인 핫월렛(hot wallet)과 콜드월렛(cold wallet)의 차이를 이해할 필요가 있다.
핫월렛은 인터넷에 연결된 지갑으로, 이용자의 입출금 요청에 즉시 대응하기 위한 용도로 쓰인다. 우리가 모바일뱅킹을 통해 계좌를 실시간으로 사용하는 것과 유사한 구조다. 반면, 콜드월렛은 인터넷과 완전히 분리된 저장장치에 보관하는 방식으로, 은행 지하의 금고처럼 외부 접근이 차단된다.
거래소는 보안 강화를 위해 대부분의 자산을 콜드월렛에 보관하고 있으며, 가상자산이용자보호법도 이용자 자산의 80% 이상을 콜드월렛에 예치하도록 의무화하고 있다. 다만, 원활한 출금을 위해 일부 자산은 불가피하게 핫월렛에 두어야 한다. 그리고 자산 흐름에 따라 콜드월렛과 핫월렛 사이에서 필요한 이전 작업을 수행한다.
이번 해킹은 바로 그 과정에서 발생했다. 핫월렛의 프라이빗키(private key)가 탈취되어, 해커가 임의로 자산을 인출한 것으로 파악되고 있다. 프라이빗키는 지갑의 열쇠 역할을 하는 암호값으로, 결국 누군가 금고 열쇠를 훔쳐 금고를 열어버린 셈이다.
이 같은 위험을 줄이기 위해 멀티시그(multi-signature)나 MPC(Multi-Party Computation) 같은 기술이 등장했다. 멀티시그는 두 개 이상의 키를 동시에 사용해야만 출금이 가능한 구조로, 하나의 열쇠가 탈취돼도 자산은 안전하다. MPC는 한 단계 더 나아가 단일 키 자체를 만들지 않고, 키를 여러 조각으로 분산해 저장한 뒤 조각들을 복구하지 않은 상태에서 연산을 수행해 서명을 생성한다. 해커가 특정 서버를 장악하더라도 온전한 키는 존재하지 않으므로 자산을 탈취할 수 없다.
이번 사건의 원인으로 거론된 요인 중 하나는 nonce(일회성 난수)의 편향 문제다. 가상자산 서명은 프라이빗키, 거래 메시지, 그리고 nonce를 조합해 생성되는데, 이 nonce는 절대 재사용되거나 예측 가능해서는 안 된다. nonce가 재사용되거나 충분히 무작위로 생성되지 않으면, 통계적 분석을 통해 프라이빗키를 역으로 추론하는 것이 가능해진다. 즉, 안전한 금고를 사용하더라도 열쇠 제작 과정에서 결함이 발생하면 결국 문이 열릴 수 있는 셈이다.
2019년과 올해의 해킹은 날짜만 동일할 뿐, 아마도 공격 방식이나 기술 수준은 이미 크게 달라졌을 것이다. 문제는 보안기술은 진화했지만, 이를 둘러싼 법적 보호 장치는 여전히 제자리라는 점이다. 현행 전자금융거래법은 금융회사나 전자금융업자가 해킹이나 전산사고로 이용자에게 손해를 입힌 경우, 이용자의 고의나 중과실이 없는 한 손해를 배상하도록 규정한다. 그러나 가상자산사업자는 이 법의 적용 대상이 아니다. 가상자산사업자를 규율하는 가상자산이용자보호법이나 특정금융정보법 역시 유사한 취지의 규정을 두고 있지 않다.
금융회사나 전자금융업자에 비견할 정도로 국민의 막대한 자산을 보관하고 있는 가상자산사업자에 대한 규율에 공백이 있다는 비판을 피할 수 없는 이유이다. 기술적 보안 강화는 물론 필수적이지만, ‘쇠문 걸어도 마음먹은 도둑은 못 막는다’는 말처럼, 완벽한 방어란 존재하지 않는다. 기술이 뚫릴 수 있다면, 그 다음은 법이 이용자를 지켜야 한다. 가상자산 시장이 성숙해지기 위해서는 보안과 규제, 두 축이 동시에 발전해야 한다.
법무법인 세종 황현일 변호사, 법무법인 세종 이재훈 회계사




