2021년 8월 10일, 사용자가 블록체인 간에 토큰을 전송하거나 교환할 수 있게 해주는 크로스체인 상호운용성 플랫폼 Poly Network가 역대 최대 규모의 디지털 화폐 절도 사건 중 하나로 6억 1천만 달러 이상을 탈취당했다. 보안 업체 SlowMist는 6억 1천만 달러 이상이 세 개의 주소로 이체되었으며 O3 Swap 크로스체인 풀에서 큰 손실이 발생했다고 확인했다.

근본 원인은 키가 도난당한 것이 아니라 스마트 계약 설계 결함이었다. Poly의 계약에서 EthCrossChainManager의 verifyHeaderAndExecuteTx 함수는 크로스체인 거래를 실행할 수 있으며, 이를 이용해 putCurEpochConPubKeyBytes를 호출하여 EthCrossChainData 계약의 키퍼 역할을 공격자가 선택한 주소로 변경할 수 있었다. 키퍼가 교체되자 공격자는 원하는 대로 거래를 구성하여 임의의 금액을 인출할 수 있었다.

나중에 '미스터 화이트햇'으로 불린 공격자는 취약점을 폭로하기 위해 '재미로' 공격했다고 주장했으며 다음 날부터 자금을 반환하기 시작했다. Poly Network는 50만 달러의 포상금을 제시하고 해당 인물이 책임을 지지 않을 것이라고 약속했다. 8월 12일까지 약 3억 4,200만 달러가 반환되었고, 테더 발행사가 동결한 약 3,300만 달러의 테더만 남아 있었다.

이더리움, 바이낸스 스마트 체인, 폴리곤 전반에서 6억 1천만 달러 이상이 탈취되었으며, 당시 최대 규모의 DeFi 강도 사건이었다. 테더 3,300만 달러가 동결된 것을 제외하고 거의 전액이 며칠 안에 반환되었다.

계약이 크로스체인 거래를 통해 모든 자금을 보호하는 키퍼 주소를 변경할 수 있게 했다.

verifyHeaderAndExecuteTx와 키퍼 업데이트 경로가 권한 분리 없이 함수 경계를 공유했다.

코드가 세 개의 체인에 배포되었지만 동일한 결함이 모두에 존재했다.

인출이 시작된 후 이를 막을 수 있을 만큼 빠른 비상 정지 메커니즘이 없었다.

크로스체인 브리지에서 권한은 곧 돈이다. 키퍼 변경과 메시지 검증 함수에는 키 보관만이 아니라 별도의 감사, 최소 권한, 로직 테스트가 필요하다.

공격자는 이후 며칠에 걸쳐 탈취한 자산의 거의 전부를 반환했고 Poly Network는 해당 인물을 '화이트햇'으로 선언하며 나머지를 양측이 통제하는 다중 서명 지갑으로 이체했다. 6억 1천만 달러라는 수치는 2021년 첫 7개월 동안 모든 DeFi에서 기록된 범죄 손실 4억 7,400만 달러를 크게 웃돌았으며, 이 사건으로 브리지 프로젝트들은 개인 키뿐 아니라 계약 로직을 핵심 공격 표면으로 다루게 되었다. Poly Network는 계속 운영되었지만 크로스체인 브리지는 이후 몇 년간 가장 선호되는 표적이었다.

근거 확인하기

출처

  1. 'White hat' hacker returns most of $600 million crypto tokens taken - Poly Network Reuters · finance.yahoo.com ·
  2. 'White hat' hacker behind $610m crypto heist returns most of money The Guardian · theguardian.com ·
  3. Over $600 Million Stolen in Biggest Ever Cryptocurrency Theft Infosecurity Magazine · infosecurity-magazine.com ·