Атака АРА. Детальный разбор и методы защиты

В последние недели участились «атаки отравления» АРА (Address Poisoning Attack) с переводами $0 USD. По данным на 2 декабря в сети «отравлены» свыше 340 тыс. адресов. Всего мы имеем 99 адресов жертв и свыше $1,64 млн украденных средств.
В этой статье X-explore дает всесторонний анализ таких атак, отслеживает злоумышленников ончейн, а также показывает подробную схему реализации АРА.
Хотелось бы, чтобы приложения-кошельки активизировали такие оповещения о рисках. А обычные пользователи были в курсе подобных угроз при переводе крипты.
Перевод статьи от x-explore.eth
История
Недавно наш ончейн-мониторинг рисков показал, что в сетях ETH и BSC часто бывают переводы по $0 USD. Мы взяли данные транзакций BSC-chain в качестве примера, чтобы показать, как это происходит.
Жертва A делает обычную транзакцию по переводу 452 BSC-USD Пользователю B. Но Пользователь B получет 0 BSC-USD от Атакующего C. В это же время, в той же транзакции хеша сам Пользователь A по ошибке переводит 0 BSC- USD на адрес Aтакующего C (реализация операции перевода 0 BSC-USD «туда-обратно»):

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

Цели атаки
На самом деле пользователям, которые столкнулись с такой ситуацией, не нужно нервничать. Их активы в безопасности, приватный ключ не взломан. Нужно только внимательно подтвердить адрес и не передавать неверный адрес. Методы хакера очень просты:
- Он отслеживает информацию о переводе нескольких стейблкоинов ончейн. Например, он перехватывает информацию о переводе, который адрес Жертвы А часто отправляет Пользователю В.
- Далее создает хакерский Адрес C с теми же первыми и последними цифрами, что и адрес пользователя B. Затем жертва A и хакерский адрес C передают друг другу 0 монет. (Здесь злоумышленник может использовать инструмент генерации чисел Profanity, чтобы за несколько секунд сгенерировать адрес с теми же первыми и последними 7 цифрами, что и адрес пользователя).
- В следующий раз, когда Жертва А невнимательно копирует адрес исторической транзакции, очень легко скопировать именно Адрес С, подготовленный хакером для уловки. Таким образом средства переводятся на неправильный счет.

Жертвы переводят деньги на нормальные адреса:

Хакерские адреса с переводами $0:

Жертвы переводят деньги на хакерские адреса
Вот наши выводы по поводу атаки «address poisoning attack»:
- Во-первых, хакер делает так, чтобы его адрес отображался в истории транзакций пользователя. Цель — чтобы пользователя не досмотрел и принял его за доверенный контакт. То есть адрес, которому часто отправляет деньги.
- Во-вторых, хакер создает адрес, совпадающий с доверенным адресом по первым и последним цифрам. По ошибке его может использовать жертва для следующей транзакции.
Пользователи рискуют потерять капитал, так что будьте начеку!
Тенденции
На 2 декабря зафиксировано большое количество таких атак: 290 000 в сети BSC и 40 000 в сети Ethereum. А количество независимых адресов, затронутых атаками, превысило 150 000 и 36 000 соответственно.
С точки зрения трендов, сеть BSC начала подверга