10월 7일 자정(GMT+8), BNB Chain(BSC)은 5억 7천만 달러 상당의 BNB를 포함하여 총 7억 달러 규모의 대규모 해킹 공격을 받았습니다. 바이낸스의 CEO인 창펑 자오(CZ)에 따르면 전체 암호화폐 업계를 충격에 빠뜨린 공격은 바이낸스의 크로스체인 브릿지인 BSC 토큰 허브의 버그로 인해 발생했습니다. 이와 관련하여 전체 사건을 구성하고 타임라인을 지정하여 이 공격에 대해 자세히 알아봅니다. 공격자의 수법을 분석하기 위해 Beosin의 보안 팀을 자랑스럽게 초대했습니다.
작동 모드
바이낸스의 크로스체인 브릿지인 BSC 토큰 허브는 크로스체인 트랜잭션을 검증할 때 IAVL 트리를 검증하기 위해 미리 컴파일된 특별한 계약을 사용합니다. 이 구현에는 공격자가 임의의 메시지를 위조할 수 있는 취약점이 있습니다.
1. 공격자는 먼저 성공적으로 제출된 블록의 해시 값을 선택합니다(특정 블록: 110217401).
2. 그런 다음 검증 IAVL 트리에서 리프 노드로 공격 페이로드를 구성합니다.
3. IAVL 트리에 임의의 새 리프 노드 추가
4. 동시에 실현 증명을 만족시키기 위해 빈 내부 노드를 추가합니다.
5. 성공적인 제출을 위해 계산된 루트 해시가 1단계에서 선택한 올바른 루트 해시와 동일하도록 3단계에서 추가한 리프 노드를 조정합니다.
6. 마지막으로 이 특정 블록(110217401)의 인출 증명을 구성합니다. 현재 버신 트레이스는 도난 자금을 실시간으로 추적하고 있습니다.
이벤트 타임라인(GMT+8)
10월 7일 오전 12:55
블록 높이 21955968에서 공격자는 Relayer로 등록하기 위해 계약을 호출하여 100 BNB를 지불했습니다.
오전 2시 26분 & 오전 4:43
공격자는 BSC 토큰 허브 시스템 컨트랙트에서 총 200만 BNB를 서로 다른 타이밍에 두 번 획득했습니다.
이 중 900,000 BNB가 BNB Chain 렌딩 프로토콜인 Venus에 예치되어 6,250만 BUSD, 5천만 USDT, 3,500만 USDC를 빌렸습니다. 또한 Twitter의 독립 분석가인 officer_cia에 따르면 해킹에는 BNB 104만 개, vBNB 3억 8,900만 달러, BUSD 2,800만 달러, 총 7억 1,800만 달러가 포함되었습니다. 이 공격은 이제 암호화 역사상 가장 큰 온체인 해킹이 되었습니다.
오전 5:48
The Block의 연구 책임자인 Eden Au는 Tether가 BNB 체인 공격자 주소(0x489a8756c18c0b8b24ec2a2b9ff3d4d447f79bec)를 블랙리스트에 올렸다고 트윗했습니다.
오전 6시 19분 ~ 오전 6시 35분
BNB Chain은 비정상적인 활동으로 인해 BSC의 일시 중지를 발표했으며 추가 업데이트가 있을 때까지 모든 입출금이 일시적으로 중단됩니다. 또 다른 후속 트윗에서 BNB 체인은 약 7000만~8000만 달러가 인출되었고 이 중 700만 달러가 동결됐다고 말했다.
오전 7시 51분
CZ는 BSC 토큰 허브의 버그로 인해 공격자가 추가 BNB를 위조했다고 트윗했습니다. 그럼에도 불구하고 그는 사용자의 자금이 안전한지 확인합니다.
오전 8시 47분
Paradigm의 연구원인 samczsun은 온체인 데이터 및 관련 코드를 통해 공격자가 임의의 메시지를 위조할 수 있는 Binance 브리지의 검증 방법에 버그가 있으며 피해가 훨씬 더 심할 수 있음을 알 수 있다고 트윗했습니다.
오전 9시
이 데이터는 공격자가 암호화 자산을 전송하기 위해 Stargate 및 Multichain과 같은 교차 체인 브리지를 사용하여 Ethereum 및 Fantom 네트워크에 각각 약 5,335만 달러 및 4,880만 달러를 전송했음을 보여줍니다. 한편, BNB 체인에는 4억 3천만 달러 상당의 토큰이 남아 있습니다.
오전 9시 22분
BNB 체인은 노드 업그레이드를 계획할 수 있도록 BSC 노드 검증자에게 앞으로 몇 시간 안에 연락할 것을 요청했습니다.
오전 9시 29분
CZ는 위의 트윗을 리트윗했지만 BSC 재개에 대한 예상 시간은 밝히지 않았습니다.
오전 9시 45분
블록체인 보안 회사인 SlowMist는 공격자가 Multichain, Venus Protocol, Alpaca Finance, Stargate, Curve, Uniswap, Trader Joe, PancakeSwap, SushiSwap 등을 포함한 여러 dApp과 상호 작용한 것을 보안 플랫폼이 발견했다고 트윗했습니다. 공격자가 전송한 1,729,320 USDT는 블랙리스트에 올랐고 Arbitrum에서 2,000,000 USDT를 전송한 주소는 당분간 블랙리스트에 올리지 않았습니다.
오전 11시 30분
블록체인 빅데이터 및 기술 서비스 제공업체인 Ouke Cloud Chain에 따르면 공격자 지갑 주소의 암호화폐 잔액은 102만 BNB, 4128만 vBNB, 2881만 BUSD, 277만 USDT입니다. 이 암호화폐의 누적 금액은 7억 달러가 넘습니다. 이 해킹 사건의 손실은 Ronin Network의 6억 2천만 달러를 넘어 지금까지 해킹된 금액 중 가장 큰 금액입니다. 이 모든 것은 공격 하루 전 ChangeNOW를 통해 공격 자금으로 100개 이상의 BNB를 초기 전송하는 것으로 시작되었습니다. 전송 후 해커는 시스템 RelayerHub 계약 0x1006을 호출하여 등록한 다음 시스템 CrossChain 계약 0x2000 공격을 시작했습니다.
오후 1시 2분
BNB Chain은 BSC v1.1.15의 출시를 트위터에 올렸습니다. BSC 유효성 검사기는 1시간 이내에 BNB 스마트 체인(BSC)을 복원하기 위해 조정하고 있습니다. 새 버전은 해커 계정이 작동하지 못하도록 차단합니다. 또한 BNB 비콘 체인과 BNB 스마트 체인 간의 네이티브 크로스 체인 통신도 비활성화됩니다. 모든 노드 실행자는 최신 버전으로 업그레이드하는 것이 좋습니다. 유효성 검사기와 커뮤니티는 이 문제를 완전히 해결하기 위한 추가 업그레이드에 대해 논의할 것입니다.
오후 2시 53분
BNB Chain은 BSC가 현재 잘 작동하고 있다고 트윗했습니다. 유효성 검사기가 자신의 상태를 확인하고 커뮤니티 인프라가 업그레이드되고 있습니다.