Перейти к содержанию

Пылевая атака

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

Обновлено

Только для образовательных целей; не является инвестиционной рекомендацией. Незатребованные активы могут создавать риски для конфиденциальности, фишинга и транзакций, а действия в блокчейне могут быть необратимыми.

Краткий ответ

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

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

В политике Bitcoin Core слово «пыль» имеет более узкое значение. GetDustThreshold оценивает, будет ли стоимость расходования выхода при dustRelayFee выше его стоимости. Результат зависит от скрипта выхода и ожидаемого расходующего входа, поэтому единой суммы монет, определяющей пыль для всех блокчейнов или типов выходов, не существует.

Политика ретрансляции и консенсус относятся к разным уровням. Стандартный узел может отказаться ретранслировать пылевой выход согласно своей локальной политике, хотя выход, уже включенный в действительный блок, остается частью набора UTXO и может быть потрачен, если последующая транзакция предусматривает приемлемую комиссию.

Как это работает

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

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

Блокчейны с моделью счетов не объединяют UTXO таким образом. Тем не менее любой может отправить нативную валюту, перевести токен, выпустить NFT или заставить контракт создать вводящие в заблуждение события. Кошелек или индексатор может показать результат, но название, символ, значок токена или отображаемый баланс не подтверждает подлинность контракта и не устанавливает экономическую ценность. Для защиты важно определить, разрешал ли пользователь какой-либо последующий вызов, подпись или allowance.

Используйте следующий порядок действий:

  1. Не переходите по URL, не отвечайте, не возвращайте, не обменивайте, не сжигайте и не одобряйте незнакомый объект только ради того, чтобы убрать его с экрана.
  2. До любых изменений запишите блокчейн, хеш транзакции, индекс выхода или контракт актива, отправителя, сумму и то, как объект отображает кошелек.
  3. Отличите UTXO от нативного перевода, токена, NFT, одобрения или записи, существующей только как событие: у них разное состояние и разные способы устранения последствий.
  4. Для UTXO проверьте выбор монет и используйте функцию coin control или блокировки надежного кошелька, чтобы выход не выбирался автоматически. В Bitcoin Core команда lockunspent позволяет исключить указанные выходы; сохранение блокировки зависит от использованного параметра.
  5. В кошельке с моделью счетов по возможности скройте спам и проверьте блокчейн и полный адрес контракта, прежде чем назначать цену или предпринимать какие-либо действия.
  6. Если сайт, подпись или контракт уже использовались, проверьте точные подписанные данные и текущие allowances, отзовите опасные разрешения через надежный интерфейс и перемещайте оставшиеся активы только тогда, когда это оправдано компрометацией ключа или сохраняющимися полномочиями.
  7. Получайте каждый адрес назначения платежа из аутентифицированного источника и сравнивайте полный адрес на надежном дисплее; история транзакций не является адресной книгой.

Пример

  • Пользователь получает публичные пожертвования на адрес A, а сбережения хранит на адресе B. Наблюдатель уже знает, что A принадлежит пользователю, но не знает, кто контролирует B.
  • Злоумышленник отправляет 600 sats на A и 600 sats на B. Позднее кошелек выбирает 20,000 sats с A, 50,000 sats с B и оба малых выхода в одной транзакции, которая платит 60,000 sats плюс комиссию.
  • Общий набор входов служит для наблюдателя свидетельством того, что A и B могут находиться под общим контролем, раскрывая историю сбережений, связанную с B. Однако это не доказывает криптографически, что оба адреса принадлежат одному человеку.
  • Если кошелек поддерживает coin control, пользователь может вместо этого пометить и заблокировать два выхода по 600 sats. Заморозка не стирает транзакции; она предотвращает автоматический выбор, пока блокировка остается в силе.

Риски

  • Автоматический выбор монет связывает публичный адрес с приватным адресом сбережений.
  • Повторное использование адресов упрощает последующую кластеризацию и расширяет видимую историю.
  • Возврат пыли подтверждает, что получатель способен потратить целевой выход.
  • Пользователь принимает вероятностный кластер за достоверную идентификацию личности.
  • В кошельке нет coin control либо временная блокировка исчезает после перезапуска.
  • Совместная или кастодиальная транзакция создает ложноположительный кластер.
  • Название незнакомого токена или изображение NFT содержит фишинговый адрес.
  • Пытаясь получить, продать или скрыть спам, пользователь предоставляет allowance или подписывает непрозрачные данные.
  • Поддельный токен имеет то же название или символ, что и известный актив.
  • Индексатор назначает цену неизвестному контракту и искажает портфельную или бухгалтерскую отчетность.
  • Микротранзакция помещает похожий адрес в историю, откуда его позднее копируют.
  • При реагировании на инцидент средства перемещаются поспешно и подписывается еще одно вредоносное действие.

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

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

Распространенные заблуждения

  • Получение пыли автоматически приводит к краже кошелька. Входящий перевод не раскрывает закрытый ключ; значимый риск создает последующая трата или спровоцированное взаимодействие.
  • Каждый малый выход находится ниже порога пыли Bitcoin. Порог рассчитывается политикой ретрансляции и зависит от скрипта и предположений о комиссии; термин «пылевая атака» также используется шире для незапрошенных переводов малой стоимости.
  • Переместить или сжечь спам-токен всегда безопаснее, чем проигнорировать его. Любое действие может вызвать ненадежный контракт, создать allowance или раскрыть дополнительные связи. Скрытие объекта часто требует меньше взаимодействия.
  • Совместно используемые входы всегда принадлежат одному человеку. Общее владение входами — полезная эвристика, но CoinJoin и кастодиальное формирование транзакций являются очевидными контрпримерами.

Связанные темы

Источники

Навигация

Поиск по вики...