Cosmos 공동 창립자: BNB 체인 공격 사건에서 해커가 RangeProof를 통해 Merkle 증명을 위조함
체인캡처 메시지, Cosmos 공동 창립자 Ethan Buchman은 BNB 체인 간의 브릿지 BSC Token Hub 공격 사건에 대해 의견을 표명하며, 이번 사건의 핵심 문제는 해커가 Merkle 증명을 위조할 수 있었다는 점이라고 밝혔습니다. 이는 발생해서는 안 되는 일로, Merkle 증명은 높은 완전성을 제공해야 합니다. 블록체인 경량 클라이언트(및 IBC)는 Merkle 증명을 기반으로 구축되며, 많은 블록체인이 Merkle 트리에 데이터를 저장하여 특정 데이터가 트리에 포함되어 있음을 증명할 수 있는 증명을 생성합니다.Cosmos 체인은 IAVL이라는 Merkle 트리를 사용하며, IAVL 저장소는 범위 증명 "RangeProof"를 사용하는 API를 공개했지만, 사실 RangeProof의 내부 작업에는 심각한 오류가 있었습니다. IAVL RangeProof의 코드 문제는 InnerNode의 Left 및 Right 필드를 채우는 것을 허용한다는 점으로, 공격자는 기본적으로 Right 필드에 정보를 붙여넣는 이점을 이용했습니다. 이 정보는 결코 검증되지 않았고 해시 계산에도 영향을 미치지 않아 검증자가 특정 리프 노드가 트리의 일부라고 믿게 만들었습니다. 따라서 그들은 Merkle 증명을 성공적으로 위조했습니다.Buchman은 RangeProof를 사용하는 것이 좋은 생각이 아니라고 언급했지만, 모든 내부 노드가 좌우 필드를 동시에 채울 때 증명을 미리 거부하는 방법이 있다고 말했습니다. IBC의 Merkle 증명에 대해, IBC는 IAVL 트리의 내장 RangeProof 시스템을 사용하지 않고, 대신 ICS23 표준을 사용하여 IAVL 트리에서 Merkle 증명을 생성하고 검증합니다. ICS23 코드는 이 취약점이 없으며, 명확하게 RangeProof를 "거부"할 수 있습니다.(출처 링크)