BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

1억 5천만 달러 이상의 손실, 크로스체인 브릿지 프로토콜 Nomad 해킹 분석 분석

DeFi之道
特邀专栏作者
2022-08-02 03:06
이 기사는 약 1318자로, 전체를 읽는 데 약 2분이 소요됩니다
"인증"에 대한 치명적인 허점.
AI 요약
펼치기
"인증"에 대한 치명적인 허점.

원저자:Samczsun, Paradigm 파트너

원문 편집: The Way of DeFi

원문 편집: The Way of DeFisamczsun8월 2일, 크로스체인 브릿지 프로토콜 노매드(Nomad)가 공격을 받아 1억 5천만 달러 이상의 사용자 자금이 해커에 의해 이체되었습니다.

이 보안 사고는 분석되었습니다.

Nomad는 Web3에서 본 가장 난잡한 해킹 중 하나에서 방금 1억 5천만 달러를 잃었습니다. 그렇다면 정확히 어떻게 이런 일이 발생했으며 근본 원인은 무엇입니까? 이 공격의 비하인드 스토리를 알려드리겠습니다.

이 모든 것은 ETHSecurity 텔레그램 채널에서 @officer_cia가 공유한 @spreekaway 트윗에서 시작되었으며 당시에는 무슨 일이 일어나고 있는지 몰랐지만 Nomad 크로스체인 브리지를 떠나는 자산의 양은 분명히 좋은 징조가 아닙니다. .

내 첫 번째 생각은 토큰의 소수점 구성이 잘못되었다는 것입니다. 결국, 교차 체인 브리지는 "0.01 WBTC 보내기, 100 WBTC 돌려받기" 프로모션을 실행하는 것 같습니다.

https://moonscan.io/tx/0xcca9299c739a1b538150af007a34aba516b6dade1965e80198be021e3166fe4c

https://etherscan.io/tx/0xa5fe9d044e4f3e5aa5bc4c0709333cd2190cba0f4e7f16bcf73f49f83e4a5460

그러나 Moonbeam 네트워크에서 고통스러운 수동 발굴 후 Moonbeam 트랜잭션이 크로스체인 0.01 WBTC를 수행했지만 Ethereum 트랜잭션은 100 WBTC를 크로스체인했음을 확인했습니다.

또한 WBTC 크로스체인 트랜잭션은 실제로 아무것도 증명하지 않습니다. 그것은 단지 '프로세스'를 직접 호출할 뿐이며, 먼저 증명하지 않고 메시지를 처리할 수 있는 것은 매우 나쁩니다.

이때 두 가지 가능성이 있는데, 이전 블록에서 별도로 증명을 제출했거나 Replica 계약에 심각한 허점이 있습니다. 그러나 최근에 어떤 것이 입증되었다는 징후는 전혀 없습니다.

레플리카 컨트랙트에는 치명적인 허점이 있습니다. 그래서 무슨 일이야? 간략히 살펴보면 커밋된 메시지가 허용 가능한 루트에 속해야 함을 알 수 있습니다. 그렇지 않으면 185행의 확인이 실패합니다.

다행히 이 가정을 확인할 수 있는 쉬운 방법이 있습니다. message[_messageHash]가 초기화되지 않기 때문에 인증되지 않은 메시지 루트는 0x00이라는 것을 알고 있습니다. 내가 해야 할 일은 계약이 이를 수락하는지 확인하는 것뿐입니다.

왜……

일상적인 업그레이드 중에 Nomad 팀이 신뢰 루트를 0x00으로 초기화한 것으로 나타났습니다. 명확하게 하기 위해 초기화 값으로 0을 사용하는 것이 일반적입니다. 안타깝게도 이 경우 모든 메시지의 유효성을 자동으로 검사하는 작은 부작용이 있습니다.

이것이 해킹을 매우 지저분하게 만드는 것입니다. Solidity나 Merkle 트리와 같은 것을 알 필요가 없습니다. 유효한 거래를 찾고, 다른 사람의 주소를 찾아 교체하고, 다시 방송하기만 하면 됩니다.

전반적으로 일상적인 업그레이드는 제로 해시를 유효한 루트로 표시했으며 그 효과는 Nomad에서 메시지 스푸핑을 허용하는 것이었습니다. 사슬 다리.

안전
크로스체인
Odaily 공식 커뮤니티에 가입하세요