SEARCH

검색창 닫기
  • BTC
  • ETH
  • XRP
  • BCH
bithumb제공 bithumb제공
  • BTC
  • ETH
  • XRP
  • BCH
bithumb제공 bithumb제공

[크립토CSI]②못찾겠다 꾀꼬리…암호를 숨겨라

핫월렛의 프라이빗키를 노려라
해킹 암호화폐 동결을 위한 국제 거래소 연대 필요
거래소 연대를 무력화시키는 '믹싱'

  • James Jung 기자
  • 2019-12-13 15:01:34
[크립토CSI]②못찾겠다 꾀꼬리…암호를 숨겨라

업비트 사고를 예언한 듯한 트윗 메시지를 다시 보자.(크립토CSI 시리즈 1편 클릭 ☜)

“업비트가 스피어피싱(spearphishing)으로 암호키를 탈취 당한다. 서버에 침입한 해커는 핫 월렛(hot wallet)을 노린다.”

이 메시지는 업비트가 외부 해커로부터 공격을 받았다면 어떤 방식으로 당했는지를 압축해서 설명하고 있다.

우선 스피어피싱. 지난 시리즈 1편에서 언급한 사회공학 기법을 떠올려 보시라. K대표는 암 연구 기금 메일을 받고 의심 없이 시스템 문을 열어주는 실수를 범했다. 이렇게 시스템의 모든 권한을 가지고 있는 특정 인물을 타깃으로 함정 메일 등을 보내는 것이 스피어피싱이다. 창(Spear)으로 목표를 낚는다(phishing)는 의미다.

암호키와 핫 월렛은 암호화폐 거래소 해킹에 주로 등장하는 단어다. 거래소의 약점이다.

사건의 재구성
해커가 거래소를 노릴 때, 최종 목표는 암호화폐다. 암호화폐는 핫 월렛이라는 지갑에 보관돼 있다. 암호키는 그 지갑을 여는 열쇠다. 업비트는 사고 직후 자사의 지갑에서 580억원에 달하는 이더리움 암호화폐가 도둑의 지갑으로 전송됐다며 지갑 주소를 공개했다.

[크립토CSI]②못찾겠다 꾀꼬리…암호를 숨겨라
사고 당일 업비트의 공지. 도둑의 지갑 주소가 명시돼 있다.

도둑의 지갑 주소를 안다고? 그럼 되찾아 오면 되지 않을까. 이게 간단한 문제가 아니다. 블록체인은 글자 그대로 체인(사슬)이다. 암호화폐는 그 사슬에 “누가 얼마를 누구에게 지불했다”는 기록을 디지털 신호로 바꿔 저장한 것에 불과하다.

이 기록은 조작, 삭제할 수 없다. 어떤 기록 하나를 바꾸면 전후에 있던 기록들이 다 영향을 받는다. 은행 강도가 금고를 털면, 그 돈만 사라진다. 은행의 다른 금고에 있는 돈은 안전하다. 반면 암호화폐는 하나의 거대한 기록 문서(데이터 베이스)다. 도둑이 가져간 돈의 이동(트렌젝션)만 따로 떼어서 수정할 수는 없다.

핫 월렛을 주목하자. 암호화폐는 정보를 담은 디지털 신호다. 디지털 신호를 담는 저장소가 지갑(월렛)이다. 돈(화폐)을 디지털 정보로 치환할 수 있다는 것이 암호화폐를 최초로 만든 사토시 나가모토의 혁신이다. 따라서 암호화폐 해킹은 디지털 정보(이 경우는 이더리움)를 자신의 저장소(지갑)로 몰래 옮기는 행위가 된다.

핫 월렛의 핫(hot)은 무슨 뜻일까? 해커가 노린 거래소의 지갑이 뜨겁다는 의미인가. 암호화폐 거래소는 법정 화폐(돈)와 암호화폐, 암호화폐와 암호화폐를 교환하는 환전소다. 수 많은 사람들이 입출금을 편하게 하려면 지갑을 네크워크에 연결시킬 필요가 있다. 해커는 거래소의 전산망에 침투해 바로 그 지갑의 돈을 훔친 것이다.

핫 월렛이 있다면 콜드(cold) 월렛도 있을 것이 아닌가. 그렇다. 암호화폐와 관련된 디지털 정보를 따끈따끈한 네크워크에서 따로 분리해 컴퓨터 하드웨어, USB 같은 별도의 저장 장치에 기록한 것이 콜드 월렛이다. 콜드 월렛은 암호키가 저장 장치 안에서 관리되고, 평소에는 네크워크와 떨어져 있으니까 해커가 접근하기 어렵다.

다만, 디지털 정보가 소실될 때를 대비한 복구 키를 잘 관리해야 한다. 복구 키를 개인 PC, 클라우드 서버 등에 보관하다가, 이걸 해킹 당한 사례가 있다. 복구 키를 훔치면 콜드 월렛에 있는 암호화폐도 잃어버릴 수 있다. 콜드 월렛 저장 장치와 종이에 적은 복구 키를 대형 금고에 보관하기도 한다.

그렇다면 핫 월렛과 암호키를 지키는 것이 그렇게 어려운가?

암호키를 지켜라
지갑을 훔친다는 것은 지갑을 열 수 있는 암호를 알아낸다는 뜻이다. 이 암호키를 프라이빗 키(Private Key)라고 한다. 암호화폐 지갑 주소는 공개돼 있다. “여기로 돈을 보내주세요”라고 하면서 지갑 주소를 다 알려준다. 은행 계좌번호같다. 지갑을 열어서 그 안의 암호화폐를 다른 곳으로 이동시키려면 PK가 있어야 한다. 계좌 비밀번호와 같다.

[크립토CSI]②못찾겠다 꾀꼬리…암호를 숨겨라

암호화폐 거래소들은 PK를 보호하기 위해 다양한 방법을 쓴다. 하나의 PK를 몇 개로 쪼개서 그걸 합쳐야만 작동하는 멀티 시그(Multi-Signature)도 있다. 특정인이 PK를 잃어버리거나 탈취 당하더라도 암호화폐를 도둑 맞는 일을 막을 수 있다. 해커가 복수의 키 관리자 모두를 동시에 무력화하는 것은 간단한 일이 아니다.

해킹 방지를 위해 인터넷에 연결된 네트워크와 자체 네트워크를 원천적으로 분리하는 방법도 있다. 이 같은 망 분리는 기존 금융기관에도 적용되고 있다.

망 분리가 모든 문제를 해결할 수는 없다. 외부망과 내부망이 어느 지점에서는 연결될 수 밖에 없기 때문이다. 망 분리로 인해 보안 솔루션을 제대로 적용하지 못하는 경우도 있다.

그렇다면 해커의 공격으로부터 암호화폐 거래소를 지켜낼 방법이 없다는 말인가?

뛰는 놈 위에 나는 놈
보안 업체 수호(SOOHO)의 박지수 대표는 해킹 사고가 일어난 이후가 더 중요하다고 말한다. 암호화폐의 특성상 해커의 지갑 주소와 탈취한 암호화폐의 이동 경로는 추적이 가능하다. 이렇게 파악한 경로를 통해 문제가 되는 지갑 주소을 전 세계에 공개하고, 현금화를 차단함으로써 “해킹을 해도 실익이 없다”는 것을 인식시키는 것이 중요하다는 것이다.

해커는 100% 틀어 막을 수 없다. 대신 해커가 훔쳐간 돈을 못쓰도록 만들자. 해커의 노력을 물거품으로 만드는 집단 보안 체계를 구축하자는 아이디어다.

업비트도 사건 초기 신속하게 도둑의 지갑 주소를 공개했다. 이더리움 지갑의 움직임을 보여주는 이더스캔(etherscan)을 보면 해당 지갑에 ‘Upbit hack’ 이라는 꼬리표가 붙어있다.

[크립토CSI]②못찾겠다 꾀꼬리…암호를 숨겨라
이더스캔 사이트에 도둑의 지갑 주소를 넣으면 훔친 암호화폐의 입출금을 볼 수 있다. 해킹 표시(화살표)가 뚜렷하다.

블록체인은 거듭 말하지만 거대한 공개 장부다. 지갑 주소와 암호화폐 입출금이 낱낱이 공개된다. 이더스캔 사이트는 암호화폐 흐름을 추적하는 네비게이션이다. 이렇게 모든 것이 공개되고 있다면 해커가 훔친 돈을 동결하고, 도둑을 잡는 것도 쉽지 않을까. 원리적으로는 그렇다.

‘해커 꼬리표’가 붙은 지갑으로부터 다른 암호화폐 거래소로 송금이 일어나고, 거기서 달러나 유로 등 법정 화폐로 교환하려는 움직임이 있다면 거래소들이 이를 차단할 수 있다. 훔친 이더리움을 업비트에게 되돌려 주는 일은 기술적으로, 법적으로 매우 어렵지만, 동시에 해커들도 이 돈을 빼낼 수 없기는 마찬가지다.

공격 당한 거래소가 솔직하고, 신속하게 피해 사실을 전파하는 것이 핵심이다. 다른 거래소들이 이에 동조하고, 꼬리표가 붙은 암호화폐를 동결한다. 거래소 간 공조는 해킹 의욕을 꺾는 실질적인 방법이다.

그러나 걷는 놈 위에 뛰는 놈, 뛰는 놈 위에 나는 놈이 있다. 해커들은 거래소 연대를 무용지물로 만들 방법을 가지고 있다. 바로 믹싱(Mixing)이다.

검은 돈을 깨끗하게
구글에 ‘bestmixer’를 검색하면 비트 코인 믹서 사용법이라는 동영상이 뜬다. 참고로 이 서비스는 유럽에서는 불법이다.

암호화폐 믹서는 자신의 거래를 숨기고 싶은 사용자들을 위해 개발됐다. 예를 들어 10 이더를 어떤 주소로 보내고 싶다. 보낸 주소와 받은 주소가 이더스캔 상에 나타난다. 지갑의 주인을 특정할 수는 없지만 자금 이동을 전 세계 누구나 볼 수 있다. 이게 찝찝한 사람도 있을 수 있다.(왜 찝찝할까?) 믹서를 쓰면 지갑에서 지갑으로 옮겨지는 이더의 흐름이 끊어진다. 믹서 업체가 자신이 보유한 이더를 대신 보내기 때문이다.

해커들도 비슷한 방법을 쓴다. 탈취한 암호화폐를 수 천 개의 지갑으로 잘게 쪼개 전송한다. 지갑들 간에 또 거래를 한다. 이런 과정을 여러 번 반복한다. 지갑 주소를 만들고, 복잡한 거래를 되풀이하는 것은 컴퓨터가 맡는다. 자금 세탁을 사람이 일일이 따라가면서 추적할 수는 없다. 믹싱을 풀기 위해서는 또 다른 컴퓨터 프로그램이 필요하다. 해커의 자금 세탁 과정을 그림으로 그리면 아래처럼 된다.

[크립토CSI]②못찾겠다 꾀꼬리…암호를 숨겨라
작은 원은 자금 세탁에 사용된 지갑 주소. 지갑들 간에 암호화폐 흐름을 선으로 연결. (제공=수호)

수호의 황희진 데이터 애널리스트는 “하나의 지갑에서 다른 지갑들로 암호화폐가 이동하는 것이 마치 꽃 모양의 궤적을 이루는 경우도 있다”고 말했다. 꽃치고는 고약한 꽃이다. 자금 추적 방법은 시리즈3편에서 자세하게 다룬다.

훔친 암호화폐를 잘게 부순 후 미리 정한 방법에 따라 특정 거래소로 전송하면 돈 세탁은 끝난다. 거래소들이 국제 공조를 한다고 해도 어떤 지갑이 진짜 범죄에 연루된 것인지 알 수 없다. 지갑 추적에는 돈과 시간이 든다. 한 두 단계면 모를까. 국제 공조는 한계가 있다. 해커들은 느긋하게 탈취한 암호화폐를 법정 화폐로 바꾼다.

믹싱 후 거래소로 흘러 들어간 암호화폐 추적은 더 이상 불가능할까. DNA 분석으로 <살인의 추억> 진범도 잡았는데, 크립토 월드를 위협하는 해커를 이대로 놔둔단 말인가. 그럴 수는 없다. 다음 편에서는 암호화폐 거래소 코인베네 해킹 사건을 통해 해커들을 제압할 최후의 방법을 알아보겠다.
/James Jung기자 jms@decenter.kr


<저작권자 ⓒ 디센터, 무단 전재 및 재배포 금지> XC
이 기사를 공유하세요.

이메일 보내기

보내는 사람

수신 메일 주소

※ 여러명에게 보낼 경우 ‘,’로 구분하세요

메일 제목

전송 취소

메일이 정상적으로 발송되었습니다
이용해 주셔서 감사합니다.

닫기