Содержание статьи
- Что такое криптовалютный адрес
- Где ищут адреса
- Парсинг
- Методы сбора
- Утилиты
- BlockSci
- GraphSense
- Chainalysis
- Maltego и криптоплагины
- WalletExplorer
- Боты и утилиты в Telegram
- Примеры расследований
- Кейс 1: утечка базы MyEtherWallet
- Кейс 2: Lazarus Group и миксеры
- Кейс 3: фейковые эйрдропы в Telegram
- Юридические аспекты и этические ограничения
- Ошибки идентификации и ложные срабатывания
- Применение в AML и комплаенсе
Что такое криптовалютный адрес
В блокчейне криптовалютный адрес — производная от публичного ключа. Он появляется после криптографических операций с парой закрытого и открытого ключей: открытый ключ хешируется, а полученную строку публикуют, чтобы другие участники могли отправлять средства на этот адрес.
info
Подробнее об основных принципах работы криптовалют читай в статье «Крипта с нуля. Выясняем, как устроен блокчейн».
В биткоине адреса могут начинаться с 1 (P2PKH), 3 (P2SH) или bc1 (Bech32). В Ethereum все адреса начинаются с 0x и состоят ровно из 42 символов. В некоторых криптовалютах, например Monero и Zcash в shielded-режиме, адреса скрыты или снаружи выглядят нечитаемыми, поэтому отслеживать их намного сложнее. Если заранее знать структуру адреса, автоматический поиск становится проще. Например, чтобы найти на форуме все Ethereum-адреса, достаточно задать регулярку вида 0x[. Но дальше все сложнее.
Где ищут адреса
Адреса можно доставать из блокчейна, внешних источников или объединенных баз. В блокчейне адреса прямо указаны в транзакциях: в Bitcoin лежат в выходах, а в Ethereum — в логах и вызовах контрактов. Если запустить полный узел и пройтись по блокам, можно собрать всю историю появления адресов и проследить их активность.
Отдельная важная тема при отслеживании транзакций — временные и случайные адреса. В ходе обычной транзакции в биткоинах кошелек часто автоматически создает новый случайный адрес для сдачи из той же сид‑фразы. Так происходит из‑за модели UTXO: если у тебя есть вход на 1 BTC, а ты отправляешь 0,3 BTC, оставшиеся 0,7 BTC должны куда‑то вернуться. Это усложняет анализ: один пользователь может за короткое время задействовать десятки связанных адресов.
В Ethereum тоже хватает проблем. Там нет понятия сдачи, зато при взаимодействии со смарт‑контрактами часто появляются новые адреса: например, через опкоды CREATE и CREATE2 или просто как новые адреса EOA. Плюс злоумышленники активно используют собственные контракты, чтобы скрывать следы. Например, они могут развернуть промежуточный контракт, который принимает средства и сразу переводит их дальше, на другой адрес.
Во внешних источниках адреса часто встречаются в текстовом виде. Вот несколько реальных кейсов:
- На форумах вроде BitcoinTalk пользователи добавляют адреса в подписи, чтобы принимать донаты.
- На GitHub адреса встречаются в комментариях к коммитам, тестах и файлах
README. Иногда это реальные адреса, которые оставили разработчики. - В Telegram-каналах с фишингом и псевдорозыгрышами часто указывают адрес, куда якобы нужно перевести крипту, чтобы «получить обратно в десять раз больше».
- На Pastebin и в слитых логах часто публикуют кошельки, которые используют в скам‑схемах.
- На даркнет‑площадках адреса размещают на страницах оплаты. Иногда они обновляются автоматически, но шаблоны остаются прежними, и по ним можно идентифицировать площадку.
- В базах данных адреса появляются после парсинга и агрегации. Примеры: WalletExplorer, Chainalysis, Crystal Blockchain. Эти сервисы строят профили адресов, отмечают связи с биржами и другими сервисами, а затем классифицируют их: биржа, миксер, скам, хак, даркмаркет и так далее.
Парсинг
Самый простой вариант — поиск по шаблонам. Сначала система определяет, к какой сети относится адрес: у каждой сети свой формат. Для такой проверки подходят регулярные выражения.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
