Charles Hoskinson의 경고
Cardano의 창립자 Charles Hoskinson은 Ethereum의 EIP-7702 위임 기능이 공격자들이 Binance 핫 월렛을 신속하게 비우는 데 도움을 주었다고 비난하며 “매우 위험한 코드“에 대해 경고했습니다. 그의 X 포스트에서 Hoskinson은 CyberSatoshi가 발표한 분석을 인용하며 “조심하세요, 매우 위험한 코드가 있습니다“라고 썼습니다.
분석의 주요 내용
그가 공유한 포스트는 주장된 Binance EIP-7702 스위퍼의 재구성된 바이트코드를 설명하며, 이 계약이 거래소의 운영에 맞춰져 있다고 주장했습니다. 그러나 Hoskinson의 메시지는 특정 프로토콜 결함을 식별하지 않았고, 그가 어떤 분석 부분을 지지하는지에 대한 설명이 부족했습니다.
CyberSatoshi의 계정은 두 가지 보안 질문을 제기했습니다. 하나는 공격자가 월렛을 대신하여 행동할 수 있는 권한을 어떻게 얻었는지에 관한 것이고, 다른 하나는 Ethereum의 위임 기능이 공격자가 그 권한을 얻은 후 무엇을 할 수 있게 했는지에 관한 것입니다.
스위퍼의 작동 방식
CyberSatoshi의 분석에 따르면, 재구성된 계약은 네이티브 잔액을 스위핑할 때 월렛에 정확히 1 ETH를 남겼습니다. 포스터는 이것이 Binance의 자동 핫 월렛 큐가 가스 부족으로 실패하고 경고를 발생시키는 것을 방지했다고 주장했습니다. 분석은 잔액을 저수준 호출을 통해 확인하고, 개별 작업이 실패할 때 계속 진행하는 토큰 처리 루프를 설명했습니다.
CyberSatoshi는 이것이 스위퍼가 블랙리스트에 올라 있거나 응답하지 않는 토큰을 전송할 수 없더라도 자산 처리를 계속할 수 있게 했다고 주장했습니다. 맞춤형 실행 기능은 손상된 월렛이 8억 2300만 달러의 USDC를 보유한 외부 금고를 호출할 수 있게 했다고 주장했습니다.
Binance의 아키텍처와 EIP-7702
CyberSatoshi는 이 계약이 Binance의 아키텍처를 위해 특별히 설계되었다고 설명했습니다. 내부 경고 및 재무 시스템에 미치는 영향에 대한 주장은 이 작업이 어떻게 작동했는지에 대한 포스터의 설명으로 남아 있습니다. Ethereum의 EIP-7702 사양은 외부 소유 계정이 다른 주소에 배포된 코드에 대한 실행을 위임할 수 있는 거래 유형을 설명합니다.
CyberSatoshi는 이 요구 사항을 인정하며, 주장된 공격이 Binance 14의 보안 인프라에 대한 원시 개인 키 또는 무제한 서명 접근이 필요하다고 말했습니다.
위임의 위험성과 보안
사양은 Binance 서명 자격이 어떻게 획득되었는지에 대한 내용을 명시하지 않습니다. 서명 요구 사항은 유효한 권한 부여 없이 임의의 피해자 계정에 위임이 단순히 할당될 수 없음을 확립합니다. CyberSatoshi는 공격자가 연속적인 논스를 커버하는 50개의 사전 서명된 권한을 제출하여 Binance 14가 거래 수가 변경되는 동안 잡았다고 주장했습니다.
사양은 권한 부여를 순서대로 처리합니다. 권한 부여가 검사를 실패하면 처리 과정은 다음 항목으로 계속됩니다. 유효한 항목은 위임을 설정하고 권한 부여 계정의 논스를 증가시킵니다. 따라서 동일한 계정에 대한 연속적인 권한 부여는 그 논스가 증가함에 따라 유효해질 수 있습니다.
결론
CyberSatoshi는 위임이 자산 전송을 단일 작업으로 압축하여 개입할 수 있는 시간을 줄였다고 주장했습니다. 거래소 방어가 그렇지 않았다면 세 번의 거래 후 도난을 막았을 것이라는 별도의 주장은 포스터의 반사실적 평가입니다. EIP의 저자들은 명시적으로 권한 있는 코드가 계정에 대한 무제한 접근 권한을 가지며 지갑에 의해 면밀히 감사되어야 한다고 경고합니다.
잘못 구현된 위임은 공격자에게 서명 계정에 대한 거의 완전한 제어를 남길 수 있습니다. 위임은 그것을 설치하는 거래를 넘어 지속됩니다. 사양은 또한 실행 실패가 이미 처리된 위임 지표를 롤백하지 않는다고 명시합니다. 위임을 제거하기 위해 프로토콜은 제로 주소를 가리키는 유효한 권한 부여를 허용하여 계정의 위임 코드를 지웁니다.