Глубина восстановления 7702 принципа фишинга, как кошелек и пользователи должны защищаться?

EIP-7702 наделяет адреса способностями и гибкостью, подобными смарт-контрактам, и все больше приложений 7702 постоянно создаются, что является критически важным для привлечения большего числа людей в Web3 и улучшения пользовательского опыта.

Тем не менее, гибкость 7702 и тот факт, что большинство пользователей не знакомы с 7702, используются мошенническими синдикатами, и недавно мы заметили, что некоторым пользователям пришлось авторизовать более десятка взаимодействий из-за способности Metamask 7702 выполняться пакетами, а фишинговая банда #InfernoDrainer объединена в одну транзакцию, что привело к краже активов.

Примечание: Сам по себе Metamask не имеет проблем с безопасностью, Metamask ставит безопасность пользователей на первое место, предоставляя пользователям возможности, связанные с 7702, и выполнил множество мер безопасности. Пользователям необходимо знать больше о возможностях и связанных с ними рисках 7702, чтобы предотвратить повторение подобных инцидентов безопасности.

一、Принципы и безопасность авторизации подписи Metamask 7702 Delagator

  1. Технический анализ

По разрешению пользователя развернутый смарт-контракт делегатора указывает поле code учетной записи пользователя на этот контракт. Текущий адрес официального смарт-контракта делегатора MetaMask: 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B

Авторизационная структура: (chainId, delegatorAddress, nonce, signature)записывается в authorization_list

Метод подписи: Metamask использует унифицированную логику подписи для транзакций авторизации, связанных с EIP-7702, то есть метод signEIP7702Authorization, и digest7702 = keccak256(0x05 ‖ RLP(chainId, делегатор, nonce)) подписи ECDSA, сгенерируйте структуру подписей (v, r s) и прикрепите ее к последующим транзакциям типа 4 для реализации авторизации и обновления учетной записи, как описано в следующих разделах:

Способ верификации: уровень консенсуса проверяет ecrecover(digest7702, sig) == tx.from.

Безопасный дизайн: веб-версия не может заставить пользователя авторизовать любого Delegator, потому что метод signEIP7702Authorization реализован только внутри кошелька MetaMask и не открыт для вызова через window.ethereum на веб-странице.** Доступные для веба методы подписи, такие как eth_signTypedData_v4, не применимы для подписи авторизации EIP-7702, формат его подписи выглядит следующим образом:

А формат подписи, требуемый спецификацией EIP-7702, следующий:

Поскольку eth_signTypedData_v4 всегда включает префикс 0x1901, и процесс вычисления хеша полностью отличается от 7702, поэтому даже при удачной конструкции domainSeparator, primaryType и message практически невозможно сделать так, чтобы digest712 == digest7702.

Таким образом, веб-версия не может подделать легитимную 7702 авторизационную подпись с помощью этого метода. Кроме того, MetaMask также внедряет механизм белого списка для адресов Делегаторов, по умолчанию разрешая и только позволяя авторизацию официального Делегатора (0x63c0...32B), запрещая DApp самостоятельно вводить адреса, что дополнительно предотвращает подделку данных авторизации вредоносных Делегаторов пользователями.

  1. Способ использования

В настоящее время в Metamask существует два основных метода для обновления существующего EOA в 7702 смарт-контрактов (Smart Account): активное обновление и пассивное обновление.

Активное обновление означает, что пользователь в интерфейсе кошелька активно нажимает кнопку "Переключить", чтобы авторизовать определенный смарт-контракт делегатора.

Пассивное обновление происходит, когда пользователь взаимодействует с некоторыми DApp, поддерживающими 7702. Metamask автоматически отображает уведомление после обнаружения соответствующих действий, предлагая пользователю завершить обновление.

2.1 Активное обновление:

Содержимое транзакции: включает только действия по обновлению учетной записи, а именно авторизацию конкретного Delegator Contract.

Процесс обновления: войдите в интерфейс деталей счета кошелька, нажмите на кнопку переключения на изображении ниже, чтобы обновить учетную запись пользователя с Ethereum Mainnet на смарт-контракты. После нажатия на переключение появится окно подписи пользователя для текущей транзакции обновления:

Запись авторизации: после подтверждения ожидайте, пока транзакция будет добавлена в блокчейн. Успешное добавление в блокчейн означает, что пользователь успешно обновился до смарт-аккаунта, и можно просмотреть конкретную информацию о сделках по авторизации на странице текущего адреса кошелька на etherscan в разделе **Authorizations (EIP-7702)**.

2.2 Пассивное обновление

Содержание сделки: включает действия по обновлению учетной записи, а также массовые действия взаимодействия с цепочечными смарт-контрактами.

Процесс обновления: когда пользователь взаимодействует с некоторыми DApps в цепочке, Metamask будет активно напоминать пользователю о том, что текущая транзакция может быть завершена путем обновления до смарт-аккаунта и использования пакетной отправки. Например, если вы обмениваете несколько токенов на Uniswap, нажмите кнопку «Использовать смарт-аккаунт», чтобы перейти на смарт-аккаунт, и тогда авторизация и обмен токенов будут выполняться партиями в одной транзакции.

2.3 Переключиться обратно на обычный EOA

Независимо от того, используется ли активное или пассивное обновление для преобразования текущего аккаунта в смарт-аккаунт, связанный адрес Delegator Contract будет постоянно храниться в цепочке как текущая логика выполнения аккаунта.

Если вы хотите восстановить свою учетную запись до нормального EOA, вам необходимо вручную инициировать операцию «переключения обратно на EOA». Суть этой операции заключается в том, чтобы отправить address(0) в виде нового адреса контракта Delegator с одной авторизацией EIP-7702. Когда транзакция будет успешно загружена в цепочку, поле кода учетной записи будет очищено, логика выполнения будет восстановлена до пустого кода по умолчанию, а учетная запись будет откатана до нормального состояния EOA.

Перейдите на страницу сведений об учетной записи кошелька и нажмите кнопку переключения, чтобы переключить пользователя обратно на обычную учетную запись EOA в основной сети Ethereum.

После нажатия на кнопку подтверждения дождитесь добавления транзакции в блокчейн. Успешное добавление в блокчейн означает, что пользователь переключился с умного аккаунта обратно на обычный EOA-аккаунт. Конкретную информацию о транзакции можно также найти на странице текущего адреса кошелька на etherscan.

  1. Примеры фишинговых атак 7702

24 мая группа мошенников #InfernoDrainer использовала функцию пакетного выполнения смарт-контрактов Metamask 7702-Delagator для массового получения токенов от пользователей (0xc6D2…06DC) и осуществила фишинг-атаку, в результате которой был нанесен ущерб более чем на 146 тысяч долларов в $HashAI $HUMANS $ParallelAI $NeuralAI $DSync $Zero1 $NodeAI $Sensay $Virtual.

Мошеннический адрес

0x0000db5c8B030ae20308ac975898E09741e70000 0x00008C22F9F6f3101533f520e229BbB54Be90000 0xa85d90B8Febc092E11E75Bf8F93a7090E2ed04DE 0xC83De81A2aa92640D8d68ddf3Fc6b4B853D77359 0x33dAD2bbb03Dca73a3d92FC2413A1F8D09c34181

Пример рыболовной сделки

Причины фишинга

Пользователь (0xc6D2…06DC) выполнил злонамеренную массовую транзакцию на авторизацию:

Хеш транзакции Ethereum: 0x1ddc8cecbc... | Etherscan

Вызов метода 0xe9ae5c53 по адресу 0xc6D289d5...0d2E606DC на 0xc6D289d5...0d2E606DC | Успех | 23 мая 2025 14:31:35 UTC ( )

etherscan.io

#InfernoDrainer 和 #PinkDrainer проводит эксперименты с более скрытными и масштабными методами использования 7702 в черной индустрии фишинга.

Согласно нашему исследованию, нынешняя #InfernoDrainer 和 #PinkDrainer рыбацкой банды в настоящее время исследует и экспериментирует с более скрытой и влиятельной цепочкой черной рыболовной промышленности с использованием 7702, соответствующие адреса следующие, и мы опубликуем более подробный отчет в будущем:

Адский дренаж:

0x0000db5c8B030ae20308ac975898E09741e70000

Пинк Дрейнер:

0xe49e04F40C272F405eCB9a668a73EEAD4b3B5624

Три, Рекомендации по безопасности

Поставщик кошельков:

Ссылаясь на реализацию и управление безопасностью 7702 Делегатора в Metamask, запрещается пользователям предоставлять разрешения на любые Делегаторы и разрешаются только операции внутри приложения. Напоминаем пользователям, что любые действия, позволяющие пользователям подписывать разрешения через веб-страницы, являются фишинг-атаками.

Проверьте, соответствует ли цепочка текущей сети, и предупредите пользователя о риске повторной атаки при подписании с использованием chainID равного 0.

При подписании авторизации пользователем отображается целевой смарт-контракт, а при массовом выполнении через Делегатора отображается конкретное содержание вызова функции, что снижает риск фишинговых атак.

Пользователь:

Защита приватных ключей всегда является самым важным. Not your keys, not your coins.

Не предоставляйте права Делегатора на основе каких-либо независимых веб-страниц, безопасное предоставление прав обычно осуществляется только внутри приложения, как в Metamask.

При использовании любого кошелька для подписи внимательно ознакомьтесь с содержанием подписи, чтобы избежать слепой подписи или ошибки при подписании.

Посмотреть Оригинал
Содержание носит исключительно справочный характер и не является предложением или офертой. Консультации по инвестициям, налогообложению или юридическим вопросам не предоставляются. Более подробную информацию о рисках см. в разделе «Дисклеймер».
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить