도가 한 척 높으면, 마가 한 장 더 높다.
암호화 자산 피싱은 여전히 만연하며, 특히 ‘EIP-7702 권한 공격’이 등장한 이후 해커들의 활동이 더욱 대담해졌다...
다음의 안타까운 사례들을 보라:
9월 2일, KOL @Tintinx2021는 사기꾼이 협업을 빙자해 가짜 회의 링크를 내려받게 유도했다고 글을 올렸다;
같은 날인 9월 2일, 한 암호화 자산 대주주 @KuanSun1990는 오프라인에서 만난 적 있는 BD와 TG에서 협업을 논의하던 중 상대가 직접 보낸 가짜 Zoom 링크를 통해 악성 파일을 내려받아 자산 13,000,000달러가 유출되었다;
9월 8일, KOL @dov_wo는 TG 연락처 계정이 탈취되어 Calendly를 통해 가짜 Zoom 회의 링크로 접속하게 되었다.
다행히도 처리 속도가 빨라 위 사건들은 최종적으로 큰 자산 손실을 초래하지 않았지만, 해커가 매번 빈손으로 돌아가지는 않는다:
9월 12일, Thorchain 공동창업자 @jpthor는 동일한 가짜 Zoom 회의 링크로 인해 1,300,000달러를 도난당했다.
‘지인 계정 탈취 + 피싱 회의 링크’라는 조합은 수년간 사용되어 왔지만 여전히 효과적이며, 그렇다면 더 정교하고 새로운 수법이 얼마나 대담해질지 쉽게 상상할 수 있다:
8월 5일, 한 주소가 EIP-7702로 업그레이드한 뒤 가짜 Uniswap를 사용해 66,000달러를 도난당했다;
8월 22일, 또 다른 대주주가 같은 이유로 1,000,000달러를 도난당했다;
8월 24일(바로 이틀 뒤), 또 다른 대주주가 EIP-7702 유형의 피싱 트랜잭션에 서명해 1,540,000달러를 도난당했다.
위는 한 달 이내의 불완전한 통계에 불과하다.
암호 보안업체 Scam Sniffer(@realScamSniffer)의 보고에 따르면: 8월 한 달 동안 총 15,230명의 피해자가 발생했고, 총 손실액은 무려 12,000,000달러에 달해 7월 대비 60% 이상 증가했다. EIP-7702 표준과 관련된 도난 사건이 점점 빈번해지고 있다—바로 앞서 언급한 공격 유형이다. 많은 이들이 이 개념을 잘 모르지만, 수치가 경고하듯 이 새로운 공격 수법을 특히 경계해야 한다.
EIP-7702란 무엇인가
EIP-7702는 새로운 트랜잭션 유형을 추가해, 특정 계정 주소의 일부 코드를 대리 포인터로 작성할 수 있도록 허용한다. 이후 그 주소에 대해 실행되는 동작은 대상 컨트랙트의 코드로 전달되어 실행된다. 이 설정은 새로운 권한으로 대리 포인터를 교체하거나 이를 지우기 전까지 계속 유효하다.
이 설계의 본래 의도는 세 가지 측면에서 사용자 거래 경험을 개선하는 것이다:
거래 처리 단순화: 원래 두세 번에 걸쳐야 하는 온체인 작업을 한 번에 묶어 처리해, 전부 성공하거나 전부 실패하게 한다.
가스 대납: 다른 사람이 당신의 가스를 대신 지불해 지갑에 ETH가 없어도 서명만으로 거래를 완료할 수 있다.
권한 하향: 대리 컨트랙트에 서브 키를 부여해 ‘특정 토큰, 특정 한도, 특정 애플리케이션’에만 권한을 부여할 수 있다. 예를 들어 특정 ERC-20 토큰만 사용할 수 있고, ETH는 사용할 수 없게 하는 식이다.
왜 EIP-7702가 위험한가
EIP-7702는 원래 사용자 경험을 향상하려는 목적이었지만, 곰곰이 생각해보면 자신의 ‘거래 행사 권한’을 악성 컨트랙트 주소에 넘긴 순간, 그 컨트랙트는 제한 없는 권한으로 다양한 동작을 수행할 수 있게 되고 그 순간 자산은 더 이상 당신의 것이 아니다. 이미 올해 5월 Wintermute의 연구는 EIP-7702 관련 권한의 97% 이상이 악성 컨트랙트와 연관되어 있음을 보여주었다.
당신이 당할 수 있는 방식은 꽤 직접적이다:
사용자가 피싱 사이트에 접속해 알 수 없는 트랜잭션에 서명하면, 실상은 EIP-7702 유형의 트랜잭션으로 주소 권한을 해커가 설계한 대상 컨트랙트 주소에 부여하게 된다;
또는 개인 키가 유출되는 경우. 공격자는 개인 키를 탈취해 악성 EIP-7702 권한 쌍을 이용, 피해자의 EOA(외부 소유 계정)를 ‘청소 로봇’ 컨트랙트에 위임해 피해자 지갑이 새 자산을 수신하는 즉시 이를 빼내간다.
사용자는 어떻게 대비해야 하나?
기본을 지켜라: 서명 내용을 꼼꼼히 확인하고 이해되지 않는 거래에는 서명하지 말 것. 특히 사이트 URL과 SSL 인증서를 자세히 확인하고, 소셜 미디어 DM이나 출처 불명의 이메일에 있는 링크는 클릭하지 말라。
권한을 정기적으로 점검하라. 예를 들어 Rabby 지갑의 권한 관리에서 계정에 EIP-7702 권한이 부여되어 있는지 명확히 확인할 수 있다.
EIP-7702 유형의 업그레이드는 하지 않는 것이 좋다. 지갑과 애플리케이션은 사용자 경험 향상을 위해 업그레이드 옵션을 제공하지만, 당장 필요하지 않다면 이 기능은 켜지 않는 것이 바람직하다。
EIP-7702 트랜잭션에 권한을 부여할 때는, 위임하려는 컨트랙트 주소를 반드시 검토하고 그것이 완전히 감사된, 검증된, 널리 신뢰받는 프로토콜에서 나온 것인지 확인하라。
End
해커가 새 기술을 쓰든 오래된 수법을 쓰든, 진짜로 당신 자산의 안전을 좌우하는 것은 개인 키가 고위험 환경에 노출되어 있는지 여부다. 개인 키가 안전하다면(예: 하드웨어 지갑 사용):
실수로 해커의 피싱 회의 링크를 클릭해도, 해커가 당신의 컴퓨터에서 개인 키를 찾을 수 없기 때문에 자산이 즉시 옮겨지지 않는다。
개인 키를 오직 당신만 알고 있고(하드웨어 지갑을 소유한 상태) 해커가 그 키에 접근할 수 없다면, 해커는 당신의 주소에 EIP-7702 권한을 부여할 수 없다。
마지막으로 한마디 덧붙이면: OneKey의 하드웨어 지갑은 이미 EIP-7702 유형의 거래 파싱을 지원한다. 즉 의심스러운 사이트를 클릭했을 때 숨어 있는 악성 권한을 하드웨어 지갑에서 한눈에 보여줘 사용자가 쉽게 식별하고 차단할 수 있다는 뜻이다。
공격은 변하지만 경계는 변하지 않는다——개인 키는 하드웨어에 두고, 결정권은 당신의 손에 남겨라。