Приветствуем, друзья!
Сегодня мы подготовили для вас перевод статьи за авторством С.М. Авдошина и А.В. Лазаренко из Департамента программной инженерии Национального исследовательского университета “Высшая школа экономики” - "Методы деанонимизации пользователей биткоин".
Тем, кому интересна тема анализа блокчейна данная статья будет по душе, особенно если углубиться в источники, указанные в конце перевода. После прочтения будет намного легче воспринимать наши статьи с анализом блокчейна площадок. Несмотря на то, что статья написана несколько лет назад, в ней сделаны выводы, которые вполне соответствуют картине, которую мы наблюдаем и имя которой "политика KYC и AML".
Приятного чтения!
Аннотация.
Биткоин является самой популярной криптовалютой на планете. В основе биткоина лежат криптография и пиринговая сеть. Будучи псевдо-анонимной криптовалютой, биткоин очень часто используется преступным сообществом для отмывания денег или оплаты нелегальных товаров и услуг. В данной статье мы рассмотрим различные методы деанонимизации пользователей биткоина. Это - чрезвычайно важная задача при расследовании киберпреступлений и противодействию отмыванию денег.
1. Введение
В настоящее время криптовалюты и технология блокчейн набирают все большую популярность. Помимо шумихи вокруг технологии, у нее есть много полезных и практичных свойств:
- децентрализация – одноранговые сети без центрального управления используются для поддержания систем
- прозрачность – каждая транзакция и публичный адрес доступны для всех в сети
- необратимость – любая транзакция необратима, поэтому переписать историю транзакций очень сложно
Криптовалюты и технология блокчейн являются идеальным инструментом для уменьшения потребности в посреднике для обработки транзакций. Блокчейн системы усиливают необходимость в центральной власти. Прозрачность транзакций помогает предотвратить кражи и мошенничество, поэтому она становится критически важной для правительства и систем голосования.
Биткоин в настоящее время является самой распространенной криптовалютой на планете. Биткоин - это децентрализованная электронная платежная система, которая была введена человеком или группой людей, использующих псевдоним Сатоши Накамото [1]. Биткоин основан на одноранговой сети и вероятностном протоколе распределенного консенсуса. Электронная монета определяется как цепочка цифровых подписей. Если Алиса хочет отправить биткоины Бобу, то она должна подписать цифровой подписью хэш предыдущей транзакции и открытый ключ следующего владельца и добавить эту информацию в конец монеты. Адреса источника и назначения в биткоине определяются как хэши открытых ключей. Хэши предоставляют пользователям определенную степень анонимности. Все транзакции в сети биткоин являются публичными, поэтому биткоин - это псевдо-анонимная система.
Транзакции в биткоин сети обрабатываются группой так называемых майнеров (биткоин-узлов, используемых для проверки транзакций и создания новых блоков) для проверки целостности, подлинности и корректности . Транзакции группируются в блок и затем обрабатываются майнерами. Майнер оповещает о новом блоке остальную часть сети, добавляя его в конец блокчейна. Если блок успешно проверен другими майнерами, блок добавляется в конец блокчейна, и майнер, предложивший блок, получает вознаграждение (фиксированная цена за майнинг нового блока и соответствующие транзакционные сборы).
В системе биткойн есть пять [2] основных компонентов:
- Пользователи, которые создают новые кошельки, переводят платежи и сохраняют биткоины на биржах; обычно они используют один из общедоступных биткоин-клиентов
- Майнеры, которые добывают биткоин-блоки и обрабатывают транзакции; майнеры вкладывают деньги в оборудование, которое добывает биткоины, и устанавливают специальное программное обеспечение для этой цели
- Тестировщики, разработчики и предприниматели совершенствующие систему и предлагающие новые функции; они формируют особое техническое сообщество вокруг экосистемы биткоина
- Биткоин биржи - это места, где фиатные деньги можно обменять на биткоины; типичными примерами являются Poloniex [3], Bitstamp [4], Localbitcoins[5]
- Кошельки хранят монеты пользователей и предоставляют функции для осуществления платежей через подключение к Интернету.
Любой пользователь может создать новый биткоин кошелек одним щелчком мыши, не раскрывая никакой личной информации, такой как электронная почта, номер телефона или имя. Вот почему биткоин является идеальным платежным средством для незаконной деятельности. Будучи псевдо-анонимным, биткоин помогает простым способом сохранить анонимность преступника. Было много случаев, когда биткоин использовался в качестве способа оплаты, инструмента отмывания денег или конкретной цели для хакеров:
- "Silk Road" был самым известным маркетплейсом в даркнете, уничтоженным ФБР; "Silk Road" показал обществу, что биткоин может быть использован для преступных транзакции так же хорошо как и для законных [6];
- WannaCry - это программа-вымогатель cryptoworm, которая нацелена на компьютеры под управлением операционной системы Microsoft, требуя выплаты выкупа в биткоинах [7];
- криптовалютная биржа BTC-e, управляемая гражданами России; биржа была закрыта США за отмывание денег [8];
- многочисленные случаи взлома ICO; например, хакеры украли 7 миллионов долларов с ICO CoinDash [9].
Чтобы бороться с преступлениями, связанными с биткоином, различные правительства усиливают правоохранительные органы и проводят специальные тренинги по криптовалюте. Этот документ представляет собой обзор существующих методов. Мы предлагаем новую классификацию методов деанонимизации.
2. Модель угрозы
Основная цель злоумышленника - привязать реальные имена или IP-адреса к транзакциям и биткоин адресам. Вместо реального имени злоумышленник может привязать к транзакции адрес электронной почты, номер телефона, имя пользователя или любой другой цифровой идентификатор. Злоумышленник может получить доступ ко всей общедоступной информации в интернете: частным и общедоступным форумам, веб-сайтам и социальным сетям. Таким образом, злоумышленник может раскрыть настоящее имя конкретного человека, проанализировав всю доступную информацию.
Другой подход заключается в “прослушивании” неточной информации о транзакциях от пользователей [10]. Например, злоумышленник может подслушать разговор: “Алиса, это Боб. Я вышлю вам биткоины на 45 долларов завтра утром”.
Помимо общедоступной информации, злоумышленник может внедрить вредоносные биткоин узлы в сеть, чтобы "прослушивать" IP-адреса и пытаться связать определенные транзакции с IP-адресами клиентов. Если злоумышленник будет использовать оба вектора атаки вместе, он сможет повысить точность деанонимизации. Почти каждый метод деанонимизации состоит из двух фаз: фазы сбора данных и фазы анализа данных. Данный сбор может осуществляться онлайн: с использованием вредоносных биткоин узлов для прослушивания трафика и механизма распространения адресов. Сбор данных может осуществляться в автономном режиме: для анализа данных, полученных из блокчейна, злоумышленнику не нужно использовать какие-либо дополнительные компоненты, кроме биткоин-клиента.
3. Деанонимизация
Процесс деанонимизации - это процесс привязки публичного биткоин адреса к цифровому идентификатору пользователя или его IP-адресу. Сам процесс разделен на два уровня: сетевой уровень P2P и уровень транзакций. Очень важно определить владельца публичного адреса биткоина. Мы определим владельца биткоин-адреса как владельца соответствующего закрытого ключа. Таким образом, если обменник или сайт используются для перевода биткоинов, а пользователь не имеет доступа к закрытому ключу, обменник или веб-сайт являются владельцами биткоин-адреса.
Владение биткоин кошельком - сложная задача. Например, если биржа владеет закрытым ключом конкретного человека, то она не может напрямую контролировать свои биткоины. Вместо этого пользователь использует внешнюю службу, которая управляет соответствующим закрытым ключом. Методы деанонимизации (см. рис. 1) можно было бы разделить на две категории: пассивные и активные.
Пассивные методы не взаимодействуют напрямую с одноранговой сетью биткоин. Эти методы используют только данные, которые получены из блокчейн сети или любого другого общедоступного источника информации. Пассивные методы часто полагаются на комплексные методы анализа графов (набор методов, направленных на изучение связей между сущностями. При помощи этих методов исследуется структура графа и выявляются неочевидные зависимости прим. редакции) и различные эвристические методы, связанные с протоколом биткоин.
Активные методы - это использование вредоносных биткоин узлов и методов социальной инженерии. Вредоносные узлы - это узлы с измененным программным обеспечением, находящиеся под контролем злоумышленника. Такие узлы используются для перехвата трафика или прямой связи с другими одноранговыми узлами в сети. Атаки с использованием социальной инженерии подходят для деанонимизации частично неизвестных пользователей в цепочке транзакций.

3.1 Анализ информации из открытых источников о биткоин-кошельках
Без внешней информации, собранной из различных источников, невозможно найти владельца биткоин кошелька. Стадию сбора информации можно разделить на две различные категории, а именно: пассивный сбор и активный.
При активном сборе злоумышленник пытается найти публичный адрес цели путем прямой связи с ней. Прямая коммуникация - это попытка установить контакт с целью и узнать адрес во время разговора или запроса на оплату [11]. Этот метод является наиболее надежным, потому что продавец не сможет солгать о принадлежности адреса после совершения сделки.
Другой активный подход использует вредоносные биткоин узлы для перехвата трафика. Этот сценарий помогает злоумышленнику собрать IP-адреса.
При пассивном сборе злоумышленник собирает данные из различных открытых источников. Существуют различные категории источников данных, где злоумышленник может найти цифровые имена пользователей публичных адресов биткоинов: веб-сайты, форумы, социальные сети, майнинговые пулы, кошельки, биржи, сайты с азартными играми, различные миксеры. Существуют различные информационные агрегаторы, связанные с биткоин кошельками, доступными онлайн [12, 13].
Основная цель этапа сбора информации - собрать как можно больше меток для биткоин кошельков, потому что почти каждый метод деанонимизации будет тем эффективнее, чем больше информации о кошельках, участвовавших в транзакциях будет у злоумышленника.
3.2 Пассивные методы
3.2.1 Прямое соответствие
Это самый простой метод деанонимизации. Злоумышленник пытается найти владельца биткоин адреса, выполнив поиск по нему в общедоступных источниках. В случае успеха злоумышленник идентифицирует пользователя.
3.2.2 Эвристический метод анализа транзакций с несколькими входами
Авторы статьи [14] предложили эвристический метод анализа транзакций с несколькими входами. Под транзакцией с несколькими входами понимают ситуацию, когда пользователь желает произвести платеж, а сумма платежа превышает значение доступных на каждом из кошельков биткоинов. Существующие биткоин клиенты собирают биткоины с нескольких кошельков пользователя и осуществляют платеж с помощью транзакций с несколькими входами. Простой вывод заключается в том, что если эти биткоины принадлежат разным адресам, то входные адреса принадлежат одному и тому же пользователю.
3.2.3 Эвристический анализ кошельков для "сдачи"
Адреса для "сдачи": сеть биткоин генерирует новый адрес, так называемый адрес для "сдачи" [1], по которому каждый отправитель может получить обратно “сдачу”. Используя эту эвристику, мы можем легко найти первоначальный кошелек пользователя. Адреса для "сдачи" - это механизм возврата денег пользователю, отправляющему платеж в сеть, поскольку биткоины могут быть разделены только путем их расходования.
Все методы, основанные на эвристике, в значительной степени полагаются на технику прямого сопоставления. Без должным образом собранных данных все эвристические методы бесполезны для поиска настоящего имени человека.
3.2.4 Кластеризация
Авторы статьи [11] предложили метод кластеризации, основанный на двух предыдущих эвристиках. Используя первый метод, исследователи смогли разделить сеть на 5 579 176 кластеров пользователей (они начали с 12 056 684 открытых ключей). Авторы использовали графы транзакций и графы адресов.
Авторы статьи [11] усовершенствовали второй эвристический метод, предложенный в [14]. Если злоумышленник может идентифицировать адреса для "сдачи", он, следовательно, потенциально может кластеризировать не только входные адреса для транзакции (в соответствии с эвристикой 1), но также адрес для "сдачи" и самого пользователя. Кроме того, при пользовательском использовании протокола биткоин можно указать адрес для "сдачи" для данной транзакции. До сих пор одним из распространенных способов использования этого параметра, который наблюдали авторы [11], было предоставление адреса для "сдачи", который фактически совпадает с адресом ввода.
В целом, авторы предложили новый эвристический метод - "Кластеризация", основанный на адресах для сдачи, позволяющий нам группировать адреса, принадлежащие одному и тому же пользователю. Используя предложенную методику, исследователи смогли идентифицировать основных пользователей сети (таких как биржи и сайты с азартными играми) и взаимодействие между ними, используя лишь небольшое количество идентифицированных транзакций.
3.2.5 "Отпечатки пальцев"
В работе [15] авторы показывают, что сторонний веб-трекер может деанонимизировать пользователей криптовалют. Например, когда кто-то расплачивается на сайте покупок, информации достаточно, чтобы в будущем деанонимизировать человека. Поскольку онлайн отслеживание является очень эффективным инструментом в современном интернете, утечка платежных данных в биткоинах представляет серьезную угрозу для сегодняшних пользователей. В процессе "снятия отпечатков пальцев" есть два варианта:
Связь с одной транзакцией. Цель атаки - связать пользователя с транзакцией криптовалюты в блокчейне. Если у трекера есть доступ к адресу получателя, очень легко показать эту связь. Другой случай - когда трекер знает примерную сумму и время транзакции. В таком случае злоумышленник просто просматривает журналы транзакций.
Пересечение кластеров. Дополнительная атака, при которой злоумышленник стремится идентифицировать кластер адресов в биткоин кошельках жертв. Цель атаки - связать две покупки одних и тех же пользователей в блокчейне. Для дальнейшей обработки информации злоумышленник просто использует известные методы атаки на пересечении графов.
3.2.6 Деанонимизация применением анализа графов
Конфиденциальность владельца биткоин кошелька - очень хрупкая вещь. Будучи утраченной, ее очень трудно восстановить. Публичный адрес является анонимным только тогда, когда никто не знает владельца адреса. Вот почему настоятельно рекомендуется использовать новый биткоин адрес для каждого нового платежа. В сочетании с описанными пассивными методами анализ графов может помочь злоумышленнику выявить реальную личность владельца биткоин кошелька. Например, если мы знаем посредников в цепочке, мы можем использовать эту информацию, чтобы вручную найти реальное имя с использованием социальных сетей или методов социальной инженерии.
Другим примером анализа графов являются алгоритмы обнаружения сообществ. Мы можем обнаружить сообщество друзей или соседей, найти людей в середине цепочки, которые замешаны в незаконной деятельности.
Авторы статьи [16] использовали ориентированный адресный граф. Основной целью этого метода было определить наиболее интересные узлы. Этот метод способен определять крупные сайты азартных игр и торговые площадки, использующие биткоин. Мы уверены, что сложные методы деанонимизации, разработанные для социальных сетей, также будут работать на графах биткоин транзакций. Это могло бы значительно увеличить процент деанонимизированных пользователей. Графы, которые описаны ниже, являются основным инструментом для деанонимизации биткоин адресов пассивными методами.
3.2.7 Графы транзакций
Весь блокчейн можно рассматривать как ациклический граф транзакций (см. рис. 2). G = {T, E}, где T – набор транзакций, хранящихся в блокчейне, E - набор векторов (взаимосвязей) между этими транзакциями. G представляет собой денежный поток в блокчейне с течением времени. Набор входящих и исходящих монет в транзакции можно рассматривать как экстремумы по обоим краям G. В частности, каждый входящий в транзакцию вектор, содержит временную метку и количество монет, которые формируют входные данные для этих транзакций.
Граф транзакций является основным графом в атаках направленных на деанонимизацию пользователей. Граф адресов и граф пользователей строятся с использованием графа транзакций.

3.2.8 Адресный граф
Просматривая график транзакций, мы можем легко вывести взаимосвязь между различными входными и выходными адресами. Открытые ключи и их взаимосвязи могут быть использованы для генерации графа адресов (см. рис. 3), G = {P, E}, где P - набор биткоин адресов, а E - векторы, соединяющие эти адреса.

3.2.9 Графы пользователей
Используя граф адресов наряду с рядом эвристических методов, которые являются производными протокола биткоин, следующим шагом является создание графа объектов (см. рис. 4) путем группировки адресов, которые, по-видимому, принадлежат одному и тому же пользователю.
3.3 Активные методы
3.3.1 Социальная инженерия
Это довольно экзотичный метод в случае деанонимизации пользователей биткоинов. Тем не менее, он отлично работает в случае проведения расследований. Например, если вы знаете только одноразовый псевдоним и связанный с ним биткоин адрес, вы можете воспользоваться этим методом.

3.3.2 Анализ сети P2P
Сеть Bitcoin P2P содержит два класса узлов: серверы и клиент. Клиент - это узлы, которые не принимают входящие TCP-соединения (например, узлы за NAT), в то время как серверы принимают входящие соединения. Клиент и сервер имеют разные сетевые протоколы и проблемы анонимности. Например, клиент не ретранслирует транзакции. Основное внимание в методах деанонимизации уделяется серверам. Все атаки на P2P-сеть основаны на механизме трансляции транзакций. Злоумышленник должен перехватить IP-адрес, который инициировал передачу транзакции. Однако, если у злоумышленника есть ресурсы, аналогичные ресурсам интернет-провайдера, направление деанонимизации на основе IP может стать мощным инструментом.
В 2015 году биткоин сообщество отреагировало на предложенный метод атаки, изменив механизм заполнения сети на другой протокол, известный как "diffusion". В атаках использовался “суперузел”, который подключен к активным биткоин узлам и прослушивает трафик транзакций, ретранслируемый узлами. При использовании этого метода точность привязки составляла до 30% [17].
Новая версия протокола использует независимые экспоненциальные задержки. Однако исследователи в [17, 18] утверждают, что не ясно, действительно ли такое изменение защищает от предполагаемых атак [17]. При диффузионном распространении каждый узел источника или ретранслятора передает сообщение каждому из своих незараженных соседей с независимой экспоненциальной задержкой скорости λ. Атаки в [17] используют суперузел, который подключен к большинству серверов в сети биткоин. Суперузел может устанавливать несколько подключений к каждому честному серверу, причем каждое соединение поступает с другого (IP-адрес, порт). Следовательно, честный сервер не осознает, что все соединения суперузла исходят от одного и того же объекта. Суперузел может скомпрометировать произвольное количество неиспользуемых подключений сервера, вплоть до жесткого предела в 125 общих подключений.
Суперузел в [17] также отслеживает временные метки, с которыми сообщения ретранслируются с каждого честного сервера. Поскольку злоумышленник поддерживает несколько активных подключений к каждому серверу, он получает сообщение несколько раз с каждого сервера. Суперузлы используются для сопоставления транзакций и IP-адресов путем подбора правильного набора входных узлов конкретного пользователя. Суперузел пытается перехватить распространение IP-адресов клиентов и соотнести его с объявленной транзакцией. Эта атака направлена на механизм распространения IP-адресов сети биткоин. Такая атака достигает вероятности совпадения IP адресов в тестовой сети в 86% (в среднем 34% в основной сети в 2013 году). В статье [18] показано, что новый протокол неэффективен против атак однорангового мониторинга трафика.
4. Коммерческая Реализация
Существуют различные коммерческие и научные инструменты, тесно связанные с этой темой:
- BitIodine [19] – открытая и модульная платформа анализа блокчейна, которая позволяет выполнять сложные запросы к транзакциям, группировать адреса по управляющему объекту и создавать кластеры поверх данных блокчейна. (прим. редакции на данный момент сервис недоступен)
- BitConeView [20] - это графический инструмент для анализа потоков в блокчейне.(прим. редакции на данный момент сервис недоступен)
- Стартапы: Chainalysis, Blockchain Intelligence Group, Elliptic, Blockseer.
5. Планы на будущее
В будущем авторы собираются опробовать самые современные методы деанонимизации социальных сетей на графике биткоин транзакций и адаптировать существующие алгоритмы для борьбы с миксерами. Они планируют использовать методы деанонимизации на основе графов и для других популярных криптовалют, чтобы доказать, что этот метод применим к любой криптовалюте, которая специально не предназначена для анонимных платежей. Другим открытым вопросом является возможность достижения хорошей точности в основной сети с использованием методов деанонимизации на уровне сети P2P со значительным объемом ресурсов.
6. Заключение
Мы представили методы деанонимизации биткоина и предоставили их классификацию. Конфиденциальность биткоинов - это развивающаяся область исследований, которая привлекает все больше внимания исследователей по всему миру. Поскольку биткоин является популярным платежным инструментом среди преступников, общество нуждается в инструментах и подходящих законах для борьбы с незаконным использованием биткоина.
Список используемой литературы в конце статьи по ссылке
Ссылка на оригинал статьи - тут
Ссылка на канал Dark Metrics в Телеграм