При взаимодействии с DApp пользователи должны обращать внимание на контроль количества авторизованных токенов, проверку содержимого подписи и нештатных ситуаций авторизации.
Автор: Лиза
фон
11 мая пользователь Твиттера «pineapple.eth» написал, что его кошелек был украден из-за ошибочного перехода на фишинговый сайт (сеть syncswap[.]), и он потерял более 100 долларов.
(
Хотя сумма убытка невелика, в ней таится огромный риск безопасности.Жертвы часто теряют огромные активы из-за «незаметной» подписи, рискуя «не увидеть». Вот почему мы написали эту статью.
Согласно описанию потерпевшего, украденные транзакции выглядят следующим образом:
(
(
Из этих двух транзакций вызывающая сторона контракта (0x00002…d0000) переводит 34,87 USDC на адрес жертвы (0xA4089…82C3) на (0x8256…D6B8) и переводит 81,36 USDC на (0x5A69… 1C17). Если вы просто посмотрите на функцию transferFrom, нетрудно обнаружить, что функция этой функции заключается в том, чтобы позволить третьей стороне инициировать транзакцию для перевода соответствующих цифровых активов со счета владельца на счет получателя.
Затем проанализируйте адрес вызывающего абонента контракта (0x00002...d0000) и обнаружите, что существует дополнительная разрешающая операция, которой нет в записях транзакций жертвы. Какова роль разрешения?
(
Что такое разрешение?
Согласно официальному представлению, разрешение было введено в протокол ERC20 в EIP-2612, и пользователи могут взаимодействовать с контрактом приложения, добавляя авторизационную подпись (разрешение) без предварительного разрешения. В частности, мы все знаем, что в транзакции валюты ERC20 A может вызвать функцию утверждения для авторизации B, то есть для авторизации токена, указанного A, для другой учетной записи для работы, и должен быть владельцем этой учетной записи, чтобы вызвать утверждение. функция. Функция функции разрешения состоит в том, что А подписывает объект авторизации заранее по цепочке и информирует В о полученной подписи, а В может использовать эту подпись для вызова разрешения для реализации операции авторизации А (используйте transferFrom для передачи разрешения ) , А может передать указанный токен без отправки транзакции, и независимо от того, является ли он владельцем учетной записи или нет, он может выполнить разрешение на авторизацию операции. Кроме того, Uniswap выпустила новый стандарт авторизации токенов Permit2.
Ниже приведено сравнение между утверждениями и разрешениями:
функция одобряет (адрес usr, uint wad) внешний возврат (bool)
{
пособие[msg.sender] [usr] = пыж;
…
}
разрешение на работу(
владелец адреса, адресный транжира,
одноразовый номер uint256, истечение срока действия uint256, разрешено логическое значение,
uint8 v, байт32 r, байт32 с
) внешний {
…
разрешение [holder] [spender] = пыж;
…
}
Поняв основы, а затем вернувшись к самому фишинговому событию, вы можете отправить эту функцию разрешения с 7 параметрами:
владелец: авторизованный адрес
покупатель: Кто уполномочен
значение: количество предоставленных авторизованных токенов
крайний срок: отметка времени, действительная только до указанного времени
v, r, s: данные подписи
Среди них крайний срок — 1714509304969, а значение — 116239404, что означает, что авторизация действительна до 0:42 22 августа 56300 (GMT), почти бессрочно. А количество авторизованных токенов составляет 116,239404 USDC, что равно сумме, украденной жертвой. Значения v, r и s — это данные подписи после того, как пользователь (владелец) подпишется на фишинговом сайте, и функция разрешения проверит действительность данных подписи. После прохождения проверки подписи токен пользователя будет авторизован хакеру (транжиру).
Весь процесс предельно понятен: жертва подписала подпись и отправила ее на фишинговый сайт, но не загрузила в цепочку.Получив информацию о подписи, хакер отправил разрешение на цепочку, то есть вызвал одобрение для авторизации. . Подписание осуществляется вне сети без затрат газа. Но нужно понимать, что отсутствие газа здесь не означает отсутствие потребления газа, а то, что подписанту (жертве) не нужно платить за газ за авторизацию и передачу.
Несомненно, как и одобрение санкционированного фишинга, разрешение более опасно, чем одобрение санкционированного фишинга, в конце концов, пока подпись украдена, авторизация получена. Например, функция отложенного ордера в dex требует, чтобы пользователь подписал определенное сообщение, и пользователь может доверить актив dex для обработки без оплаты газа.Однако, если dex является фишинговым веб-сайтом и подделывает вредоносные сообщения для пользователя подписать, активы пользователя могут быть потеряны. Насколько нам известно, некоторые кошельки могут декодировать и отображать информацию о подписи при фишинге с авторизацией, но в кошельке почти нет предупреждений о фишинге с подписью при разрешении, и пользователи подвергаются более высокому риску атаки. В то же время разрешающая подпись является поведением вне сети, и пользователям трудно заметить, произошла ли утечка их подписей.
Туманный трек
В настоящее время хакерский адрес был помечен MistTrack как вредоносный фишинговый адрес.
Адрес 1: 0x00002644e79602F056B03235106A9963826d0000
Адрес 2: 0x82563Ba592986Cb277d67B2E7c56ab3BB3FDD6B8
Адрес 3: 0x5A697967F0791d12db8A0f92344Abc6DD07a1C17
Оба USDC жертвы были обменены на ETH.
Используя MistTrack для анализа ETH, WBTC, USDT, USDC, SHIB, DAI, WETH, DAI, stETH, APE, текущая прибыль адреса 1 составляет около 120 000 долларов США, прибыль адреса 2 составляет около 200 000 долларов США, а прибыль по адресу 3 Около 2000 долларов. Кроме того, согласно анализу Scam Sniffer, антифрод-платформы Web3, по состоянию на 9 мая в общей сложности более 300 жертв были украдены активы на сумму около 690 000 долларов США с помощью вредоносных сигнатур на основе Permit2. на Uniswap до 9 мая На данный момент почти 670 000 адресов в основной сети Ethereum авторизовали Permit2. Конечно, эти данные — лишь верхушка айсберга всей картины этой банды.
Подведем итог
Эта статья в основном начинается с фактического дела об краже и вводит риск подписи разрешения. Команда безопасности SlowMist напоминает вам, чтобы вы не открывали веб-сайты неизвестного происхождения для работы по своему усмотрению.При взаимодействии с DApps обратите внимание на контроль количества токенов, разрешенных для контракта, и тщательно проверьте содержание подписи.Используйте инструменты авторизации, такие как RevokeCash, время от времени время (проверьте, есть ли ненормальные авторизации, и Вы можете использовать инструмент управления авторизацией для Uniswap Permit2 (чтобы проверить, есть ли какие-либо ненормальные авторизации, пожалуйста, вовремя отмените авторизацию.
Ссылка:
Посмотреть Оригинал
Содержание носит исключительно справочный характер и не является предложением или офертой. Консультации по инвестициям, налогообложению или юридическим вопросам не предоставляются. Более подробную информацию о рисках см. в разделе «Дисклеймер».
Разрешить анализ подписи: могут ли подписи вне сети также поймать ваш токен?
Автор: Лиза
фон
11 мая пользователь Твиттера «pineapple.eth» написал, что его кошелек был украден из-за ошибочного перехода на фишинговый сайт (сеть syncswap[.]), и он потерял более 100 долларов.
(
Хотя сумма убытка невелика, в ней таится огромный риск безопасности.Жертвы часто теряют огромные активы из-за «незаметной» подписи, рискуя «не увидеть». Вот почему мы написали эту статью.
Согласно описанию потерпевшего, украденные транзакции выглядят следующим образом:
(
Из этих двух транзакций вызывающая сторона контракта (0x00002…d0000) переводит 34,87 USDC на адрес жертвы (0xA4089…82C3) на (0x8256…D6B8) и переводит 81,36 USDC на (0x5A69… 1C17). Если вы просто посмотрите на функцию transferFrom, нетрудно обнаружить, что функция этой функции заключается в том, чтобы позволить третьей стороне инициировать транзакцию для перевода соответствующих цифровых активов со счета владельца на счет получателя.
Затем проанализируйте адрес вызывающего абонента контракта (0x00002...d0000) и обнаружите, что существует дополнительная разрешающая операция, которой нет в записях транзакций жертвы. Какова роль разрешения?
(
Что такое разрешение?
Согласно официальному представлению, разрешение было введено в протокол ERC20 в EIP-2612, и пользователи могут взаимодействовать с контрактом приложения, добавляя авторизационную подпись (разрешение) без предварительного разрешения. В частности, мы все знаем, что в транзакции валюты ERC20 A может вызвать функцию утверждения для авторизации B, то есть для авторизации токена, указанного A, для другой учетной записи для работы, и должен быть владельцем этой учетной записи, чтобы вызвать утверждение. функция. Функция функции разрешения состоит в том, что А подписывает объект авторизации заранее по цепочке и информирует В о полученной подписи, а В может использовать эту подпись для вызова разрешения для реализации операции авторизации А (используйте transferFrom для передачи разрешения ) , А может передать указанный токен без отправки транзакции, и независимо от того, является ли он владельцем учетной записи или нет, он может выполнить разрешение на авторизацию операции. Кроме того, Uniswap выпустила новый стандарт авторизации токенов Permit2.
Ниже приведено сравнение между утверждениями и разрешениями:
функция одобряет (адрес usr, uint wad) внешний возврат (bool)
{
пособие[msg.sender] [usr] = пыж;
…
}
разрешение на работу(
владелец адреса, адресный транжира,
одноразовый номер uint256, истечение срока действия uint256, разрешено логическое значение,
uint8 v, байт32 r, байт32 с
) внешний {
…
разрешение [holder] [spender] = пыж;
…
}
Поняв основы, а затем вернувшись к самому фишинговому событию, вы можете отправить эту функцию разрешения с 7 параметрами:
Среди них крайний срок — 1714509304969, а значение — 116239404, что означает, что авторизация действительна до 0:42 22 августа 56300 (GMT), почти бессрочно. А количество авторизованных токенов составляет 116,239404 USDC, что равно сумме, украденной жертвой. Значения v, r и s — это данные подписи после того, как пользователь (владелец) подпишется на фишинговом сайте, и функция разрешения проверит действительность данных подписи. После прохождения проверки подписи токен пользователя будет авторизован хакеру (транжиру).
Весь процесс предельно понятен: жертва подписала подпись и отправила ее на фишинговый сайт, но не загрузила в цепочку.Получив информацию о подписи, хакер отправил разрешение на цепочку, то есть вызвал одобрение для авторизации. . Подписание осуществляется вне сети без затрат газа. Но нужно понимать, что отсутствие газа здесь не означает отсутствие потребления газа, а то, что подписанту (жертве) не нужно платить за газ за авторизацию и передачу.
Несомненно, как и одобрение санкционированного фишинга, разрешение более опасно, чем одобрение санкционированного фишинга, в конце концов, пока подпись украдена, авторизация получена. Например, функция отложенного ордера в dex требует, чтобы пользователь подписал определенное сообщение, и пользователь может доверить актив dex для обработки без оплаты газа.Однако, если dex является фишинговым веб-сайтом и подделывает вредоносные сообщения для пользователя подписать, активы пользователя могут быть потеряны. Насколько нам известно, некоторые кошельки могут декодировать и отображать информацию о подписи при фишинге с авторизацией, но в кошельке почти нет предупреждений о фишинге с подписью при разрешении, и пользователи подвергаются более высокому риску атаки. В то же время разрешающая подпись является поведением вне сети, и пользователям трудно заметить, произошла ли утечка их подписей.
Туманный трек
В настоящее время хакерский адрес был помечен MistTrack как вредоносный фишинговый адрес.
Адрес 1: 0x00002644e79602F056B03235106A9963826d0000
Адрес 2: 0x82563Ba592986Cb277d67B2E7c56ab3BB3FDD6B8
Адрес 3: 0x5A697967F0791d12db8A0f92344Abc6DD07a1C17
Оба USDC жертвы были обменены на ETH.
Используя MistTrack для анализа ETH, WBTC, USDT, USDC, SHIB, DAI, WETH, DAI, stETH, APE, текущая прибыль адреса 1 составляет около 120 000 долларов США, прибыль адреса 2 составляет около 200 000 долларов США, а прибыль по адресу 3 Около 2000 долларов. Кроме того, согласно анализу Scam Sniffer, антифрод-платформы Web3, по состоянию на 9 мая в общей сложности более 300 жертв были украдены активы на сумму около 690 000 долларов США с помощью вредоносных сигнатур на основе Permit2. на Uniswap до 9 мая На данный момент почти 670 000 адресов в основной сети Ethereum авторизовали Permit2. Конечно, эти данные — лишь верхушка айсберга всей картины этой банды.
Подведем итог
Эта статья в основном начинается с фактического дела об краже и вводит риск подписи разрешения. Команда безопасности SlowMist напоминает вам, чтобы вы не открывали веб-сайты неизвестного происхождения для работы по своему усмотрению.При взаимодействии с DApps обратите внимание на контроль количества токенов, разрешенных для контракта, и тщательно проверьте содержание подписи.Используйте инструменты авторизации, такие как RevokeCash, время от времени время (проверьте, есть ли ненормальные авторизации, и Вы можете использовать инструмент управления авторизацией для Uniswap Permit2 (чтобы проверить, есть ли какие-либо ненормальные авторизации, пожалуйста, вовремя отмените авторизацию.