TRANSLATING...

PLEASE WAIT
От решения к риску: как разрешение стало новой уязвимостью?

От решения к риску: как разрешение стало новой уязвимостью?

Средний10/22/2024, 6:32:20 AM
Эта статья рассматривает механизмы утверждения Approve и Permit на Ethereum, исследуя их практические различия и влияние. Она анализирует, как механизм Permit помогает снизить затраты пользователей в условиях высоких комиссий за газ, а также обсуждает потенциальные риски безопасности и предлагает практические советы по безопасности.

1. Обзор разрешения

Давайте начнем с простой истории о заеме денег:
Я планирую одолжить один миллион у своего хорошего друга Джека Ма. Без колебаний Джек Ма берет телефон, звонит в банк, и после проверки своей личности говорит банку: "Я авторизую такого-то снимать один миллион". Банк подтверждает и регистрирует эту авторизацию.

Следующим шагом для меня будет пойти в банк и сказать кассиру, что я здесь, чтобы снять один миллион, разрешенный Джеком Ма. Банк проверяет запись о разрешении и, подтвердив, что я правильный человек, передает мне один миллион.

Эта история является хорошей аналогией того, как работает авторизация Approve на Ethereum. В этом процессе только Джек Ма (владелец актива) может позвонить в банк, чтобы дать авторизацию (ончейн), а банк (контракт токена) управляет этими разрешениями. Только после этого я (уполномоченная сторона) могу вывести сумму, не превышающую авторизацию. Если банк не найдет записи авторизации, мой запрос на вывод средств, несомненно, будет отклонен.

А что случится, если мы будем использовать другой метод авторизации - разрешение? Как тогда будет работать займ денег у Джека Ма?

На этот раз прошу одолжить еще миллион. Щедрый, как всегда, Джек Ма даже не удосуживается позвонить в банк. Вместо этого он достает чековую книжку, заполняет сумму, подписывает ее и протягивает мне. Затем я отношу этот чек в банк. Несмотря на то, что у банка нет никаких записей об авторизации, банк может проверить подпись Джека Ма на чеке и, исходя из этого, передать мне указанную сумму.

К настоящему моменту вы, наверное, видите разницу в процессах. Одобрить, как основная функция ERC-20, широко используется сразу после запуска Ethereum. Почему же в ERC-2612 был введен метод Permit для достижения аналогичного результата?

2. Зачем нужно разрешение?

Предложение ERC-2612 было представлено в марте 2019 года и завершило свой финальный обзор в октябре 2022 года. Его развертывание тесно связано с резкими скачками цен на газ, которые испытал главный сеть Ethereum за этот период.


Изображение: цены на газ ETH Mainnet оставались высокими с 2020 по 2022 год

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

Однако это привело к недостатку: когда пользователи хотели торговать токенами on-chain, им часто приходилось выносить непомерные газовые комиссии. При использовании метода Approve для завершения одного токен-свопа требовались две транзакции (TX). Для пользователей с меньшими средствами комиссии за транзакции могли стать настоящим кошмаром.

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

Занятой Джек Ма экономит себе телефонный звонок, и, похоже, пользователи также экономят один TX. Когда цены на газ высокие, экономия на сборах может быть существенной, что делает ситуацию беспроигрышной. Однако мало кто догадывался, что ящик Пандоры потихоньку открывается...

3. Взрывной рост, как извержение вулкана

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

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

Это привело к заметному росту числа жертв фишинга и суммы украденных средств. Согласно статистике от @ScamSniffer"">@ScamSniffer:

  • В 2023 году жертвы фишинга потеряли общую сумму в 295 миллионов долларов.
  • В первом полугодии 2024 года этот показатель уже превысил $314 млн.
  • К концу 3 квартала 2024 года произошло серьезное происшествие: кошелек известной личности, подозреваемой в том, что это Шэню, стал жертвой фишинговой атаки Permit, в результате чего было утрачено 12 000 spWETH, стоимостью около 200 миллионов юаней.


Изображение: Отчет ScamSniffer о фишинговых атаках за первое полугодие 2024 года

Такой сценарий, вероятно, выходил за пределы того, что задумывали оригинальные разработчики. Цель введения разрешения заключалась в снижении затрат на газ, улучшении пользовательского опыта и повышении эффективности. То, что считалось двуручным мечом, с обоими выигрышами и потерями, оказалось односторонним клинком — бритым — прорезавшим огромную дыру в щите, который должен был защищать активы пользователей.

Разрешение — не единственный способ авторизации, основанный на подписях. Например, Uniswap позже представила Permit2, позволяющую всем токенам ERC-20 поддерживать автономные подписи. Будучи DEX No1, Uniswap еще больше увеличила зависимость пользователей от офлайн-подписей, что, в свою очередь, повысило риск фишинговых атак.

4. Как избежать рисков?

Как обычные пользователи, какие шаги мы можем предпринять, чтобы избежать потерь и защитить себя от этого меча Дамокла - острого клинка - нависшего над нами?

1⃣ Повышение осведомленности

  • Оставайтесь спокойными, когда соблазняют воздушные капли.
    Airdrops от криптопроектов могут показаться заманчивыми, но в большинстве случаев это фишинговые атаки, замаскированные под airdrops. При столкновении с такой информацией не спешите ее получить. Вместо этого проверьте легитимность airdrop и его официального веб-сайта из нескольких источников, чтобы избежать попадания в фишинговые ловушки.

  • Избегайте слепого подписывания
    Если вы случайно попали на сайт фишинга и не заметили этого, на момент подписания транзакции в своем кошельке тщательно изучите ее. Если встречаются такие термины, как Permit, Permit2, Approve или IncreaseAllowance, это означает, что транзакция запрашивает авторизацию токена. В этом случае следует быть осторожным, потому что законные раздачи не требуют этого процесса. Аппаратные кошельки Keystone реализовали функции анализа и отображения транзакций, что позволяет пользователям лучше понимать детали транзакций и избегать слепого подписания, что может привести к серьезным последствиям от спешных решений.


Изображение: Keystone аппаратный кошелек, Rabby Wallet анализ и отображение транзакций с подписью разрешения 2

2⃣ Воспользуйтесь инструментами

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

  • Отменить
    Revoke.cashпозволяет просматривать авторизации токенов в вашем кошельке. Мы рекомендуем отзывать любые подозрительные или неограниченные авторизации. Хорошей практикой является регулярная очистка ваших авторизаций и ограничение их только необходимыми суммами.

3⃣ Разделение активов и многофакторная аутентификация
Как говорится, не ставьте все яйца в одну корзину — этот принцип также применим к криптовалютным активам. Например, вы можете хранить большие суммы активов в холодном кошельке, таком как Keystone, в то время как используете горячий кошелек для повседневных транзакций. Даже если вы станете жертвой атаки, ваш баланс не будет скомпрометирован в целом.

Для тех, кто имеет повышенные требования к безопасности, использование кошельков с мультиподписью (multi-sig) может дополнительно усилить защиту. Активы под управлением мультиподписи могут быть перемещены только тогда, когда достигнут определенный порог утверждений кошелька. Если один кошелек скомпрометирован, но порог не достигнут, хакеры не получат доступ к вашим активам.

5. Заключение

Хотя мы не можем отрицать ценность, которую представляет Permit, увеличивающееся количество краж показывает, что риски, которые она представляет, могут перевешивать ее преимущества. Точно так же, как старый метод ethsign, который был предпочтителен хакерами из-за его плохой читаемости и значительных уязвимостей безопасности, Permit теперь отключен большинством программного обеспечения кошелька, а его функции заменены более безопасными альтернативами.

Фокусируясь на Разрешении, мы также не на перекрестке, подобном тому, с которым столкнулся ethsign? Вопрос о том, улучшать и модернизировать или полностью отказаться - это вопрос, с которым разработчикам ETH нужно уделить время для обдумывания и обсуждения.

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

  • Сильные предупреждения о переводах Permit/Permit2
  • Переключатель для отключения функциональности Permit/Permit2

Disclaimer:

  1. Эта статья воспроизведена из [ Sanv.io ]KeystoneCN], и авторские права принадлежат оригинальному автору [Трапецеидальный каменьCN], если у вас есть возражение против перепечатки, пожалуйста, свяжитесь Sanv Nurlae Team , команда обработает это как можно скорее в соответствии с соответствующими процедурами.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют только личные взгляды автора и не являются инвестиционными советами.
  3. Переводы статьи на другие языки выполняются командой Sanv Nurlae. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

От решения к риску: как разрешение стало новой уязвимостью?

Средний10/22/2024, 6:32:20 AM
Эта статья рассматривает механизмы утверждения Approve и Permit на Ethereum, исследуя их практические различия и влияние. Она анализирует, как механизм Permit помогает снизить затраты пользователей в условиях высоких комиссий за газ, а также обсуждает потенциальные риски безопасности и предлагает практические советы по безопасности.

1. Обзор разрешения

Давайте начнем с простой истории о заеме денег:
Я планирую одолжить один миллион у своего хорошего друга Джека Ма. Без колебаний Джек Ма берет телефон, звонит в банк, и после проверки своей личности говорит банку: "Я авторизую такого-то снимать один миллион". Банк подтверждает и регистрирует эту авторизацию.

Следующим шагом для меня будет пойти в банк и сказать кассиру, что я здесь, чтобы снять один миллион, разрешенный Джеком Ма. Банк проверяет запись о разрешении и, подтвердив, что я правильный человек, передает мне один миллион.

Эта история является хорошей аналогией того, как работает авторизация Approve на Ethereum. В этом процессе только Джек Ма (владелец актива) может позвонить в банк, чтобы дать авторизацию (ончейн), а банк (контракт токена) управляет этими разрешениями. Только после этого я (уполномоченная сторона) могу вывести сумму, не превышающую авторизацию. Если банк не найдет записи авторизации, мой запрос на вывод средств, несомненно, будет отклонен.

А что случится, если мы будем использовать другой метод авторизации - разрешение? Как тогда будет работать займ денег у Джека Ма?

На этот раз прошу одолжить еще миллион. Щедрый, как всегда, Джек Ма даже не удосуживается позвонить в банк. Вместо этого он достает чековую книжку, заполняет сумму, подписывает ее и протягивает мне. Затем я отношу этот чек в банк. Несмотря на то, что у банка нет никаких записей об авторизации, банк может проверить подпись Джека Ма на чеке и, исходя из этого, передать мне указанную сумму.

К настоящему моменту вы, наверное, видите разницу в процессах. Одобрить, как основная функция ERC-20, широко используется сразу после запуска Ethereum. Почему же в ERC-2612 был введен метод Permit для достижения аналогичного результата?

2. Зачем нужно разрешение?

Предложение ERC-2612 было представлено в марте 2019 года и завершило свой финальный обзор в октябре 2022 года. Его развертывание тесно связано с резкими скачками цен на газ, которые испытал главный сеть Ethereum за этот период.


Изображение: цены на газ ETH Mainnet оставались высокими с 2020 по 2022 год

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

Однако это привело к недостатку: когда пользователи хотели торговать токенами on-chain, им часто приходилось выносить непомерные газовые комиссии. При использовании метода Approve для завершения одного токен-свопа требовались две транзакции (TX). Для пользователей с меньшими средствами комиссии за транзакции могли стать настоящим кошмаром.

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

Занятой Джек Ма экономит себе телефонный звонок, и, похоже, пользователи также экономят один TX. Когда цены на газ высокие, экономия на сборах может быть существенной, что делает ситуацию беспроигрышной. Однако мало кто догадывался, что ящик Пандоры потихоньку открывается...

3. Взрывной рост, как извержение вулкана

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

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

Это привело к заметному росту числа жертв фишинга и суммы украденных средств. Согласно статистике от @ScamSniffer"">@ScamSniffer:

  • В 2023 году жертвы фишинга потеряли общую сумму в 295 миллионов долларов.
  • В первом полугодии 2024 года этот показатель уже превысил $314 млн.
  • К концу 3 квартала 2024 года произошло серьезное происшествие: кошелек известной личности, подозреваемой в том, что это Шэню, стал жертвой фишинговой атаки Permit, в результате чего было утрачено 12 000 spWETH, стоимостью около 200 миллионов юаней.


Изображение: Отчет ScamSniffer о фишинговых атаках за первое полугодие 2024 года

Такой сценарий, вероятно, выходил за пределы того, что задумывали оригинальные разработчики. Цель введения разрешения заключалась в снижении затрат на газ, улучшении пользовательского опыта и повышении эффективности. То, что считалось двуручным мечом, с обоими выигрышами и потерями, оказалось односторонним клинком — бритым — прорезавшим огромную дыру в щите, который должен был защищать активы пользователей.

Разрешение — не единственный способ авторизации, основанный на подписях. Например, Uniswap позже представила Permit2, позволяющую всем токенам ERC-20 поддерживать автономные подписи. Будучи DEX No1, Uniswap еще больше увеличила зависимость пользователей от офлайн-подписей, что, в свою очередь, повысило риск фишинговых атак.

4. Как избежать рисков?

Как обычные пользователи, какие шаги мы можем предпринять, чтобы избежать потерь и защитить себя от этого меча Дамокла - острого клинка - нависшего над нами?

1⃣ Повышение осведомленности

  • Оставайтесь спокойными, когда соблазняют воздушные капли.
    Airdrops от криптопроектов могут показаться заманчивыми, но в большинстве случаев это фишинговые атаки, замаскированные под airdrops. При столкновении с такой информацией не спешите ее получить. Вместо этого проверьте легитимность airdrop и его официального веб-сайта из нескольких источников, чтобы избежать попадания в фишинговые ловушки.

  • Избегайте слепого подписывания
    Если вы случайно попали на сайт фишинга и не заметили этого, на момент подписания транзакции в своем кошельке тщательно изучите ее. Если встречаются такие термины, как Permit, Permit2, Approve или IncreaseAllowance, это означает, что транзакция запрашивает авторизацию токена. В этом случае следует быть осторожным, потому что законные раздачи не требуют этого процесса. Аппаратные кошельки Keystone реализовали функции анализа и отображения транзакций, что позволяет пользователям лучше понимать детали транзакций и избегать слепого подписания, что может привести к серьезным последствиям от спешных решений.


Изображение: Keystone аппаратный кошелек, Rabby Wallet анализ и отображение транзакций с подписью разрешения 2

2⃣ Воспользуйтесь инструментами

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

  • Отменить
    Revoke.cashпозволяет просматривать авторизации токенов в вашем кошельке. Мы рекомендуем отзывать любые подозрительные или неограниченные авторизации. Хорошей практикой является регулярная очистка ваших авторизаций и ограничение их только необходимыми суммами.

3⃣ Разделение активов и многофакторная аутентификация
Как говорится, не ставьте все яйца в одну корзину — этот принцип также применим к криптовалютным активам. Например, вы можете хранить большие суммы активов в холодном кошельке, таком как Keystone, в то время как используете горячий кошелек для повседневных транзакций. Даже если вы станете жертвой атаки, ваш баланс не будет скомпрометирован в целом.

Для тех, кто имеет повышенные требования к безопасности, использование кошельков с мультиподписью (multi-sig) может дополнительно усилить защиту. Активы под управлением мультиподписи могут быть перемещены только тогда, когда достигнут определенный порог утверждений кошелька. Если один кошелек скомпрометирован, но порог не достигнут, хакеры не получат доступ к вашим активам.

5. Заключение

Хотя мы не можем отрицать ценность, которую представляет Permit, увеличивающееся количество краж показывает, что риски, которые она представляет, могут перевешивать ее преимущества. Точно так же, как старый метод ethsign, который был предпочтителен хакерами из-за его плохой читаемости и значительных уязвимостей безопасности, Permit теперь отключен большинством программного обеспечения кошелька, а его функции заменены более безопасными альтернативами.

Фокусируясь на Разрешении, мы также не на перекрестке, подобном тому, с которым столкнулся ethsign? Вопрос о том, улучшать и модернизировать или полностью отказаться - это вопрос, с которым разработчикам ETH нужно уделить время для обдумывания и обсуждения.

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

  • Сильные предупреждения о переводах Permit/Permit2
  • Переключатель для отключения функциональности Permit/Permit2

Disclaimer:

  1. Эта статья воспроизведена из [ Sanv.io ]KeystoneCN], и авторские права принадлежат оригинальному автору [Трапецеидальный каменьCN], если у вас есть возражение против перепечатки, пожалуйста, свяжитесь Sanv Nurlae Team , команда обработает это как можно скорее в соответствии с соответствующими процедурами.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют только личные взгляды автора и не являются инвестиционными советами.
  3. Переводы статьи на другие языки выполняются командой Sanv Nurlae. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!