암호화폐 인프라 회사인 Fireblocks는 Ethereum 생태계 내 최초의 계정 추상화 취약점을 식별하고 해결하는 데 도움을 주었습니다.
10월 26일 발표에서는 스마트 계약 지갑 UniPass에서 ERC-4337 계정 추상화 취약점이 발견되었습니다. 화이트햇 해킹 작전 중 수백 개의 메인넷 지갑에서 발견된 것으로 알려진 취약점을 해결하기 위해 두 회사가 협력했습니다.
Fireblocks에 따르면 이 취약점을 통해 잠재적 공격자는 Ethereum의 계정 추상화 프로세스를 조작하여 UniPass Wallet의 전체 계정 탈취를 수행할 수 있습니다.
Ethereum 개발자에 따르면 선적 서류 비치 ERC-4337에서 계정 추상화를 통해 블록체인에서 거래 및 스마트 계약을 처리하는 방식을 전환하여 유연성과 효율성을 제공할 수 있습니다.
기존 이더리움 거래에는 외부 소유 계정(EOA)과 계약 계정이라는 두 가지 유형의 계정이 포함됩니다. EOA는 개인 키로 제어되며 거래를 시작할 수 있는 반면, 계약 계정은 스마트 계약 코드로 제어됩니다. EOA가 컨트랙트 계정으로 트랜잭션을 보내면 컨트랙트 코드의 실행이 시작됩니다.
계정 추상화는 메타 트랜잭션 또는 보다 일반화된 추상 계정이라는 아이디어를 도입합니다. 추상화된 계정은 특정 개인 키에 연결되지 않으며 EOA처럼 거래를 시작하고 스마트 계약과 상호 작용할 수 있습니다.
Fireblocks의 설명에 따르면 ERC-4337 호환 계정은 작업을 실행할 때 Entrypoint 계약을 사용하여 서명된 트랜잭션만 실행되도록 합니다. 이러한 계정은 일반적으로 명령을 실행하기 전에 계정으로부터 권한을 받도록 감사된 단일 EntryPoint 계약을 신뢰합니다.
“이론적으로 악의적이거나 버그가 있는 진입점은 “validateUserOp”에 대한 호출을 건너뛰고 실행 함수를 직접 호출할 수 있다는 점에 유의하는 것이 중요합니다. 유일한 제한 사항은 신뢰할 수 있는 EntryPoint에서 호출된다는 것입니다.”
Fireblocks에 따르면 이 취약점을 통해 공격자는 지갑의 신뢰할 수 있는 EntryPoint를 교체하여 UniPass 지갑을 제어할 수 있었습니다. 계정 탈취가 완료되면 공격자는 지갑에 접근하여 자금을 유출할 수 있습니다.
지갑에서 ERC-4337 모듈을 활성화한 수백 명의 사용자가 이 공격에 취약했으며, 이는 블록체인의 모든 행위자에 의해 수행될 수 있습니다. 문제의 지갑에는 소량의 자금만 보관되어 있어 문제가 초기에 완화되었습니다.
취약점이 악용될 수 있음을 확인한 Fireblocks의 연구팀은 기존 취약점을 패치하기 위한 화이트 햇 작전을 수행했습니다. 여기에는 실제로 취약점을 악용하는 작업이 포함되었습니다.
“우리는 이 아이디어를 UniPass 팀과 공유했고 UniPass 팀은 스스로 화이트햇 작업을 구현하고 실행했습니다.”
이더리움 공동 창업자인 비탈릭 부테린(Vitalik Buterin)은 이전에 EOA를 스마트 계약으로 업그레이드하고 프로토콜이 레이어 2 솔루션에서 작동하도록 보장하기 위한 이더리움 개선 제안(EIP)의 필요성을 포함하여 계정 추상화 기능의 확산을 가속화하는 데 필요한 과제를 설명했습니다.