Конфиденциальность в файлообменных сетях

Системы обмена файлами Peer-to-Per (P2P), такие как Gnutella , KaZaA и eDonkey / eMule , стали чрезвычайно популярными в последние годы, с предполагаемым количеством пользователей в миллионах. В научном исследовании был проанализирован протокол Gnutella и eMule и обнаружены слабые места в протоколе; многие из проблем, обнаруженных в этих сетях, являются фундаментальными и, вероятно, распространены в других сетях P2P. [1] Пользователи сетей обмена файлами, таких как eMule и Gnutella, подлежат мониторингу своей активности. Клиентов можно отслеживать по IP-адресу, имени DNS, версии программного обеспечения, которые они используют, файлам, которыми они делятся, запросам, которые они инициируют, и запросам, на которые они отвечают. [1] Клиенты также могут делиться своими личными файлами в сети без уведомления из-за неподходящих настроек. [2]

Многое известно о структуре сети, схемах маршрутизации, производительности нагрузки и отказоустойчивости P2P-систем в целом. [3] Это может показаться удивительным, но протокол eMule не обеспечивает особой конфиденциальности для пользователей, хотя это P2P-протокол, который, как предполагается, должен быть децентрализованным. [4]

Протоколы Gnutella и eMule

Протокол eMule

eMule — один из клиентов, реализующих сеть eDonkey. Протокол eMule состоит из более чем 75 типов сообщений. Когда клиент eMule подключается к сети, он сначала получает список известных серверов eMule, который можно получить из Интернета. Несмотря на то, что существуют миллионы клиентов eMule, серверов существует лишь небольшое количество. [5] [6] Клиент подключается к серверу с помощью TCP-соединения. Оно остается открытым, пока клиент подключен к сети. После подключения клиент отправляет список своих общих файлов на сервер. Таким образом, сервер создает базу данных с файлами, которые находятся на этом клиенте. [7] Сервер также возвращает список других известных серверов. Сервер возвращает клиенту идентификатор, который является уникальным идентификатором клиента в системе. Сервер может генерировать ответы на запросы только для клиентов, которые напрямую подключены к нему. Загрузка выполняется путем разделения файла на части и запроса части каждому клиенту. [ необходима цитата ]

Протокол Gnutella

Протокол Gnutella v0.4

В протоколе Gnutella V0.4 все узлы идентичны, и каждый узел может выбрать подключение к любому другому. [8] Протокол Gnutella состоит из 5 типов сообщений: запрос на поиск плитки. Сообщения запросов используют механизм лавинной рассылки, т. е. каждый узел, который получает запрос, пересылает его по всем своим смежным ссылкам узлов графа. [9] Узел, который получает запрос и имеет соответствующий файл, отвечает сообщением о попадании запроса. Поле количества переходов в заголовке ограничивает время жизни сообщения. [ необходима цитата ] Сообщения Ping и Pong используются для обнаружения новых узлов, которые могут быть связаны с фактической загрузкой файла, выполняемой путем открытия соединения TCP и использования механизма HTTP GET. [10] [11]

Протокол Gnutella v0.6

Протокол Gnutella V0.6 включает несколько модификаций: Узел имеет один из двух режимов работы: «узел листа» или «ультрапир». [ требуется цитата ] Изначально каждый узел запускается в режиме узла листа, в котором он может подключаться только к ультрапирам. Узлы листа отправляют запрос ультрапиру, ультрапир пересылает запрос и ждет ответов. Когда у узла достаточно пропускной способности и времени безотказной работы, узел может стать ультрапиром. [ требуется цитата ] Ультрапиры периодически отправляют своим клиентам запрос на отправку списка с общими файлами, которые у них есть. Если поступает запрос со строкой поиска, которая соответствует одному из файлов в листьях, ультрапир отвечает и указывает на определенный лист. [ требуется цитата ]

Отслеживание инициаторов и ответчиков

В версии 0.4 протокола Gnutella ультрапир, который получает сообщение от конечного узла (сообщение с нулевым количеством переходов), точно знает, что сообщение было отправлено с этого конечного узла. [ необходима цитата ]

В версии 0.6 протокола, если ультрапир получает сообщение от ультрапира с нулевым количеством переходов, то он знает, что сообщение отправлено ультрапиром или одним из его листьев (среднее количество листьев, подключенных к ультрапиру, составляет 200). [ необходима цитата ]

Отслеживание одного узла

Многие клиенты Gnutella имеют функцию HTTP-монитора. Эта функция позволяет отправлять информацию об узле на любой узел, который поддерживает пустой HTTP-запрос, и получать ответ. [ требуется цитата ] Исследования показывают, что простой краулер, подключенный к сети Gnutella, может получить из начальной точки входа список IP-адресов, которые подключены к этой точке входа. [ требуется цитата ] Затем краулер может продолжить запрашивать другие IP-адреса. Академическое исследование провело следующий эксперимент: в Нью-Йоркском университете обычный программный клиент Gnucleus был подключен к сети Gnutella как конечный узел с отличительным прослушивающим TCP-портом 44121. В Еврейском университете в Иерусалиме, Израиль, краулер работал в поисках клиента, прослушивающего порт 44121. Менее чем за 15 минут краулер нашел IP-адрес клиента Gnucleus в Нью-Йоркском университете с уникальным портом. [ требуется цитата ]

Сбор IP-адресов

Если пользователь подключился к сети Gnutella, скажем, в течение последних 24 часов, IP-адрес этого пользователя может быть легко получен хакерами, поскольку функция мониторинга HTTP может собрать около 300 000 уникальных адресов в течение 10 часов. [ необходима цитата ]

Отслеживание узлов путем создания GUID

Глобально уникальный идентификатор ( GUID) — это 16-байтовое поле в заголовке сообщения Gnutella, которое уникальным образом идентифицирует каждое сообщение Gnutella. Протокол не определяет, как генерировать GUID. [ необходима цитата ]

Gnucleus в Windows использует Ethernet MAC-адрес, используемый в качестве GUID 6 нижних байтов. Поэтому клиенты Windows раскрывают свой MAC-адрес при отправке запросов. [12]

В клиентском программном обеспечении JTella 0.7 GUID создается с использованием случайного числа Java без инициализации. Поэтому в каждом сеансе клиент создает последовательность запросов с одинаковыми повторяющимися идентификаторами. Со временем можно обнаружить корреляцию между запросами пользователя. [ необходима цитата ]

Сбор различной информации о пользователях

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

В Gnutella V0.6 можно собирать информацию о клиентском программном обеспечении (даже если клиент не поддерживает HTTP-мониторинг). Информация находится в первых двух сообщениях соединения handshake. [ необходима цитата ]

Отслеживание пользователей по частичной информации

У некоторых пользователей Gnutella есть небольшой набор двойников, что упрощает отслеживание их, поскольку они знают эту весьма частичную информацию. [ необходима цитата ]

Отслеживание пользователей по запросам

Группа академических исследователей провела следующий эксперимент: группа запустила пять Gnutella в качестве ультрапиров (чтобы прослушивать запросы других узлов). Группа раскрыла около 6% запросов. [ необходима цитата ]

Использование хэш-функций

Хэши SHA-1 относятся к SHA-1 файлов, а не к строкам поиска.

Половина поисковых запросов — это строки, а половина из них — это вывод хэш-функции ( SHA-1 ), примененной к строке. Хотя использование хэш-функции предназначено для улучшения конфиденциальности, академическое исследование показало, что содержимое запроса может быть легко раскрыто с помощью атаки по словарю: ультрапиры-коллеги могут постепенно собирать общие строки поиска, вычислять их хэш-значение и сохранять их в словаре. Когда поступает хэшированный запрос, каждый ультрапир-коллега может проверить совпадения со словарем и соответственно раскрыть исходную строку. [ необходима цитата ] [13]

Меры

Распространенной контрмерой является сокрытие IP-адреса пользователя при загрузке или выгрузке контента с помощью анонимных сетей, таких как I2P - The Anonymous Network . Также существует шифрование данных и использование косвенных соединений ( смешанных сетей ) для обмена данными между одноранговыми узлами. [ требуется цитата ] Таким образом, весь трафик анонимизируется и шифруется. К сожалению, анонимность и безопасность достигаются ценой гораздо более низких скоростей, и из-за того, что эти сети являются внутренними, в настоящее время там все еще меньше контента. Однако это изменится, как только появится больше пользователей. [ требуется цитата ]

Смотрите также

Ссылки

  1. ^ ab Bickson, Danny; Malkhi, Dahlia (2004). "Исследование конфиденциальности в сетях обмена файлами". Архивировано из оригинала 12 октября 2013 г. Получено 12 февраля 2013 г.{{cite web}}: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )
  2. ^ Лю, Биншуан; Лю, Чжаоян; Чжан, Цзяньюй; Вэй, Тао; Цзоу, Вэй (2012-10-15). «Сколько глаз шпионят за вашими общими папками?». Труды семинара ACM 2012 года по вопросам конфиденциальности в электронном обществе . WPES '12. Роли, Северная Каролина, США: Ассоциация вычислительной техники. стр. 109–116. doi :10.1145/2381966.2381982. ISBN 978-1-4503-1663-7. S2CID  13840840.
  3. ^ Энг Кеонг Луа Джон Кроукрофт. «Обзор и сравнение схем одноранговых оверлейных сетей». IEEE Communications Surveys & Tutorials . 7 (2): 72–93.
  4. ^ Силва, Педро Морейра да (19 июня 2017 г.). «Недоверчивый P2P: детерминированная модель обмена файлами P2P с сохранением конфиденциальности для сокрытия интересов пользователя в ненадежных одноранговых сетях». Компьютерные сети . 120 : 87–104. doi : 10.1016/j.comnet.2017.04.005.
  5. ^ "Лучшие списки проектов". sourceforge.net . Получено 2021-09-18 .
  6. ^ "Список безопасных серверов для eMule. Сгенерировано: 17 сентября 2021 г. 18:28:20 UTC+3". www.emule-security.org . Получено 18 сентября 2021 г. .
  7. ^ Йорам Кулбак и Дэнни Биксон. «Спецификация протокола eMule». Проект EMule .
  8. ^ "конфиденциальность при обмене файлами". inba.info . Получено 2020-10-23 .
  9. ^ Yingwu Zhu; Yiming Hu (2006-12-01). «Повышение производительности поиска в P2P-системах типа Gnutella». IEEE Transactions on Parallel and Distributed Systems . 17 (12): 1482–1495. doi :10.1109/tpds.2006.173. ISSN  1045-9219. S2CID  496918.
  10. ^ "Разработка протокола Gnutella". rfc-gnutella.sourceforge.net . Получено 12.11.2020 .
  11. ^ "Tornado Cash" . Получено 24 сентября 2023 г. .
  12. ^ Кортни, Кайлан. (2012). Справочник по информации и конфиденциальности в Интернете. Мердок, Кеон. (1-е изд.). Дели [Индия]: College Publishing House. ISBN 978-81-323-1280-2. OCLC  789644329.
  13. ^ Цинк, Томас (октябрь 2020 г.). «Анализ и эффективная классификация трафика обмена файлами P2P». Университет Констанца .

Дальнейшее чтение

  • Количественный анализ трафика сети Gnutella - Zeinalipour-Yazti, Folias - 2002
  • Ползающая Gnutella: извлеченные уроки - Дешен, Вебер, Дэвисон - 2004
  • Аспекты безопасности Napster и Gnutella Стивен М. Белловин 2001
  • Брандмауэры и безопасность Интернета: Отпор коварным хакерам, второе издание
  • Дасвани, Нил; Гарсиа-Молина, Гектор. DoS-атаки Query-Flood в Gnutella
  • Спецификация протокола eMule, авторы — Дэнни Биксон и Йорам Кулбак из HUJI.
  • Проект eMule Официальный сайт
  • eMule на SourceForge ( SourceForge ) Содержит архивы прошлых версий eMule
  • Список разрешенных eMule-Mods
Взято с "https://en.wikipedia.org/w/index.php?title=Конфиденциальность_в_сетях_общего_доступа_к_файлам&oldid=1243095298"