6억 2,500만 달러짜리 PDF: 가짜 입사 제안 하나가 로닌 브리지를 털기까지
엿새 동안 아무도 몰랐다. 게임 역사상 최대 규모의 도난은 헤드헌터의 연락, 화기애애한 면접, 그리고 함정이 숨은 문서 한 장에서 시작됐다. 로닌 해킹의 전말과 2년 뒤 다시 찾아온 위기를 재구성했다.
2022년 3월 29일 아침, 로닌 네트워크의 한 이용자가 이더리움으로 연결된 브리지에서 5,000 ETH를 출금하려 했다. 출금이 되지 않았다. 로닌 팀이 원인을 살펴보니 브리지는 이미 텅 비어 있었다. 도난은 엿새 전인 3월 23일에 벌어졌고, 그동안 아무도 알아채지 못했다.
공격자들은 단 두 번의 거래로 약 5억 9,700만 달러 상당의 17만 3,600 ETH와, 달러에 가치가 고정된 스테이블코인 2,550만 USDC를 빼냈다. 당시 기준 약 6억 2,500만 달러로, 탈중앙화 금융(DeFi) 역사상 최대 규모 도난이었다. 게임과 관련된 해킹으로는 압도적인 1위다.
로닌은 무엇이었고, 왜 그렇게 많은 돈이 있었나
로닌은 이더리움과 연결된 별도 블록체인, 즉 사이드체인이다. 베트남 스튜디오 스카이 마비스가 인기작 엑시 인피니티를 위해 만들었다. 2021년 이더리움 수수료는 싼 캐릭터 하나를 거래하는 데 캐릭터 값보다 더 많은 돈이 들 정도로 비쌌다. 로닌은 거래를 자체 체인으로 옮겨 빠르고 거의 공짜로 만들었다.
이용자가 돈을 넣고 빼려면 브리지를 거쳐야 했다. 이더리움에 자산을 잠그고 로닌에 같은 양을 풀어 주는, 또는 그 반대로 작동하는 스마트 계약이다. 하루 이용자가 약 270만 명에 달한 엑시 전성기에, 이 브리지는 세상에서 가장 큰 암호화폐 금고 가운데 하나가 됐다.
약점은 열쇠 다섯 개
로닌은 권한 증명(PoA) 방식을 썼다. 수천 대의 독립 컴퓨터가 거래를 합의하는 대신, 각자 개인 키를 가진 신뢰받는 검증자 9곳에 의존했다. 브리지에서 돈을 빼려면 9곳 중 5곳의 서명이 필요했다.
이 구조는 빠르고 저렴하다. 대신 안전성은 열쇠 다섯 개만큼에 그친다. 그리고 알고 보니 그 가운데 4개를 스카이 마비스가 직접 쥐고 있었다.
가짜 헤드헌터
공격자들은 어떻게 열쇠를 손에 넣었을까. 스카이 마비스는 처음엔 직원 한 명이 표적형 사기인 스피어 피싱에 당했다고만 밝혔다. 전모는 2022년 7월 더블록 보도로 드러났다.
존재하지 않는 회사의 채용 담당자로 위장한 공격자들이 링크드인에서 스카이 마비스 직원들에게 접근했다. 한 시니어 엔지니어가 여러 차례 면접을 거쳐 입사 제안을 받았다. 제안서는 PDF 파일이었다. 이 파일을 여는 순간 스파이웨어가 설치됐고, 공격자들은 로닌 시스템으로 들어가는 길을 얻었다.
그렇게 스카이 마비스가 운영하던 검증자 키 4개를 장악했다. 남은 건 하나였다.
아무도 끄지 않은 권한
다섯 번째 열쇠는 몇 달 전의 편법에서 나왔다. 2021년 11월, 엑시 트래픽이 네트워크를 짓누르자 검증자 하나를 운영하던 커뮤니티 조직 엑시 DAO는 부하를 덜기 위해 스카이 마비스가 자신을 대신해 서명할 수 있도록 허용했다. 이 조치는 2021년 12월에 끝났다. 하지만 권한은 끝내 회수되지 않았다.
그래서 스카이 마비스 시스템을 장악한 공격자들은 엑시 DAO 검증자 이름으로도 서명할 수 있었다. 넷에 하나를 더하니 다섯. 브리지는 위조된 출금 요청을 정상 거래로 처리했다.
숫자로 보는 로닌 해킹
- 17만 3,600 ETH와 2,550만 USDC: 두 번의 거래로 빠져나간 자산
- 약 6억 2,500만 달러: 발견 당시 기준 피해액
- 6일: 도난(3월 23일)부터 발견(3월 29일)까지 걸린 시간
- 검증자 9곳 중 5곳: 공격자들이 넘어선 보안 기준
- 1억 5,000만 달러: 이용자 보상을 위해 2022년 4월 바이낸스 주도로 유치한 투자
- 11곳: 해킹 한 달 뒤 로닌 검증자 수. 장기 목표는 100곳 이상이었다.
범인은 누구였나
2022년 4월 14일, 미국 연방수사국(FBI)은 이 해킹을 북한 정부와 연계된 해킹 조직 라자루스 그룹과 APT38의 소행으로 지목했다. 도난 자금 일부는 이후 거래 흔적을 섞어 숨기는 서비스 토네이도 캐시를 거쳐 세탁됐다. 보안 연구자들은 이미 라자루스가 링크드인에서 가짜 채용 담당자를 내세워 항공우주·방산 기업을 노린 사례를 보고한 바 있지만, 그 활동과 로닌을 직접 연결하지는 않았다.
스카이 마비스는 2022년 4월 8일, 도난 자금 회수에 몇 년이 걸릴 수도 있다고 밝혔다.
피해자에게 돌려주다
흔히 잊히는 대목은 그다음이다. 스카이 마비스는 손실을 이용자에게 떠넘기지 않고 보상에 나섰다. 2022년 4월 거래소 바이낸스가 주도한 1억 5,000만 달러 투자를 유치했고, 회사 자금을 더해 보상에 썼다. 보상은 2022년 6월 28일부터 시작될 예정이었고, 이더리움 브리지도 비슷한 시기에 다시 열렸다. 로닌 체인 안에 있던 AXS, RON, SLP 등의 토큰은 피해를 입지 않았다.
스카이 마비스는 보안도 다시 짰다. 검증자를 늘리고 내부 통제를 새로 만들었으며 2022년 4월 27일 사후 보고서를 공개했다. 파일을 열었던 직원은 회사를 떠났다.
신뢰를 되찾는 일은 더 어려웠다. 해킹은 엑시 경제가 이미 무너지던 시기에 터졌다. 그 과정은 SLP 폭락 기사에서 설명한다. 브리지가 다시 열린 뒤에도 이용자 수와 NFT 가격은 계속 떨어졌다.
2년 뒤 다시 찾아온 위기
2024년 8월 6일, 로닌 브리지가 다시 공격받았다. 이번 피해는 4,000 ETH에 조금 못 미치는 이더리움과 200만 USDC, 약 1,200만 달러였다. 원인은 업그레이드 실수였다. 브리지 계약을 갱신하면서 초기 설정 단계 하나를 빠뜨려 핵심 값이 0으로 남았고, 결과적으로 검증자 표를 세는 확인 장치가 꺼진 셈이 됐다.
이번에는 돈이 돌아왔다. 결함을 가장 먼저 찾아낸 것은 블록체인에서 수익 기회를 자동으로 찾아다니는 프로그램, 이른바 MEV 봇이었다. 이 봇을 운영한 '화이트 해커'들이 자금을 반환했다. 로닌은 첫 이상 거래 포착 후 약 40분 만에 브리지를 멈췄고 50만 달러의 포상금을 내걸었다. 출금 한도 덕분에 7,200만 달러가 추가로 보호됐고, 팀은 브리지에 있던 8억 5,000만 달러 이상이 안전하다고 밝혔다.
WGC의 시각
로닌 해킹을 '블록체인은 위험하다'는 이야기로 읽고 싶어질 수 있다. 하지만 더 불편한 해석은 블록체인이 설계대로 정확히 작동했다는 것이다. 코드는 유효한 서명 다섯 개를 확인했고, 실제로 다섯 개를 받았다. 무너진 것은 사람과 절차였다. 어느 회사든 당할 수 있는 피싱, 켜진 채 방치된 임시 권한, 6억 2,500만 달러의 구멍을 일주일 가까이 못 본 허술한 감시 체계.
게임에도 중요한 교훈이다. 이용자 자산을 보관하는 브리지나 지갑은 사실상 은행 금고이고, 그렇게 다뤄야 한다. 손실을 이용자에게 떠넘기지 않고 보상한 스카이 마비스는 인정받을 만하다. 하지만 이 사건은 귀여운 몬스터 게임을 즐기는 것만으로 이용자들이 얼마나 큰 위험을 모르고 떠안고 있었는지도 보여 줬다.
앞으로 지켜볼 것
브리지는 지금도 암호화폐 인프라 가운데 가장 많이 공격받는 곳이고, 게임 체인도 예외가 아니다. 2024년 먼처블스 사건 등이 이를 보여 줬다. 블록체인 게임이 브리지로 자산을 옮기라고 한다면, 누가 열쇠를 쥐고 있는지, 서명이 몇 개 필요한지, 문제가 생기면 얼마나 빨리 알아챌 수 있는지 물어볼 필요가 있다. 엑시 이야기를 처음부터 읽고 싶다면 엑시가 신드롬이 되기까지부터 시작하자.