머클

슬로우 미스트: Connext 에어드랍 수령 자격은 머클 증명을 통해 확인되며, 자격이 없는 사용자는 확인을 우회하여 다른 사람의 에어드랍을 수령할 수 없습니다

ChainCatcher 메시지에 따르면, 느린 안개 지역 정보에 의하면 일부 계정의 NEXT 토큰이 예상치 못한 주소로 청구되었습니다. 느린 안개 보안 팀이 분석한 후 간단한 분석을 공유합니다:사용자는 NEXT Distributor 계약의 claimBySignature 함수를 통해 NEXT 토큰을 받을 수 있습니다. 이 과정에서 recipient와 beneficiary 역할이 존재합니다. recipient 역할은 청구된 NEXT 토큰을 받는 데 사용되며, beneficiary 역할은 NEXT 토큰을 받을 자격이 있는 주소로, Connext 프로토콜이 에어드롭 자격을 발표할 때 이미 결정됩니다.사용자가 NEXT 토큰을 청구할 때, 계약은 두 번의 검사를 수행합니다: 첫 번째는 beneficiary 역할의 서명을 확인하는 것이고, 두 번째는 beneficiary 역할이 에어드롭을 받을 자격이 있는지를 확인하는 것입니다. 첫 번째 검사에서는 사용자가 전달한 recipient가 beneficiary 역할에 의해 서명되었는지를 확인하므로, 임의로 recipient 주소를 전달하더라도 beneficiary 서명 없이 검사를 통과할 수 없습니다.지정된 beneficiary 주소로 서명을 구성하더라도 서명 검사를 통과할 수 있지만, 두 번째 에어드롭 수령 자격 검사에서는 통과할 수 없습니다. 에어드롭 수령 자격 검사는 머클 증명을 통해 확인되며, 이 증명은 Connext 프로토콜 공식에서 생성해야 합니다. 따라서 에어드롭을 받을 자격이 없는 사용자는 검사를 우회하여 다른 사람의 에어드롭을 받을 수 없습니다.

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를 "거부"할 수 있습니다.(출처 링크)
체인캐처 혁신가들과 함께하는 Web3 세상 구축