MoneroKon D1 - Выступление Джоша Роуза

22/06/2019

Сетевые атаки и обфускация вашей платёжной системы

Джош является техническим директором Airfoil Services. В течение многих лет он занимался оперативной безопасностью, консультируя клиентов, в первую очередь, по вопросам анонимности и наилучшим методам обеспечения безопасности. Джош работает в криптовалютном секторе в течение последних семи лет.

Аннотация

С использованием криптовалют связаны некоторые вопросы анонимности. Когда вы пользуетесь ориентированной на обеспечение анонимности криптовалютой, многие такие вопросы решаются. Но остаётся актуальным вопрос, связанный с мониторингом сети. Проблемы анонимности, связанные с инфраструктурой вашей сети при использовании Monero и других анонимных монет, остаются важной, ключевой темой. При наличии правильного программного обеспечения для мониторинга кто-нибудь может узнать, что вы пользуетесь Monero. Этот тип информации помогает злоумышленникам собирать ваши метаданные, которые выдают вас и расширяют площадь атаки. Я коснусь Kovri и расскажу о том, какие проблемы решает этот маршрутизатор, а также о том, как люди могут обеспечить дополнительную обфускацию своих транзакций, используя службы, подобные Kovri. Я также буду говорить о других основных анонимных валютах, об их основных недостатках с точки зрения раскрытия личных данных в сети, а также мы поговорим о положительных сторонах этих валют. Наконец, я коснусь вопроса будущего анонимных валют в плане прохождения сетевых данных, в частности, будущего Monero, и возможных решений, в направлении которых следует двигаться сообществу.

Стенограмма:

Спасибо. Привет, меня зовут Джош. Как только что сказал Саранг, я буду говорить об атаках на сеть и обфускации приватных платёжных систем. Немного о себе: я занимался консультированием клиентов по вопросам анонимности и безопасности, клиентов, которые столкнулись с тем, что их данные стали публичными, я помогал им удалить эти данные из интернета, а ещё я консультировал клиентов, начиная с лиц с крупным частным капиталом и заканчивая биржами, занимающимися созданием собственных кастодиальных кошельков. В настоящее время я являюсь техническим директором Airfoil Capital, и на этом достаточно говорить обо мне, начнём.

Сначала я хотел бы поговорить о том, что делает Monero. Я бы хотел рассказать, что пользователи могут делать уже сегодня с точки зрения обфускации сети. А затем я также хотел бы рассмотреть, что делают другие проекты, положительные и отрицательные стороны других крипто проектов. И, наконец, я хотел рассмотреть ближнесрочные перспективы Monero, какая дорожная карта, какие планы у этого проекта, а затем перейти к долгосрочным перспективам, к другим возможным вариантам реализации протокола, к которым мы можем перейти.

Итак, все мы знаем, что на уровне протокола Monero использует ringCT, кольцевые подписи, скрытые адреса, но это совсем не обязательно обеспечивает анонимность на сетевом уровне. Я буду говорить именно о том, как мы можем решить эту проблему на уровне конечного пользователя.

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

На сегодняшний день актуален вопрос деанонимизации сети. Существуют инструменты, позволяющие перехватывать пакеты, существуют бесплатные и открытые инструменты, которыми может воспользоваться любой, и они являются анализаторами протокола. Они могут проанализировать, что точно происходит с этими пакетами. Занимаясь такого рода наблюдением, вы можете проводить атаки определённого типа. Одним из них является корреляционная атака. Если вы соберёте достаточное количество информации, если кто-то разместит такую информацию в сети, вы сможете коррелировать данные, при наличии достаточного количества пакетов вы сможете коррелировать информацию, поступающую от определённого пользователя, и путём деанонимизации или корреляции, выяснив, откуда она поступает, с какого IP или устройства, вы можете произвести «атаку цензурированием». Такая атака предполагает, что мы можем сказать: «Так эта сеть не будет получать какого-либо рода информацию с этого узла или с этих узлов, или с этого устройства». Таким образом, корреляционная атака и атака цензурированием идут рука об руку.

Теперь как можно деанонимизировать транзакцию? Вот здесь просто показан скриншот Wireshark, и, опять же, это бесплатный и открытый инструмент, доступный абсолютно каждому. Прямо сейчас пользователи, вы, ребята, сидящие в креслах, я сам, стоящий здесь, вы можете взять и использовать его. На скриншоте показано, как точно захватываются пакеты, и вы можете продолжать кликать и получать информацию по этим пакетам относительно того, что с ними происходит. Это отличный пример инструмента, доступного всем для использования. А теперь, что касается злоумышленника, глобального пассивного злоумышленника — очевидно, что такие люди будут иметь гораздо больше средств, чем обычные пользователи или кто-то другой на своём базовом хакерском уровне. А теперь представьте, если эти инструменты доступны бесплатно, то что будет использовать глобальный пассивный злоумышленник, чтобы ещё глубже проанализировать трафик.

Итак, каким путём мы можем пойти, что мы можем сделать уже сегодня? Что мы можем сделать сейчас как пользователи, сидящие на своих местах, как пользователи, находящиеся у себя дома? Что могут сделать они? Для начала я хотел бы коснуться вопроса использования VPN. Я уверен, что большинство слышало об этом решении. VPN являются высокоуровневыми виртуальными частными сетями. В их случае происходит сквозное шифрование трафика: от вашего устройства и до места назначения.

Задержимся здесь на секунду.

Итак, прежде всего, если уж мы говорим об анонимности, VPN обеспечивает анонимность, но нам также нужно понимать, с какой моделью угрозы мы имеем дело. И снова модель угрозы, рассматриваемая нами, с которой мы имеем дело в данном случае, предполагает наличие глобального пассивного злоумышленника. Таким образом, необходимо понимать, если вы собираетесь сохранить свою анонимность, каким образом вы получите доступ к этим подпискам VPN? VPN работают через определённые подписки, вы можете заплатить за пользование VPN. Вы можете воспользоваться бесплатными вариантами, но я бы посоветовал не делать этого, так как, опять же, если вы не… В конечном счёте они продадут ваши данные, если вы воспользуетесь бесплатным сервисом. Поэтому, очевидно, вам необходимо осознанно выбирать достойных доверия провайдеров VPN. Таким образом, если вы хотите добиться абсолютной анонимности, необходимо понимать, как вы получаете подписку, это тоже должно происходить анонимно. Вот что вы можете сделать: определённые провайдеры VPN принимают оплату наличными, высланными по почте, то есть вы создаёте профиль на сайте, вам выдаётся номер подписки, вы покупаете конверт, прилагаете небольшой номер, который был вами получен, и больше никакой информации, касающейся вас. Вы отправляете письмо по почте и таким образом получаете подписку. Вы также можете приобрести её за Monero или воспользоваться подарочными картами. В случае с подарочными картами, безусловно, если вы хотите сделать это анонимно, то вы будете платить наличными, и если вы хотите гарантированно… если вас беспокоит уровень вашей анонимности, то вы должны убедиться в том, что в том месте, где вы покупаете подарочные карты, не используется систем распознавания лиц, и это уже другой уровень.

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

Итак, всякий раз, когда вы будете искать хорошего провайдера VPN, вы будете сталкиваться с этими сайтами, вы будете искать 10 лучших VPN, и на разных сайтах вам будут указывать на того или иного VPN провайдера, но во многих случаях эти сайты связаны, ими получены деньги за продвижение различных VPN, поэтому они просто занимаются рекламой продукта. Таким образом, тот, кто действительно заботится об анонимности, будет максимально нейтральным, он составит огромную таблицу, он будет сравнивать сотни различных VPN, и эти сотни различных VPN будут им сравниваться по тридцати различным категориям, у меня, ну я не знаю, есть только десять в этой категории. Таким образом, вам необходимо понимать, что если вы пытаетесь обеспечить максимальную анонимность, вам необходимо помнить о юрисдикции, вам необходимо знать юрисдикцию, в какой стране всё находится, поскольку тут речь уже идёт о юридических вопросах. Расположен ли провайдер в стране, входящей в «альянс 14 глаз» или враждебной к интернету? Регистрируются ли там IP? Регистрируются ли запросы DNS? Как точно они принимают платежи? Есть масса инструментов, на которые вы можете обратить внимание, а это, как я уже сказал, просто маленький скриншот, на котором показано, как это выглядит.

Итак, оборотная сторона использования VPN, конечно, в конечном счёте будет заключаться в том, что вам придётся доверять централизованной системе. Все мы сталкивались с вопросами доверия централизованной системе. Кроме того, есть правоохранительные органы, как я уже говорил ранее, обладающие соответствующей юрисдикцией и правом вызывать в суд, и тут, конечно, стоит учесть, что говорят правоохранительные органы в соответствующей стране. Безусловно, при наличии масштабного злоумышленника существует возможность проведения корреляционной атаки, и как я уже говорил, если речь идёт о глобальном пассивном злоумышленнике, то мы имеем в виду, что это достаточно большое объединение, и по истечении достаточно большого промежутка времени трафик будет деанонимизирован.

Другим инструментом, который мы можем сегодня использовать, помимо VPN, является Tor. Я уверен, что большинство сидящих здесь прекрасно понимают, знают, что такое Tor, но я всё-таки очень кратко расскажу о верхнем уровне, о том, что должен делать Tor. Tor является «луковым маршрутизатором», использующим «луковую маршрутизацию» вашего трафика. Хорошим примером того, как работает Tor, будет следующий. Допустим, вы являетесь пользователем, и вы подсоединяетесь к трём различным узлам, и эти узлы… узел может видеть только один скачок до и один скачок после себя, таким образом, мы имеем дело с многоскачковой системой, и вы проходите три различных узла. Ваше устройство подсоединяется к первому узлу. Первому узлу известен источник трафика и известен путь ко второму узлу, но ему не известен конечный адресат. Затем трафик перехватывает второй узел, которому известно, что трафик идёт от первого узла, но не настоящий источник. Также ему известно, что трафик перейдёт к третьему узлу, но не известен конечный адресат. Теперь трафик переходит к третьему узлу, но ему совершенно не известен его источник. Я надеюсь, что понятно объяснил верхний уровень, но верхний уровень — это не то, к чему стремится Tor. Он не включает в себя скрытых служб.

Итак, мне хотелось бы упомянуть три операционных системы, которые делают Tor сильнее. Первая называется Tails. Tails — это «амнестическая» операционная система, это «живой» загружаемый диск, то есть это USB, который вы можете вставить в ваше устройство, и весь трафик будет идти через Tor. И как только вы закончите работать с ней, а она неустойчива, поэтому, как только вы отключите Tails, все данные будут стёрты, а когда вы решите снова воспользоваться ею и подключите обратно, то там не будет никакой информации, это будет как бы абсолютно новая сессия. И как я уже сказал, все данные передаются через Tor.

Whonix является другой операционной системой, поддерживающей Tor. Всё то же самое, весь трафик проходит через него.

И Qubes, ещё одна операционная система, производящая «виртуализацию» различных ячеек, в которых можно совершать различные операции. Затем можно использовать шлюз Whonix, чтобы снова направить весь ваш трафик через Tor. Также можно использовать App VM, если вас беспокоит VPN, то вы сможете использовать VPN для формирования цепочки. Получается, VPN оборачивается вокруг VPN, по сути, вложенный VPN.

Об оборотной стороне Tor сказано в документации к нему: «полу-доверенные ведущие узлы», но ведь они являются доверенными узлами. Их не так много, и, опять же, нам известны проблемы, связанные с доверенными ведущими узлами, так как доверие к ним было самым разным. Правоохранительные органы контролируют выходящие узлы. Мы видели проблемы, мы читали научные работы и знаем общее количество, ну, нам не известно точное число правоохранителей, контролирующих выходящие узлы, но нам известно, что они отслеживаются.

Корреляционные атаки проводятся против узлов. Мы допускаем наличие глобального пассивного злоумышленника, поэтому мы рассматриваем все узлы как взломанные. И, безусловно, точно так же может быть проведена и атака Сивиллы.

О’Кей, я также хотел поговорить и о других важных крипто проектах. Безусловно, это Monerokon, конечно же. Но существуют также и другие очень интересные проекты, которые пытаются работать над теми же аспектами.

О’Кей, сначала я хотел бы коснуться Grin. Grin реализует протокол Dandelion. Итак, на верхнем уровне Dandelion на этапе «стебля» пытается тихонько распространиться по сети. Он обращается к определённому набору узлов, а как только их будет достаточное количество, протокол переходит к этапу «одуванчика», и транзакции разлетаются по сети. Я хочу убедиться в том, что всё точно объяснил: при наличии глобального пассивного злоумышленника деанонимизация будет возможна и в этом случае, так как за сетью будет вестись тотальное наблюдение. Поэтому Grin так же продолжает работу над реализацией I2P относительно транзакций, и об I2P я скажу через несколько минут, я просто хотел отметить, что они работают над этим.

ZCash и Tor. Сегодня вы можете пользоваться ZCash через Tor, вы можете точно так же пользоваться ZCash через Tor. Вы можете передавать транзакции в скрытые службы, используя скрытые службы. Таким образом, это достойно того, чтобы отметить. Кроме того, они рассматривают возможность реализации смешанных сетей, и я должен сказать, это будет сделано довольно скоро.

Я также хотел бы поговорить о приватных токенах Ethereum. На что нацелены Enigma и протокол Aztec, что они будут использовать. Итак, Enigma будет использовать приватные смарт-контракты. В случае с этими приватными смарт-контрактами суть состоит в том, чтобы всё было включено в смарт-контракты, и если вы не используете Enigma, вы используете открытый, доступный, видимый смарт-контракт, который виден каждому, кто просматривает сеть. В случае с приватными смарт-контрактами, всё скрывается. Вместе с тем вы можете видеть, и это является проблемой Enigma, в том смысле, что вы по-прежнему можете получить метаданные сети, что этот адрес использует приватный смарт-контракт. Вы не сможете сказать, что находится внутри него, но у вас будет информация, что кто-то использует конкретный приватный смарт-контракт.

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

Что нас ждёт в будущем? Куда точно мы движемся? Каковы возможные, как я уже говорил, ближнесрочные и долгосрочные решения, которые можно реализовать в перспективе? Они совсем не обязательны, но они могут быть реализованы.

После меня выступит наш vtnerd. Он расскажет о трансляции транзакций через Tor, так что пусть об этом говорит Ли, а я хотел бы коснуться I2P-Zero и TinyI2P, а также смешанных сетей.

Начнём с I2P-Zero и TinyI2P. I2P является проектом невидимого интернета, поэтому I2P берёт то, что делает Tor и немного развивает это. Таким образом, и TinyI2P, и I2P-Zero являются I2P маршрутизаторами. TinyI2P представляет собой лёгкую C++ реализацию I2P, в то время как I2P-Zero — это Java реализация, но её можно использовать между платформами.

Теперь о разнице между I2P и Tor. Tor просто шифрует трафик TCP, в то время как I2P шифрует трафик UDP и TCP. Я уверен, что использование Tor уже предусматривается будущими версиями Monero, а что касается I2P, я думаю, что в грядущих версиях мы увидим интеграцию I2P, так что транзакции буду проводиться по I2P.

Смешанные сети впервые появились… мне кажется, идея смешанных сетей впервые была озвучена Дэвидом Чаумом в 1982 в научной работе, по-моему, это был 1982. Итак, в случае со смешанными сетями мы имеем дело с несколькими системами, и я буду говорить о системе loopix. Смешанные сети используют то, что делает I2P, и то, для чего предназначен Tor, и развивают это. Таким образом, обеспечивается защита от сквозных корреляционных атак. Целью является реализация идеи передачи случайных пакетов через узлы. Иногда это реальные пакеты, а иногда это просто фальшивые данные. Таким образом, через узлы передаётся случайная информация, которая, как я сказал, может быть реальными данными, может быть фальшивыми данными, просто пустышкой. За счёт использования всех этих различных узлов создаётся защита от сквозной корреляционной атаки, поскольку ваш узел, ваше устройство, также отправляет и принимает одновременно реальные и фальшивые данные. Таким образом, если кто-то ведёт наблюдение, глобальный злоумышленник следит за сетью, то у него ничего не выйдет, так как здесь играет свою роль фактор правдоподобного отрицания. Злоумышленник может только сказать, что пользователь или пользователи используют смешанную сеть. Это также делает невозможным наблюдение за отправителем и получателем. Тут снова, если ваше устройство отправляет и принимает как реальные, так и фальшивые данные, вы не сможете следить за Бобом и Элис, если они отправляют и получают эту информацию, так как тут мы имеем дело с принципом правдоподобного отрицания, в том смысле, что вы не можете сказать, действительно ли они проводят транзакции в сети или же это просто спам. Также используется I2P, я не показал этого на предыдущем слайде, но узлы выбираются случайным образом, в отличие от централизованных ведущих узлов, каждый узел выбирает случайный путь. И это так же помогает избежать корреляции данных, корреляционной атаки. А теперь вот эта возможность, которую не реализует даже I2P. Это разница в удержании по времени. То есть атака по времени не может быть проведена по крайней мере на этом уровне. Пакеты удерживаются. Допустим, проводятся транзакции, у них разное время, и транзакции удерживаются, скажем так, для хранения, перед тем как они будут отправлены. Но, как я уже сказал, время отличается, точное время, оно не точно, я здесь не показал этого, но это другая временная шкала, которая не позволяет определить, когда вы отправляете транзакции. Тем не менее здесь возникает другой вопрос: как такая задержка во времени, когда вы отправляете транзакции, может сказаться на времени блоков, как она может повлиять на фактические транзакции? Но я не стану углубляться в этот вопрос, я просто хотел затронуть тему передачи пакетов.

Итак, в чём точно заключается преимущество сокрытия ваших IP-адресов и сетевых метаданных? Очевидно, это обеспечивает защиту от цензурирования. Если никто не может сказать с уверенностью, что именно вы используете сеть или же что вы собираетесь использовать такие типы сетей с обфускацией данных, то глобальный пассивный злоумышленник не сможет решиться цензурировать ваш узел, цензурировать узлы, которые помогают в обработке ваших транзакций. Обеспечивает ли это настоящую анонимность? Я думаю, было бы наивно утверждать это, но что это даёт нам на самом деле? Перед тем как я закончу свою презентацию, я хотел бы, чтобы вы задали себе пару вопросов.

Первый: должно ли это решение сетевого уровня стать обязательным? Подобно кольцевым подписям, в случае с которыми наш ряд анонимных подписантов равен одиннадцати, должны ли транзакции всегда передаваться по сети с применением сетей таких видов?

Другой вопрос состоит в том, является ли проблема сетевых IP решённой, какой следующий вопрос необходимо будет решить сообществу, чтобы добиться идеальной анонимности? Допустим, это решает проблему с сетью, но с какими другими проблемами столкнётся сообщество при дальнейшей анонимизации транзакций?

В заключение хотелось бы сказать: сеть является самым большим, последним препятствием, которое необходимо преодолеть. Очень сложно решить проблему анонимности систем. Именно по этой причине Tor используется уже почти два десятилетия, и даже в их документации они не касаются проблемы атак со стороны глобального пассивного злоумышленника. Таким образом, анонимные системы всё ещё довольно новы, и они находятся на переднем крае наших попыток понять стоящие перед нами вопросы. Уже сегодня есть продукты, пытающиеся решить их. Как я уже говорил, они хорошие и плохие, но также существует множество проектов, направленных на возможность реализации. Целью моего выступления было не просто рассмотрение возможностей Tor, возможностей I2P, возможностей смешанных сетей, но попытка осознать, что есть и другие решения, которые могут быть использованы. И из всего виденного мною я должен отметить, сообщество Monero является очень и очень адаптивным и оно может свести всё воедино, и мне кажется, что даже если просто не давать огню потухнуть, выступать с образовательной точки зрения, рассказывая о других решениях, мне кажется, это уже будет хорошо. Вы можете написать мне, если у вас возникли вопросы, которые не удалось задать здесь, на адрес josh@airfoilcapital.com, а на остальные, если у вас есть вопросы, я отвечу прямо сейчас. Спасибо.

[аплодисменты]

Вопрос из зала: Как, по-вашему, можно донести тонкости, касающиеся, скажем, Tor, I2P, смешанных сетей, до тех, кто реально не понимает, какие виды IP-адресов используются, например, в GUI или мобильном кошельке, как нам передать эту информацию?

Ответ: Мне кажется, самым простым способом было бы говорить на понятном таким людям языке. Во-первых, сделать объяснение максимально простым. Во-вторых, если им не понятен сетевой уровень, даже что такое IP-адреса, нужно привести примеры подобные тем, о которых мы говорили ранее, инициативу “открытых денег”. Примеры, которые можно увидеть, примеры из реальной жизни, которые были у вас, у людей, о которых рассказывали, как они проводили такие транзакции, или же, как они это могли сделать, и я думаю, что для таких людей всё должно быть предельно ясным, как они могут сделать это, а затем экстраполировать это знание, погружаться всё глубже и глубже, объяснять, как это может сказаться на человеке лично. Мне кажется, что нужно начинать на более или менее широком уровне, а затем опускаться ниже, то есть если никто не будет понимать, что такое IP-адреса, то трудно будет объяснить, что такое Tor, поэтому следует начинать с более широкого уровня, а потом переходить к отдельным вопросам, приводить примеры, я думаю, это очень помогло бы.

Вижу ещё вопрос.

Вопрос из зала: Привет, я знаю, что велась некоторая работа по использованию мотивированных узлов, подобных Tor, в области криптовалют. Какие у вас есть мысли по этому поводу, и как бы их можно было применить?

Ответ: Я не слышал о мотивированных узлах для Tor, но я слышал о децентрализованных VPN, что кто-то пытался реализовать нечто подобное. Я думаю, это умный способ привлечения людей. Единственное, думаю, тут очевидно будет задействована теория игр, вопросы, связанные с ней, когда вы мотивируете нужное количество людей, а они скажут, что хотели бы иметь такой VPN оффлайн или же конкретный узел оффлайн, чтобы получить средства или чтобы получить больше трафика, а затем появятся те, кто будет совершать атаки на эти узлы VPN, так как люди захотят, чтобы именно их VPN узел имел наибольшую пропускную способность. Я думаю, что там могут возникнуть проблемы, связанные с тем, что кто-то захочет заполучить больше трафика. Поэтому лично мне нечего сказать. Мне бы не хотелось давать более развёрнутый ответ, но мне кажется, что взять и реализовать что-то, чтобы просто посмотреть, что произойдёт, если ничего не получится, то есть вы просто получите урок и уйдёте с мыслью, что это не сработало, но может быть что-то, какой-то механизм консенсуса, который не будет мотивировать людей уничтожать чужие узлы, я думаю, это будет даже полезно.

Перевод: Mr. Pickles
Редактирование: Agent LvM
Коррекция: Kukima