Перевод Метод атаки на кольцевые подписи Monero: воспроизведение эффекта транзакций с нулевыми миксинами / 3

Тема в разделе "Статьи", создана пользователем Mr. Pickles, 18 май 2018.

  1. Mr. Pickles

    Команда форума Модератор Редактор

    Регистрация:
    11 сен 2017
    Сообщения:
    288
    Симпатии:
    99
    Часть третья

    V. ОЦЕНКА
    A. Активная атака.
    Для доказательства концепции предлагаемой нами схемы атаки был реализован этап подготовки, этап настройки и этап пассивной атаки. Нами был изменён исходный код Monero, чтобы создать вредоносный кошелёк, который смог бы создавать транзакции, соответствующие нашей схеме, в частности, simplewallet.cpp и wallet2.cpp.

    1. Этап подготовки

    Вместо нормального использования протокола при сборе индексов из гистограммных данных, мы берём индексы из публичных ключей, сохранённых в нашем собственном кошельке. Следовательно, так как кошелёк также хранит глобальные индексы для каждого выхода, нет никакой необходимости в запросе данных у daemon-программы, так как кошелёк сам выполнит все необходимые требования.

    Нами были успешно реализованы этапы подготовки и настройки в основной сети Monero. Этап настройки был выполнен в один тред при r = 5. На этапе подготовки использовался следующие идентификатор:

    b6781f2a6f5608553546442b84888346fdc3f78dd8995170180ed74081c05362

    2. Этап настройки

    А в этапе настройки мы использовали следующий идентификатор:

    8d4a0c7eccf92542eb5e1f09e72cc0d934b180b768bc95388d33051db83194bb

    3_1.jpg

    3. Этап пассивной атаки

    На этапе настройки нами были установлены 5 публичных ключей, которые можно определить как потраченные при проведении транзакции. Эти ключи были взяты 12 другими входами в качестве одного из своих ложных объектов. Это означает, что используя наши 5 публичных ключей, мы можем снизить уровень анонимности других 12 входов на 1. Успешность подтверждения транзакции в блокчейне Monero на этапе настройки доказывает, что система не проверяет структуру кольцевой подписи. Нами не был реализован этап активной атаки, так как создание транзакции на этапе активной атаки не представляет особого интереса. Количество транзакций, на которых будет оказано влияние, в реальности зависит от других пользователей, а потраченные выходы можно по-прежнему брать в качестве ложных объектов гораздо позже того, как вредоносные транзакции будут подтверждены в блокчейне из-за метода произвольной выборки, который используется Monero.

    Чтобы увидеть, был ли наш метод использован в системе Monero, нами были взяты данные блокчейна Monero в формате RDBMS из блоков, начиная с 0 и заканчивая 1 470 000. Мы используем хеш-функцию, чтобы хешировать члены выхода каждого входа в блоках и сравниваем значения хеша, чтобы найти дубликаты.

    3_2.jpg

    При минимальном размере кольца равном двум, нами было обнаружено 2947 дубликатов колец, которые были похожи на те, что были у нас на этапе настройки (включая нашу собственную транзакцию). Эти дубликаты состоят из 1244 чётких наборов и включают в себя 855 различных транзакций. Первый дубликат был обнаружен в блоке 47410, а последний — в блоке 1401899. Наша транзакция вошла в блок 1468439.

    3_3.jpg

    Схема, показанная на рисунке 8, отображает статистику обнаружения дубликатов в зависимости от размера кольца. Более половины дубликатов были обнаружены при размере кольца равном двум, в то время как в 43% случаев обнаружения размер кольца составлял три. Небольшое количество данных (2%) было обнаружено при размере кольца равном пяти. Все эти транзакции были созданы без использования протокола RingCT.

    При использовании схемы пассивной атаки нам удалось обнаружить 595 входов. При реализации схемы пассивной атаки количество итераций достигало пяти. Затем мы подсчитали все входы, которые были определены нами как потраченные, в зависимости от размера кольца, как показано на рисунке 10. Из 595 входов 72% были обнаружены при размере кольца равном трём, а остальные 28% были обнаружены при размере кольца равном двум. Два входа было найдено при размере кольца равном четырём и только 1 вход был обнаружен при размере кольца равном пяти.

    3_4.jpg

    Если выходы, которые были определены нами как потраченные, использовались другими транзакциями, то их можно отбросить при вычислении реальных входов. Нами было обнаружено ещё 66 входов, уровень анонимности которых был снижен на 1.

    3_5.jpg

    B. Анализ затрат

    Чтобы использовать 5 публичных ключей в качестве выходов атаки, понадобилось создать две транзакции: первую для этапа подготовки и вторую для этапа настройки. В случае с нашими примерами, на этапе подготовки было потрачено примерно 0,034 XMR, в то время как на этапе настройки потребовалось 0,0135 XMR. При настройках, используемых по умолчанию, общие затраты составили 0,0475 XMR. При текущей рыночной цене Monero, которая составляет US$216,14, майнеру было выплачено US$10,27.

    C. Сравнение результатов с каскадным эффектом использования транзакций с нулевыми миксинами

    Нами были воспроизведены методы, описанные в работах [5, 6]. Процесс выделения был реализован с применением API‑интерфейсов Onion Monero Blockchain Explorer. Onion Monero Blockchain Explorer работает как шлюз для присвоения индексов реальным публичным ключам миксинов транзакций, взятых из Monerod, полностью синхронизированного с сетью. Затем мы сравнили результаты применения известных методов с нашими результатами.

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

    VI. ОГРАНИЧЕНИЯ,
    ЗАКЛЮЧЕНИЕ И ДАЛЬНЕЙШАЯ РАБОТА

    A. Ограничения

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

    B. Заключение

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

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


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

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

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

    C. Дальнейшая работа

    Предложенный нами метод атаки также может быть реализован в других системах, использующих кольцевые подписи, например, в системе электронного голосования (e-голосования). Такие системы могут быть подвергнуты нашей атаке по следующему сценарию. Предположим, проводятся выборы, в ходе которых кандидаты соревнуются для получения места в правительстве. Кандидат хочет «купить голоса» голосующих, чтобы победить в выборах. Так как при электронном голосовании используются кольцевые подписи, кандидат покупает голоса оптом. Чтобы сделать это, необходим координатор продавцов голосов. Координатор создаёт список всех продавцов голосов и разбивает их на группы в зависимости от размера кольца n, используемого системой e-голосования. Каждая группа состоит из n продавцов голосов. Затем каждый член такой группы сообщает свой публичный ключ, который другие члены группы должны будут использовать в качестве ложного объекта. Каждая группа создаёт n транзакций с идентичными членами кольца, чтобы голоса были отданы определённому кандидату. Структура транзакции напоминает ту, что мы имеем на предлагаемом нами этапе настройки.

    1. S. Nakamoto, "Bitcoin: A peer-to-peer electronic cash system," 2008, Available: http://bitcoin.org/bitcoin.pdf.
    2. N. van Saberhagen, "Cryptonote v 2. 0," 2013.
    3. S. Meiklejohn et al., "A Fistful of Bitcoins: Characterizing Payments Among Men with No Names," USENIX ;login:, 2013.
    4. D. Ron and A. Shamir, "Quantitative analysis of the full bitcoin transaction graph," in Financial Cryptography and Data Security: Springer, 2013, pp. 6-24.
    5. A. Kumar, C. Fischer, S. Tople, and P. Saxena, "A Traceability Analysis of Monero's Blockchain," IACR Cryptology ePrint Archive, vol. 2017, p. 338, 2017.
    6. A. Miller, M. Möser, K. Lee, and A. Narayanan, "An Empirical Analysis of Linkability in the Monero Blockchain," arXiv preprint arXiv:1704.04299, 2017.
    7. R. L. Rivest, A. Shamir, and Y. Tauman, "How to leak a secret," in International Conference on the Theory and Application of Cryptology and Information Security, 2001, pp. 552-565: Springer.
    8. J. K. Liu, V. K. Wei, and D. S. Wong, "Linkable spontaneous anonymous group signature for ad hoc groups," in Australasian Conference on Information Security and Privacy, 2004, pp. 325-335: Springer.
    9. E. Fujisaki and K. Suzuki, "Traceable ring signature," in Public Key Cryptography, 2007, vol. 4450, pp. 181-200: Springer.
    10. M. V. Alstyne, "Why Bitcoin has value," Commun. ACM, vol. 57, no. 5, pp. 30-32, 2014.
    11. P. Todd. (2014, October 8, 2015). Stealth Addresses. Available: http://sourceforge.net/p/bitcoin/mailman/message/3 1813471/
    12. unSYSTEM Wiki. (2014). DarkWallet/Stealth. Available: https://wiki.unsystem.net/en/index.php/DarkWallet /Stealth
    13. S. Noether and S. Noether, "Monero is Not That Mysterious," 2014.
    14. G. Maxwell, "Confidential Transactions," URL: https://people.xiph.org/~greg/confidential_values.t xt (Accessed 09/05/2016), 2015.
    15. S. Noether and A. Mackenzie, "Ring confidential transactions," Ledger, vol. 1, pp. 1-18, 2016.
    16. S. Noether, S. Noether, and A. Mackenzie, "Mrl-0001: A note on chain reactions in traceability in cryptonote 2.0," Technical report2014.
    17. L. Sweeney, "k-anonymity: A model for protecting privacy," International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems, vol. 10, no. 05, pp. 557-570, 2002.
    18. A. Mackenzie, S. Noether, and M. C. Team, "Improving Obfuscation in the CryptoNote Protocol," 2015. Moneroblocks. Richlist. Available: https://moneroblocks.info/richlist

    Источник: Monero Ring Attack: Recreating Zero MixinTransaction Effect

    Перевод:
    Mr. Pickles (@v1docq47)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima)
     
    #1 Mr. Pickles, 18 май 2018
    Последнее редактирование: 20 май 2018
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.