August 1, 2023

Revoke.cash

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

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

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

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

Как же работает эта афера?

Много лет назад, когда в Ethereum начали расти тарифы на газ, была разработана концепция "газовых токенов". Эти газовые токены использовали (или злоупотребляли) функцией EVM, позволяющей возвращать газ при очистке хранилища.

Одним из примеров является CHI:
https://blog.1inch.io/everything-you-wanted-to-know-about-chi-gastoken/

Это позволяло пользователям чеканить газовые токены при низких тарифах и сжигать их при высоких тарифах, эффективно "фиксируя" более низкий тариф.

Это было непреднамеренным побочным эффектом возврата газа из хранилищ, и в 2021 году в рамках EIP-3529 он был устранен.
https://eips.ethereum.org/EIPS/eip-3529

Однако в некоторых других EVM-цепочках, включая BNB Chain, до сих пор существует концепция газовых токенов, чем и злоупотребляют мошенники.

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


За последние несколько дней фонд @MultichainOrg был выведен из игры, а официальные источники и различные инструменты безопасности, такие как. @RevokeCash и @Rabby_io призывали пользователей отозвать свои разрешения на Multichain. А разработчики создали полезные инструменты для проверки одобрений пользователей на Multichain.

Как оказалось, мошенник использовал этот канал для рекламы и разместил поддельный токен ERC-20 на сайте @BNBCHAIN
(адрес контракта: https://bscscan.com/address/0x1af32e8488822bf8e2fff374de8d737ecfb368c3).

Он модифицировал метод `approve()` и вручную подделал одобрения для большого количества адресов в цепочке, что заставило Revoke Cash и Rabby (и многие другие инструменты) напомнить пользователям о необходимости отозвать свои одобрения.

Однако функция `approve()` в этом контракте ERC-20 имеет неправильную форму и фактически потребляет значительное количество газа, заставляя пользователей добывать токены $CHI (также известные как газовые токены, поскольку уничтожение этих токенов возвращает газ) для разработчика контракта.

Теоретически сумма майнинга ограничена всей мощностью блока, и при нормальном уровне газа в 3 Gwei на BSC она выведет из кошелька злоумышленника примерно 60 долларов BNB.

Эталонная транзакция: https://bscscan.com/tx/0x7d3e1abaf857abd39e557ccb908c8273c436fd11d22f63c2791c73473bef63ad

Когда пользователи увидят уведомление об отзыве своих разрешений и нажмут кнопку "отозвать", на кошелек разработчика контракта будут отправлены добытые токены $CHI. В настоящее время на кошелек разработчика уже поступило около 70 тыс. токенов $CHI на сумму 400 долл.

Контракт действует всего 4 часа, и со временем число жертв, несомненно, будет расти.

Мы надеемся. @RevokeCash и @Rabby_io примут это к сведению и будут проверять наличие газа при запуске функции `approve()`. В случае превышения лимита газа следует предупреждать пользователей или полностью отклонять транзакцию.

Кроме того, мы также призываем @BNBCHAIN как можно скорее интегрировать EIP-3298 (https://eips.ethereum.org/EIPS/eip-3298), который отменяет возврат газа для `SELFDESTRUCT` и `SSTORE`, тем самым официально устраняя данную проблему.
https://eips.ethereum.org/EIPS/eip-3298

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