비트코인 분할 공격 막는 사브르 기술

등록 : 2019년 2월 22일 14:59 | 수정 : 2019년 2월 22일 16:31

해커들은 원하면 언제든지 비트코인을 둘로 쪼갤 수 있다.

2017년에 발표된 한 연구에 따르면 그렇게 어려운 일도 아니다. 인터넷의 기반 기술이 불안정한 측면이 있기 때문에 인증서를 가진 이가 신원을 조작하고 네트워크에 혼란을 일으켜 대량의 데이터를 원하는 곳으로 보내는 방식으로 경계 경로 프로토콜(BGP, Border Gateway Protocol)을 만들어 퍼뜨릴 수 있다. 이를 흔히 “인터넷의 가장 큰 보안상 취약점”이라고도 하는데, 정부 이메일을 염탐하는 일부터 암호화폐를 훔치는 일까지 다양한 목적의 범죄에 이 방식이 사용된다.

비트코인 쪼개기 공격이 성공하면 네트워크 일부가 완전히 분리되고 쪼개진 네트워크 간 커뮤니케이션이나 거래는 불가능해진다.

스위스 취리히 연방 공과대학(ETH Zurich)의 연구원들이 이 문제에 해결책을 제시했다. 새로 편찬된 백서에 설명되어 있듯, 이들은 사브르(SABRE)라는 릴레이 네트워크를 발명해 비트코인에 탑재하는 방법을 제안했다.

 

사브르

이미지=Getty Images Bank

 

나폴레옹 시대에 사용되던 군도의 이름을 땄으며, 펜싱의 종목 이름이기도 한 사브르는 이름만 보면 비트코인을 절반으로 쪼개는 데 사용될 것 같다. 그러나 사브르의 목적은 그 반대로 그런 쪼개기 공격을 예방하는 것이다.

취리히 공과대학의 컴퓨터 네트워크 연구원 마리아 아포스톨라키는 코인데스크에 이렇게 설명했다.

“사브르는 노드를 전략적으로 위치시키기 때문에 트래픽을 가로채려는 자율 시스템(autonomous system, AS) 수준의 공격이 있을 때도 노드 상호 연결을 유지하고 강화하는 소규모 릴레이 네트워크다.”

아포스톨라키는 이 네트워크가 “공격을 무력화해줄 것”이라고 말했다.

연구자들은 사브르 기술이 네트워크가 분리될 위험을 줄여준다고 주장한다. 사브르가 없으면 인터넷 서비스 제공자(internet service provider, ISP)가 이른바 소규모 경로 공격만 가해도 이론적으로 비트코인을 둘로 쪼갤 수 있다. 그러나 연구자들이 다섯 개의 노드로 구성한 그룹에 시뮬레이션을 해봤더니 공격자가 네트워크를 장악하고 분리할 가능성이 3.1%밖에 되지 않았다. 노드의 숫자가 증가하면 공격 성공 확률은 급격히 낮아지는 것이다.

다음 주 열릴 “네트워크와 분산 시스템 보안 심포지엄”에서 발표될 이 네트워크 기술은 수년간의 연구 끝에 탄생했다. 2016년부터 이 분야를 연구해온 아포스톨라키는 “최근 들어 블록체인 애플리케이션이 매우 흔해져서 경로 특성 연구의 효과도 크다”고 말했다.

 

공격

이 공격은 잠재적으로 인터넷의 근간을 뒤흔들 수 있는 치명적인 공격이다.

인터넷은 수백만 개의 노드로 이루어져 있다. 노드는 자율 시스템이라는 그룹으로 나뉘어 있고, 인터넷 서비스 제공자가 각 그룹을 관리한다. 컴캐스트(Comcast)와 같은 서비스 제공자는 기업들을 인터넷에 연결해준다.

경계 경로 프로토콜(BGP)이란 기본적으로 데이터를 A 지점에서 B 지점으로 옮겨주는 인터넷 프로토콜이다. 웹페이지를 클릭할 때마다 수많은 BGP를 사용하게 된다. 예를 들어 코인데스크 홈페이지에 접속하는 상황을 생각해보자. 접속자의 컴퓨터에는 뉴욕에 저장된 코인데스크 웹사이트에 접속하기 위한 직접적인 링크가 없다. BGP는 코인데스크 웹사이트로 접속 요청이 있을 때 어떤 자율 시스템을 사용해서 웹사이트로 접속할지 결정해주고 최대한 빠르게 웹사이트를 불러온다(이 모든 과정은 눈 깜짝할 사이에 일어난다).

문제는 해커들이 실제로는 자신들이 소유하고 있지 않은 프로토콜을 이용해서 다른 노드들을 교란하고 인터넷 트래픽을 자신들이 원하는 곳으로 돌려낼 수 있다는 것이다.

공격자가 비공개 데이터에 접근하거나 예전에 몇 번 시도되었듯 BGP를 사용해서 비트코인 채굴자에게 가는 트래픽을 자신들에게 우회, 전송시켜 암호화폐를 훔치려는 해킹을 시도할 수 있다.

취리히 공과대학 연구원들은 이 공격이 비트코인에 특히 해로울 수 있다고 말한다. 아포스톨라키의 설명을 빌리면  “자율 시스템을 관리하는 공격자가 비트코인을 둘로 나눈 후 네트워크를 가로채고 네트워크상의 트래픽 교환을 막아버리면 두 개의 단절된 네트워크에서 비트코인을 두 개 가지고 있는 것처럼 행세할 수 있게 된다.”

백서는 자율 시스템을 이용한 공격자라면 누구라도 100개의 접두부호(prefix)만 빼돌리면 비트코인 채굴 파워의 절반을 장악할 수도 있다고 설명한다.

 

사브르 구조대

취리히 연방공과대학 연구원들은 소위 말하는 “릴레이 네트워크”를 통해 이런 공격을 예방할 수 있다고 제안한다. 사브르는 단일 주체가 관리하는 네트워크로 비트코인 노드에 “훨씬 안전한 채널”을 제공해 네트워크상에서 블록이 오갈 때 보안을 강화해준다.

이 네트워크는 공개된 IP 주소(노드가 다른 노드를 찾아서 연결하게 해 주는 ID 번호)가 있는 다양한 노드로 구성된다. 그러면 비트코인 노드와 네트워크상의 노드가 연결되고, 또 비트코인 노드와 연결된 노드가 다른 노드와 연결되면 연달아 연결된 상태를 유지할 수 있게 된다.

이제 공격자는 사브르 노드 자체를 속여 장악하거나 가로채야 한다. 그런 공격이 가능할까? 연구자들은 이런 상황에 대한 대비책도 마련했다. 엄선한 자율 시스템에서만 사브르 노드를 운용함으로써 노드를 가로채기 훨씬 어렵게 만든 것이다.

비트코인 코어 개발자로 오래 근무한 그레고리 맥스웰은 IRC 채팅 채널 <비트코인 마법사>에서 “사브르가 제시하는 것처럼 다양하게 배치된 노드를 운영하는 릴레이 네트워크가 있으면 해커가 경로를 가로채기 훨씬 어려워진다”고 설명했다.

사브르 연구는 설득력이 있다. 블록체인에 부정적인 결과를 가져올 수도 있는 변화에 종종 회의적인 반응을 보였던 맥스웰도 “적어도 사브르는 새로운 시도를 하고 있고, 이는 꽤 타당해 보인다.”라고 말했다.

브레인스(Braiins)와 슬러시 풀(Slush Pool)의 CEO 잰 카펙(Jan Čapek)은 코인데스크에 보낸 이메일에서 “사브르는 BGP 해킹 문제에 대한 흥미로운 해법을 제시한다. 비트코인 네트워크 분리 문제뿐만 아니라 다른 P2P 네트워크에도 적용될 수 있다.”라고 말했다.

그러나 카펙은 대규모 공격이 발생할 가능성은 작다고 보고 있다. 비트코인 노드가 이미 “불필요하게 많이” 연결되어 있기 때문이다.

“노드 다수가 VPN 채널을 통해 상호 연결되어 글로벌 클러스터를 형성하고 있다. 또 위성 링크를 통해 블록을 나타내는 블록스트림(Blockstream) 위성도 등장했다.”

카펙은 BGP 문제도 언젠가 해결되기를 희망하고 있다. 그러면서 사브르 네트워크가 “산업 전반의 합의”를 얻어 하나의 표준이 되면 채굴 풀인 슬러시 풀에도 사브르를 탑재할 의향이 있다고 말했다.

아포스톨라키는 채굴 풀에 사브르를 도입하면 즉시 긍정적인 효과를 볼 수 있고, 채굴자가 채굴 보상을 도난당하는 사례를 방지할 수 있기 때문에 조만간 사브르를 채택하는 사례가 많아질 것이라고 기대하고 있다.

“경로 공격의 실현 가능성을 생각해보면 사브르가 부분적으로라도 채택되리라 생각한다.”

번역: 뉴스페퍼민트

각종 제보 및 보도자료는 contact@coindeskkorea.com 으로 보내주세요.