Разрешение - это расширенная функция для авторизации в рамках стандарта ERC-20. Простыми словами, вы можете подписать согласие на перемещение вашего токена другим адресам. Принцип состоит в том, что вы используете подпись для указания того, что авторизованный адрес может использовать ваши токены через эту подпись, а затем авторизованный адрес берет вашу подпись для выполнения взаимодействия с разрешением на цепи и получает разрешение на вызов и может передать вам актив. Офлайн-фишинг подписей разрешения обычно разделяется на три шага:
(1) Атакующий подделывает ссылки для вылавливания рыбы или веб-сайты для вылавливания рыбы, чтобы подтолкнуть пользователей к подписи через кошелек (нет взаимодействия с контрактом, нет ончейн).
Объект подписи: DAI/USDC/WETH и другие токены ERC20 (здесь DAI)
holder:// адрес подписи
адрес фишера
nonce:0
срок действия:1988064000 // Время истечения
allowed:true
Если подписано, то злоумышленник получит подпись (период значений r, s, v), используемую для кражи DAI/USDC/WETH и других токенов ERC20 (здесь DAI) у жертвы. Когда злоумышленник взаимодействует с функцией разрешения, нужно использовать).
(2) Атакующий вызывает функцию разрешения для завершения авторизации.
https://etherscan.io/tx/0x1fe75ad73f19cc4c3b658889dae552bb90cf5cef402789d256ff7c3e091bb662
(3) Злоумышленник вызывает функцию transferFrom для передачи активов жертвы и завершения атаки.
Давайте сначала объясним разницу между transfer и transferFrom. Когда мы напрямую передаем ERC20, мы обычно вызываем функцию transfer в контракте ERC20, а transferFrom обычно используется, когда мы авторизуем третью сторону на передачу ERC20 из нашего кошелька на другие адреса.
https://etherscan.io/tx/0x9c02340896e238fc667c1d84fec78af99b1642c986fe3a81602903af498eb938
Дополнительное объяснение: Эта подпись - это подпись вне цепи без газа. После того как злоумышленник ее получит, он выполнит разрешение и transferFrom взаимодействия на цепи, поэтому запись авторизации не может быть видна в записи на цепи адреса жертвы. В адресе злоумышленника это можно увидеть. В общем, эта подпись предназначена для одноразового использования и не создает повторяющихся или постоянных рисков фишинга.
Permit2 - это смарт-контракт, запущенный Uniswap в конце 2022 года для удобства пользователей. Это контракт на одобрение токенов, который позволяет разделить и управлять авторизацией токенов в различных DApps. В будущем, по мере интеграции все большего числа проектов с Permit2, контракт Permit2 сможет обеспечить более унифицированный опыт управления авторизацией в экосистеме DApp и сэкономить пользовательские транзакционные издержки.
Перед появлением Permit2 обмен токенов на Uniswap требовал разрешение (Approve), а затем обмен (Swap), что требовало двух операций и комиссию за две транзакции. После запуска Permit2 пользователи могут разрешить все свои квоты контракту Permit2 Uniswap сразу, и каждое последующее погашение требует только оффчейн подписи.
Хотя Permit2 улучшает пользовательский опыт, за ним следуют фишинговые атаки, нацеленные на подписи Permit2. Подобно фишингу с подписью Permit вне цепи блоков, Permit2 также является фишингом с подписью вне цепи блоков. Эта атака в основном делится на четыре шага:
(1) Предпосылкой является то, что кошелек пользователя использовал Uniswap до того, как был подвергнут фишингу, и авторизовал ограничение токенов для контракта Permit2 Uniswap (Permit2 позволит пользователю авторизовать весь баланс токена по умолчанию).
https://etherscan.io/tx/0xd8f0333b9e0db7175c38c37e490379bde5c83a916bdaa2b9d46ee6bff4412e8f
(2) Атакующий подделывает фишинговые ссылки или фишинговые страницы, чтобы склонить пользователей к подписи. Фишинг-атакующий получает необходимую информацию для подписи, которая аналогична фишингу с отключенной подписью.
(3) Атакующий вызывает функцию разрешения контракта Permit2 для завершения авторизации.
https://etherscan.io/tx/0xd8c3f55dfbc8b368134e6236b296563f506827bd5dc4d6c0df39851fd219d658
(4) Атакующий вызывает функцию transferFrom контракта Permit2 для перевода активов жертвы и завершения атаки.
https://etherscan.io/tx/0xf6461e003a55f8ecbe919a47b3c0dc6d0f068e48a941658329e35dc703138486
Дополнительное замечание: Обычно у злоумышленников есть несколько адресов, на которые поступают активы. Обычно одним из получателей с наибольшим количеством является злоумышленник, который реализует рыболовство, а другие - черные адреса, предоставляющие услуги рыболовства (поставщики DaaS-услуг рыболовства). адрес, такие как PinkDrainer, InfernoDrainer, AngelDrainer и т. д.).
eth_sign - это открытый метод подписи, который может подписывать любой хэш. Злоумышленнику достаточно сконструировать любые вредоносные данные, которые необходимо подписать (например, передача токенов, вызов контракта, получение авторизации и т. д.) и с помощью eth_sign склонить пользователя подписать их. Атака может быть завершена.
MetaMask предупредит об угрозе при подписании eth_sign. Web3-кошельки, такие как imToken и OneKey, отключили эту функцию или предоставили предупреждения об угрозах. Рекомендуется, чтобы все производители кошельков отключили этот метод, чтобы предотвратить атаки на пользователей из-за недостаточной осведомленности о безопасности или необходимости технического накопления.
personal_sign и signTypedData - это обычно используемые методы подписи. Обычно пользователям нужно внимательно проверить, безопасны ли инициатор, доменное имя, содержимое подписи и т. д. Если они представляют опасность, необходимо быть особенно бдительными.
Кроме того, если personal_sign и signTypedData используются как «слепые подписи», как в приведенном выше примере, пользователь не может видеть открытый текст, что делает его легким для использования фишинговыми группировками, что также увеличит риск фишинга.
Создавая вредоносный веб-сайт или вешая лошадь на официальном веб-сайте проекта, злоумышленники заставляют пользователей подтверждать операции, такие как установка setApprovalForAll, Approve, Increase Approval и Increase Allowance, получать разрешение на операции с активами пользователя и совершать кражу.
(1)setApprovalForAll
Возьмем инцидент рыбалки на лошадях PREMINT в качестве примера, файл js (https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.jsна веб-сайт проекта был внедрен вредоносный код. Вредоносный js файл (https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559) будет создан динамически. Атака инициируется этим вредоносным скриптом.
Поскольку пользователь не обнаружил риск вовремя, он подтвердил операцию setApprovalForAll и ненамеренно утекла авторизация операции для актива, в результате чего актив был украден.
(2)Одобрить
Подобно setApprovalForAll, пользователь подтвердил операцию Approve, утекая авторизацию операции для актива, в результате чего актив был украден.
Одобрить неправомерное использование:
https://etherscan.io/tx/0x4b0655a5b75a9c078653939101fffc1d08ff7e5c89b0695ca6db5998214353fa
Атакующий передает активы через transferFrom:
https://etherscan.io/tx/0x0dedf25777ff5483bf71e70e031aacbaf50124f7ebb6804beb17aee2c15c33e8
Принцип атаки функций Увеличения подтверждения и Увеличения разрешения аналогичен этому. По умолчанию верхний предел для оперирования токенами адреса жертвы атакующего равен 0. Однако, после авторизации с помощью этих двух функций, атакующий увеличивает предел для токенов жертвы, лимит операций, и затем количество токенов может быть переведено.
(3)Увеличение утверждения
Увеличение одобрения ошибочной авторизации:
https://etherscan.io/tx/0x7ae694080e2ad007fd6fa25f9a22ca0bbbff4358b9bc84cc0a5ba7872118a223
Атакующий передает активы через transferFrom:
https://etherscan.io/tx/0x15bc5516ed7490041904f1a4c594c33740060e0f0271cb89fe9ed43c974a7a69
(4)Увеличить Разрешение
Увеличение разрешения на несанкционированное использование:
https://etherscan.io/tx/0xbb4fe89c03d8321c5bfed612fb76f0756ac7e99c1efaf7c4d99d99f850d4de53
Атакующий передает активы через transferFrom:
https://etherscan.io/tx/0xb91d7b1440745aa07409be36666bc291ecc661e424b21b855698d488949b920f
Фишинг с загрязнением адреса также является одним из недавно распространенных методов фишинга. Злоумышленник отслеживает транзакции в сети, а затем подделывает злонамеренные адреса на основе адреса оппонента в исторических транзакциях целевого пользователя. Обычно первые 4-6 цифр и последние 4-6 цифр связаны с правильным оппонентом. Адреса обеих сторон совпадают, после чего эти поддельные злонамеренные адреса используются для перевода небольших сумм или бесценных токенов на адрес целевого пользователя.
Если целевой пользователь копирует адрес оппонента из истории транзакций для перевода в последующих транзакциях из-за личных привычек, очень вероятно, что активы будут ошибочно переведены на злоумышленный адрес из-за невнимательности.
3 мая 2024 года было украдено 1155WBTC на сумму более 70 миллионов долларов США из-за метода фишинга с использованием загрязнения этого адреса.
Правильный адрес: 0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91
Вредоносный адрес: 0xd9A1C3788D81257612E2581A6ea0aDa244853a91
Обычная транзакция:
https://etherscan.io/tx/0xb18ab131d251f7429c56a2ae2b1b75ce104fe9e83315a0c71ccf2b20267683ac
Проблема загрязнения адресов:
https://etherscan.io/tx/0x87c6e5d56fea35315ba283de8b6422ad390b6b9d8d399d9b93a9051a3e11bf73
Неправильная транзакция:
https://etherscan.io/tx/0x3374abc5a9c766ba709651399b6e6162de97ca986abc23f423a9d893c8f5f570
В настоящее время различные кошельки и безопасные плагины постепенно внедряют визуальные предупреждения о рисках для фишинговых черных списков и общих методов фишинга, а также все более полно отображают информацию о подписи, повышая способность обычных пользователей идентифицировать фишинговые атаки. Однако атакующие и защитные технологии всегда соперничают друг с другом и постоянно развиваются. Появляются все более тонкие методы фишинга, поэтому нам нужно быть более бдительными. Использование CREATE2 для обхода обнаружения черных списков кошельков и безопасных плагинов является относительно распространенным методом в последнее время.
Create2 - это операция, введенная во время обновления Ethereum 'Constantinople', которая позволяет пользователям создавать смарт-контракты на Ethereum. Оригинальная операция Create генерирует новый адрес на основе адреса создателя и номера nonce. Create2 позволяет пользователям рассчитать адрес до развертывания контракта. Create2 - очень мощный инструмент для разработчиков Ethereum, обеспечивая продвинутое и гибкое взаимодействие с контрактами, предварительный расчет адреса контракта на основе параметров, оффчейн транзакции и гибкое развертывание и адаптацию конкретных распределенных приложений.
Хотя Create2 приносит выгоду, он также создает новые риски безопасности. Create2 может быть злоупотреблено для создания новых адресов без истории злонамеренных транзакций, обходя обнаружение черного списка кошелька и безопасные предупреждения. Когда жертва подписывает злонамеренную транзакцию, злоумышленник может развернуть контракт по заранее вычисленному адресу и перевести активы жертвы на этот адрес, и это процесс необратим.
Особенности этой атаки:
(1) Позволяет предсказывать создание адресов контрактов, что позволяет злоумышленникам обмануть пользователей, дав им разрешение до развертывания контракта.
(2) Поскольку контракт еще не был развернут на момент авторизации, адрес атаки является новым адресом, и инструмент обнаружения не может предоставить предупреждение на основе исторического черного списка, что обладает более высокой скрытностью.
Вот пример рыбной ловли с использованием CREATE2:
https://etherscan.io/tx/0x83f6bfde97f2fe60d2a4a1f55f9c4ea476c9d87fa0fcd0c1c3592ad6a539ed14
В этой транзакции жертва перевела sfrxETH по адресу на зловредный адрес (0x4D9f77), который является новым контрактным адресом без каких-либо записей о транзакциях.
Но когда вы открываете транзакцию создания этого контракта, вы можете обнаружить, что контракт завершил фишинговую атаку одновременно с созданием, переводя активы с адреса жертвы.
https://etherscan.io/tx/0x77c79f9c865c64f76dc7f9dff978a0b8081dce72cab7c256ac52a764376f8e52
Просматривая выполнение этой транзакции, можно увидеть, что 0x4d9f7773deb9cc44b34066f5e36a5ec98ac92d40 был создан после вызова CREATE2.
Кроме того, анализируя соответствующие адреса PinkDrainer, можно обнаружить, что этот адрес каждый день создает новые контрактные адреса для рыболовства через CREATE2.
https://etherscan.io/address/0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722#internaltx
Атаки фишинга становятся все более частыми, и из-за огромных незаконных прибылей начала развиваться черная промышленная цепочка на основе Drainer as a Service (DaaS). Более активные включают в себя Inferno/MS/Angel/Monkey/Venom/Pink/ Pussy/Medusa и т. д., фишинговые атакующие покупают эти услуги DaaS, быстро и с низким порогом, создают тысячи фишинговых веб-сайтов, мошеннических аккаунтов и т. д., как бедствие, нахлынувшее на эту отрасль, угрожая безопасности активов пользователей.
Возьмем, к примеру, Inferno Drainer, известную фишинговую группировку, которая внедряет вредоносные скрипты на различных веб-сайтах. Например, они распространяют seaport.js, coinbase.js и wallet-connect.js, чтобы прикинуться популярными функциями протокола Web3 (Seaport, WalletConnect и Coinbase), чтобы привлечь пользователей к интеграции или нажатию. После получения подтверждения пользователя они автоматически переведут активы пользователя на адрес злоумышленника. Более 14 000 веб-сайтов, содержащих вредоносные скрипты Seaport, более 5 500 веб-сайтов, содержащих вредоносные скрипты WalletConnect, более 550 веб-сайтов, содержащих вредоносные скрипты Coinbase, более 16 000 вредоносных доменов, связанных с Inferno Drainer, и более 100 брендов криптовалюты были обнаружены. бренды затронуты. Ниже приведен веб-сайт-фишинг, связанный с Inferno Drainer.
В верхней части веб-сайта содержатся два вредоносных скрипта, seaport.js и wallet-connect.js. Еще одной типичной особенностью фишинговых сайтов Inferno Drainer является то, что пользователи не могут открыть исходный код веб-сайта, щелкнув правой кнопкой мыши, что делает эти фишинговые веб-сайты более скрытыми.
В рамках фреймворка Phishing-as-a-Service обычно 20% украденных активов автоматически переводятся на адрес организатора Inferno Drainer, а оставшиеся 80% остаются у злоумышленника-фишера. Кроме того, Inferno Drainer регулярно предоставляет бесплатные услуги по созданию и размещению фишинговых веб-сайтов. Иногда фишинговые услуги также требуют платы в размере 30% от обманутых средств. Эти фишинговые веб-сайты предназначены для тех, кто способен привлечь жертв, но не обладает способностью создавать и проектировать фишинговые атаки, у которых либо есть технические возможности размещать веб-сайт, либо просто не хотят выполнять эту задачу сами.
Итак, как работает эта мошенническая схема DaaS? Вот пошаговое описание криптовалютной схемы мошенничества Inferno Drainer:
(1) Инферно Дрейнер продвигает свои услуги через канал Telegram под названием Инферно Мультичейн Дрейнер, а иногда злоумышленники также получают доступ к услуге через веб-сайт Инферно Дрейнер.
(2) Атакующий настраивает и создает свой собственный фишинг-сайт через функцию DaaS и распространяет его через X (Twitter), Discord и другие социальные медиа.
(3) Жертвы приглашают сканировать QR-коды или использовать другие методы, содержащиеся на этих фишинговых веб-сайтах, чтобы подключить свои кошельки.
(4) Дрейнер проверяет наиболее ценные и легко передаваемые активы жертвы и инициирует злонамеренные транзакции.
(5) Потерпевший подтвердил транзакцию.
(6) Активы передаются преступникам. Из украденных активов 20% были переданы разработчикам Inferno Drainer, а 80% - рыбачьим атакующим.
На картинке ниже показана страница услуги DaaS, на которой Inferno Drainer показывает клиентам их статистику: количество соединений (если жертва подключила кошелек к фишинговому сайту), успешные клики (если жертва подтвердила транзакцию) и стоимость украденных активов.
Каждый клиент услуги DaaS может настраивать свои собственные функции Drainer:
Во-первых, пользователи не должны нажимать на неизвестные ссылки, замаскированные под хорошие новости, такие как награды, воздушные капли и т. д.
(2) Случаи взлома официальных учетных записей в социальных сетях участились, и официальная информация также может быть фишинговой информацией, и официальная информация не означает, что она абсолютно безопасна;
(3) При использовании кошельков, DApps и других приложений обращайте внимание на скрининг и остерегайтесь поддельных сайтов и фальшивых приложений;
(4) Любая транзакция или сообщение подписи, требующие подтверждения, должны быть осторожными и стараться кросс-подтвердить цель, содержание и другую информацию. Отказывайтесь подписывать вслепую, будьте бдительными, сомневайтесь во всем и убедитесь, что каждый шаг операции ясен и безопасен.
(5) Кроме того, пользователям необходимо понимать распространенные методы фишинговых атак, упомянутые в этой статье, и научиться проактивно выявлять признаки фишинга. Овладеть распространенными признаками, функциями авторизации и их рисками, владеть интерактивным (URL взаимодействия), владельцем (адрес авторизатора), потребителем (адрес авторизованной стороны), значением (разрешенное количество), номером (случайное число), сроком (время истечения), переводом/transferFrom (перевод) и другими полями.
Разрешение - это расширенная функция для авторизации в рамках стандарта ERC-20. Простыми словами, вы можете подписать согласие на перемещение вашего токена другим адресам. Принцип состоит в том, что вы используете подпись для указания того, что авторизованный адрес может использовать ваши токены через эту подпись, а затем авторизованный адрес берет вашу подпись для выполнения взаимодействия с разрешением на цепи и получает разрешение на вызов и может передать вам актив. Офлайн-фишинг подписей разрешения обычно разделяется на три шага:
(1) Атакующий подделывает ссылки для вылавливания рыбы или веб-сайты для вылавливания рыбы, чтобы подтолкнуть пользователей к подписи через кошелек (нет взаимодействия с контрактом, нет ончейн).
Объект подписи: DAI/USDC/WETH и другие токены ERC20 (здесь DAI)
holder:// адрес подписи
адрес фишера
nonce:0
срок действия:1988064000 // Время истечения
allowed:true
Если подписано, то злоумышленник получит подпись (период значений r, s, v), используемую для кражи DAI/USDC/WETH и других токенов ERC20 (здесь DAI) у жертвы. Когда злоумышленник взаимодействует с функцией разрешения, нужно использовать).
(2) Атакующий вызывает функцию разрешения для завершения авторизации.
https://etherscan.io/tx/0x1fe75ad73f19cc4c3b658889dae552bb90cf5cef402789d256ff7c3e091bb662
(3) Злоумышленник вызывает функцию transferFrom для передачи активов жертвы и завершения атаки.
Давайте сначала объясним разницу между transfer и transferFrom. Когда мы напрямую передаем ERC20, мы обычно вызываем функцию transfer в контракте ERC20, а transferFrom обычно используется, когда мы авторизуем третью сторону на передачу ERC20 из нашего кошелька на другие адреса.
https://etherscan.io/tx/0x9c02340896e238fc667c1d84fec78af99b1642c986fe3a81602903af498eb938
Дополнительное объяснение: Эта подпись - это подпись вне цепи без газа. После того как злоумышленник ее получит, он выполнит разрешение и transferFrom взаимодействия на цепи, поэтому запись авторизации не может быть видна в записи на цепи адреса жертвы. В адресе злоумышленника это можно увидеть. В общем, эта подпись предназначена для одноразового использования и не создает повторяющихся или постоянных рисков фишинга.
Permit2 - это смарт-контракт, запущенный Uniswap в конце 2022 года для удобства пользователей. Это контракт на одобрение токенов, который позволяет разделить и управлять авторизацией токенов в различных DApps. В будущем, по мере интеграции все большего числа проектов с Permit2, контракт Permit2 сможет обеспечить более унифицированный опыт управления авторизацией в экосистеме DApp и сэкономить пользовательские транзакционные издержки.
Перед появлением Permit2 обмен токенов на Uniswap требовал разрешение (Approve), а затем обмен (Swap), что требовало двух операций и комиссию за две транзакции. После запуска Permit2 пользователи могут разрешить все свои квоты контракту Permit2 Uniswap сразу, и каждое последующее погашение требует только оффчейн подписи.
Хотя Permit2 улучшает пользовательский опыт, за ним следуют фишинговые атаки, нацеленные на подписи Permit2. Подобно фишингу с подписью Permit вне цепи блоков, Permit2 также является фишингом с подписью вне цепи блоков. Эта атака в основном делится на четыре шага:
(1) Предпосылкой является то, что кошелек пользователя использовал Uniswap до того, как был подвергнут фишингу, и авторизовал ограничение токенов для контракта Permit2 Uniswap (Permit2 позволит пользователю авторизовать весь баланс токена по умолчанию).
https://etherscan.io/tx/0xd8f0333b9e0db7175c38c37e490379bde5c83a916bdaa2b9d46ee6bff4412e8f
(2) Атакующий подделывает фишинговые ссылки или фишинговые страницы, чтобы склонить пользователей к подписи. Фишинг-атакующий получает необходимую информацию для подписи, которая аналогична фишингу с отключенной подписью.
(3) Атакующий вызывает функцию разрешения контракта Permit2 для завершения авторизации.
https://etherscan.io/tx/0xd8c3f55dfbc8b368134e6236b296563f506827bd5dc4d6c0df39851fd219d658
(4) Атакующий вызывает функцию transferFrom контракта Permit2 для перевода активов жертвы и завершения атаки.
https://etherscan.io/tx/0xf6461e003a55f8ecbe919a47b3c0dc6d0f068e48a941658329e35dc703138486
Дополнительное замечание: Обычно у злоумышленников есть несколько адресов, на которые поступают активы. Обычно одним из получателей с наибольшим количеством является злоумышленник, который реализует рыболовство, а другие - черные адреса, предоставляющие услуги рыболовства (поставщики DaaS-услуг рыболовства). адрес, такие как PinkDrainer, InfernoDrainer, AngelDrainer и т. д.).
eth_sign - это открытый метод подписи, который может подписывать любой хэш. Злоумышленнику достаточно сконструировать любые вредоносные данные, которые необходимо подписать (например, передача токенов, вызов контракта, получение авторизации и т. д.) и с помощью eth_sign склонить пользователя подписать их. Атака может быть завершена.
MetaMask предупредит об угрозе при подписании eth_sign. Web3-кошельки, такие как imToken и OneKey, отключили эту функцию или предоставили предупреждения об угрозах. Рекомендуется, чтобы все производители кошельков отключили этот метод, чтобы предотвратить атаки на пользователей из-за недостаточной осведомленности о безопасности или необходимости технического накопления.
personal_sign и signTypedData - это обычно используемые методы подписи. Обычно пользователям нужно внимательно проверить, безопасны ли инициатор, доменное имя, содержимое подписи и т. д. Если они представляют опасность, необходимо быть особенно бдительными.
Кроме того, если personal_sign и signTypedData используются как «слепые подписи», как в приведенном выше примере, пользователь не может видеть открытый текст, что делает его легким для использования фишинговыми группировками, что также увеличит риск фишинга.
Создавая вредоносный веб-сайт или вешая лошадь на официальном веб-сайте проекта, злоумышленники заставляют пользователей подтверждать операции, такие как установка setApprovalForAll, Approve, Increase Approval и Increase Allowance, получать разрешение на операции с активами пользователя и совершать кражу.
(1)setApprovalForAll
Возьмем инцидент рыбалки на лошадях PREMINT в качестве примера, файл js (https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.jsна веб-сайт проекта был внедрен вредоносный код. Вредоносный js файл (https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559) будет создан динамически. Атака инициируется этим вредоносным скриптом.
Поскольку пользователь не обнаружил риск вовремя, он подтвердил операцию setApprovalForAll и ненамеренно утекла авторизация операции для актива, в результате чего актив был украден.
(2)Одобрить
Подобно setApprovalForAll, пользователь подтвердил операцию Approve, утекая авторизацию операции для актива, в результате чего актив был украден.
Одобрить неправомерное использование:
https://etherscan.io/tx/0x4b0655a5b75a9c078653939101fffc1d08ff7e5c89b0695ca6db5998214353fa
Атакующий передает активы через transferFrom:
https://etherscan.io/tx/0x0dedf25777ff5483bf71e70e031aacbaf50124f7ebb6804beb17aee2c15c33e8
Принцип атаки функций Увеличения подтверждения и Увеличения разрешения аналогичен этому. По умолчанию верхний предел для оперирования токенами адреса жертвы атакующего равен 0. Однако, после авторизации с помощью этих двух функций, атакующий увеличивает предел для токенов жертвы, лимит операций, и затем количество токенов может быть переведено.
(3)Увеличение утверждения
Увеличение одобрения ошибочной авторизации:
https://etherscan.io/tx/0x7ae694080e2ad007fd6fa25f9a22ca0bbbff4358b9bc84cc0a5ba7872118a223
Атакующий передает активы через transferFrom:
https://etherscan.io/tx/0x15bc5516ed7490041904f1a4c594c33740060e0f0271cb89fe9ed43c974a7a69
(4)Увеличить Разрешение
Увеличение разрешения на несанкционированное использование:
https://etherscan.io/tx/0xbb4fe89c03d8321c5bfed612fb76f0756ac7e99c1efaf7c4d99d99f850d4de53
Атакующий передает активы через transferFrom:
https://etherscan.io/tx/0xb91d7b1440745aa07409be36666bc291ecc661e424b21b855698d488949b920f
Фишинг с загрязнением адреса также является одним из недавно распространенных методов фишинга. Злоумышленник отслеживает транзакции в сети, а затем подделывает злонамеренные адреса на основе адреса оппонента в исторических транзакциях целевого пользователя. Обычно первые 4-6 цифр и последние 4-6 цифр связаны с правильным оппонентом. Адреса обеих сторон совпадают, после чего эти поддельные злонамеренные адреса используются для перевода небольших сумм или бесценных токенов на адрес целевого пользователя.
Если целевой пользователь копирует адрес оппонента из истории транзакций для перевода в последующих транзакциях из-за личных привычек, очень вероятно, что активы будут ошибочно переведены на злоумышленный адрес из-за невнимательности.
3 мая 2024 года было украдено 1155WBTC на сумму более 70 миллионов долларов США из-за метода фишинга с использованием загрязнения этого адреса.
Правильный адрес: 0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91
Вредоносный адрес: 0xd9A1C3788D81257612E2581A6ea0aDa244853a91
Обычная транзакция:
https://etherscan.io/tx/0xb18ab131d251f7429c56a2ae2b1b75ce104fe9e83315a0c71ccf2b20267683ac
Проблема загрязнения адресов:
https://etherscan.io/tx/0x87c6e5d56fea35315ba283de8b6422ad390b6b9d8d399d9b93a9051a3e11bf73
Неправильная транзакция:
https://etherscan.io/tx/0x3374abc5a9c766ba709651399b6e6162de97ca986abc23f423a9d893c8f5f570
В настоящее время различные кошельки и безопасные плагины постепенно внедряют визуальные предупреждения о рисках для фишинговых черных списков и общих методов фишинга, а также все более полно отображают информацию о подписи, повышая способность обычных пользователей идентифицировать фишинговые атаки. Однако атакующие и защитные технологии всегда соперничают друг с другом и постоянно развиваются. Появляются все более тонкие методы фишинга, поэтому нам нужно быть более бдительными. Использование CREATE2 для обхода обнаружения черных списков кошельков и безопасных плагинов является относительно распространенным методом в последнее время.
Create2 - это операция, введенная во время обновления Ethereum 'Constantinople', которая позволяет пользователям создавать смарт-контракты на Ethereum. Оригинальная операция Create генерирует новый адрес на основе адреса создателя и номера nonce. Create2 позволяет пользователям рассчитать адрес до развертывания контракта. Create2 - очень мощный инструмент для разработчиков Ethereum, обеспечивая продвинутое и гибкое взаимодействие с контрактами, предварительный расчет адреса контракта на основе параметров, оффчейн транзакции и гибкое развертывание и адаптацию конкретных распределенных приложений.
Хотя Create2 приносит выгоду, он также создает новые риски безопасности. Create2 может быть злоупотреблено для создания новых адресов без истории злонамеренных транзакций, обходя обнаружение черного списка кошелька и безопасные предупреждения. Когда жертва подписывает злонамеренную транзакцию, злоумышленник может развернуть контракт по заранее вычисленному адресу и перевести активы жертвы на этот адрес, и это процесс необратим.
Особенности этой атаки:
(1) Позволяет предсказывать создание адресов контрактов, что позволяет злоумышленникам обмануть пользователей, дав им разрешение до развертывания контракта.
(2) Поскольку контракт еще не был развернут на момент авторизации, адрес атаки является новым адресом, и инструмент обнаружения не может предоставить предупреждение на основе исторического черного списка, что обладает более высокой скрытностью.
Вот пример рыбной ловли с использованием CREATE2:
https://etherscan.io/tx/0x83f6bfde97f2fe60d2a4a1f55f9c4ea476c9d87fa0fcd0c1c3592ad6a539ed14
В этой транзакции жертва перевела sfrxETH по адресу на зловредный адрес (0x4D9f77), который является новым контрактным адресом без каких-либо записей о транзакциях.
Но когда вы открываете транзакцию создания этого контракта, вы можете обнаружить, что контракт завершил фишинговую атаку одновременно с созданием, переводя активы с адреса жертвы.
https://etherscan.io/tx/0x77c79f9c865c64f76dc7f9dff978a0b8081dce72cab7c256ac52a764376f8e52
Просматривая выполнение этой транзакции, можно увидеть, что 0x4d9f7773deb9cc44b34066f5e36a5ec98ac92d40 был создан после вызова CREATE2.
Кроме того, анализируя соответствующие адреса PinkDrainer, можно обнаружить, что этот адрес каждый день создает новые контрактные адреса для рыболовства через CREATE2.
https://etherscan.io/address/0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722#internaltx
Атаки фишинга становятся все более частыми, и из-за огромных незаконных прибылей начала развиваться черная промышленная цепочка на основе Drainer as a Service (DaaS). Более активные включают в себя Inferno/MS/Angel/Monkey/Venom/Pink/ Pussy/Medusa и т. д., фишинговые атакующие покупают эти услуги DaaS, быстро и с низким порогом, создают тысячи фишинговых веб-сайтов, мошеннических аккаунтов и т. д., как бедствие, нахлынувшее на эту отрасль, угрожая безопасности активов пользователей.
Возьмем, к примеру, Inferno Drainer, известную фишинговую группировку, которая внедряет вредоносные скрипты на различных веб-сайтах. Например, они распространяют seaport.js, coinbase.js и wallet-connect.js, чтобы прикинуться популярными функциями протокола Web3 (Seaport, WalletConnect и Coinbase), чтобы привлечь пользователей к интеграции или нажатию. После получения подтверждения пользователя они автоматически переведут активы пользователя на адрес злоумышленника. Более 14 000 веб-сайтов, содержащих вредоносные скрипты Seaport, более 5 500 веб-сайтов, содержащих вредоносные скрипты WalletConnect, более 550 веб-сайтов, содержащих вредоносные скрипты Coinbase, более 16 000 вредоносных доменов, связанных с Inferno Drainer, и более 100 брендов криптовалюты были обнаружены. бренды затронуты. Ниже приведен веб-сайт-фишинг, связанный с Inferno Drainer.
В верхней части веб-сайта содержатся два вредоносных скрипта, seaport.js и wallet-connect.js. Еще одной типичной особенностью фишинговых сайтов Inferno Drainer является то, что пользователи не могут открыть исходный код веб-сайта, щелкнув правой кнопкой мыши, что делает эти фишинговые веб-сайты более скрытыми.
В рамках фреймворка Phishing-as-a-Service обычно 20% украденных активов автоматически переводятся на адрес организатора Inferno Drainer, а оставшиеся 80% остаются у злоумышленника-фишера. Кроме того, Inferno Drainer регулярно предоставляет бесплатные услуги по созданию и размещению фишинговых веб-сайтов. Иногда фишинговые услуги также требуют платы в размере 30% от обманутых средств. Эти фишинговые веб-сайты предназначены для тех, кто способен привлечь жертв, но не обладает способностью создавать и проектировать фишинговые атаки, у которых либо есть технические возможности размещать веб-сайт, либо просто не хотят выполнять эту задачу сами.
Итак, как работает эта мошенническая схема DaaS? Вот пошаговое описание криптовалютной схемы мошенничества Inferno Drainer:
(1) Инферно Дрейнер продвигает свои услуги через канал Telegram под названием Инферно Мультичейн Дрейнер, а иногда злоумышленники также получают доступ к услуге через веб-сайт Инферно Дрейнер.
(2) Атакующий настраивает и создает свой собственный фишинг-сайт через функцию DaaS и распространяет его через X (Twitter), Discord и другие социальные медиа.
(3) Жертвы приглашают сканировать QR-коды или использовать другие методы, содержащиеся на этих фишинговых веб-сайтах, чтобы подключить свои кошельки.
(4) Дрейнер проверяет наиболее ценные и легко передаваемые активы жертвы и инициирует злонамеренные транзакции.
(5) Потерпевший подтвердил транзакцию.
(6) Активы передаются преступникам. Из украденных активов 20% были переданы разработчикам Inferno Drainer, а 80% - рыбачьим атакующим.
На картинке ниже показана страница услуги DaaS, на которой Inferno Drainer показывает клиентам их статистику: количество соединений (если жертва подключила кошелек к фишинговому сайту), успешные клики (если жертва подтвердила транзакцию) и стоимость украденных активов.
Каждый клиент услуги DaaS может настраивать свои собственные функции Drainer:
Во-первых, пользователи не должны нажимать на неизвестные ссылки, замаскированные под хорошие новости, такие как награды, воздушные капли и т. д.
(2) Случаи взлома официальных учетных записей в социальных сетях участились, и официальная информация также может быть фишинговой информацией, и официальная информация не означает, что она абсолютно безопасна;
(3) При использовании кошельков, DApps и других приложений обращайте внимание на скрининг и остерегайтесь поддельных сайтов и фальшивых приложений;
(4) Любая транзакция или сообщение подписи, требующие подтверждения, должны быть осторожными и стараться кросс-подтвердить цель, содержание и другую информацию. Отказывайтесь подписывать вслепую, будьте бдительными, сомневайтесь во всем и убедитесь, что каждый шаг операции ясен и безопасен.
(5) Кроме того, пользователям необходимо понимать распространенные методы фишинговых атак, упомянутые в этой статье, и научиться проактивно выявлять признаки фишинга. Овладеть распространенными признаками, функциями авторизации и их рисками, владеть интерактивным (URL взаимодействия), владельцем (адрес авторизатора), потребителем (адрес авторизованной стороны), значением (разрешенное количество), номером (случайное число), сроком (время истечения), переводом/transferFrom (перевод) и другими полями.