글램스탐 앞두고 이더리움 클라이언트에서 발견된 취약점

Ethereum Lighthouse 합의 클라이언트에서 취약점이 발견되었습니다. 특정 조건에서 검증자의 서명 검증을 방해할 수 있습니다. 이 문제는 네트워크에서 검증자와 그들의 인덱스를 매칭하는 데 사용되는 공개 키의 글로벌 캐시와 관련이 있습니다. 이 버그는 Glamsterdam 내의 합의 레이어 업데이트인 Gloas로의 전환 중에 나타날 수 있습니다. 개발자들은 GitHub에 수정안을 준비했지만, 검토 당시 코드에 포함하기 위한 풀 리퀘스트는 열려 있었습니다.
Ethereum 취약점의 작동 방식
설명된 공격을 실행하려면 업데이트 직전에 처리 대기 중인 세 개의 입금이 필요합니다: 기존 검증자를 위한 상당한 잔액 충전과 새로운 공개 키를 가진 두 개의 입금입니다. 메인 체인에서는 충전이 사용 가능한 입금 처리 한도를 소모하므로 다른 두 개는 Gloas로의 전환 후에 처리됩니다. 대안 브랜치에서는 기존 검증자가 합의 규칙 위반으로 처벌받는 경우 공격자가 다른 처리 순서를 달성할 수 있습니다.
결과적으로, 하나의 공개 키가 메인 체인에서 다른 검증자에게 속하는 인덱스를 받습니다. 글로벌 캐시의 오류로 인해 영향을 받는 노드는 잘못된 키-인덱스 매핑을 사용할 수 있으며, 유효한 서명을 거부하고 메인 체인에서 벗어날 수 있습니다. 개발자에 따르면, 이러한 시나리오를 구현하려면 대체 블록체인 브랜치의 생성 등 여러 조건의 정확한 정렬이 필요합니다.
Glamsterdam 이전에 수정이 바꿀 것
개발자들이 제안한 수정안은 글로벌 캐시에 공개 키를 추가하는 것을 제한합니다: 이제 검증자 활성화의 해당 단계가 최종 확인된 후에만 추가되어야 합니다. 추가 구조인 HeadPubkeys는 현재 체인 상태와 글로벌 캐시의 정보를 결합하여 새로운 블록이 나타나지 않더라도 키가 최종화 중에 접근 가능하도록 합니다.
다른 Ethereum 합의 클라이언트에서도 유사한 오류가 존재하는지는 아직 알려지지 않았습니다. 발견된 문제는 메인 네트워크에서 Glamsterdam을 활성화하기 전에 검증자 처리 메커니즘의 추가 테스트 필요성을 강조합니다.
이 자료는 정보 제공 목적으로만 작성되었으며 재무 자문이나 권장 사항을 구성하지 않습니다.





