В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Системы обмена файлами Peer-to-Per (P2P), такие как Gnutella , KaZaA и eDonkey / eMule , стали чрезвычайно популярными в последние годы, с предполагаемым количеством пользователей в миллионах. В научном исследовании был проанализирован протокол Gnutella и eMule и обнаружены слабые места в протоколе; многие из проблем, обнаруженных в этих сетях, являются фундаментальными и, вероятно, распространены в других сетях P2P. [1] Пользователи сетей обмена файлами, таких как eMule и Gnutella, подлежат мониторингу своей активности. Клиентов можно отслеживать по IP-адресу, имени DNS, версии программного обеспечения, которые они используют, файлам, которыми они делятся, запросам, которые они инициируют, и запросам, на которые они отвечают. [1] Клиенты также могут делиться своими личными файлами в сети без уведомления из-за неподходящих настроек. [2]
Многое известно о структуре сети, схемах маршрутизации, производительности нагрузки и отказоустойчивости P2P-систем в целом. [3] Это может показаться удивительным, но протокол eMule не обеспечивает особой конфиденциальности для пользователей, хотя это P2P-протокол, который, как предполагается, должен быть децентрализованным. [4]
eMule — один из клиентов, реализующих сеть eDonkey. Протокол eMule состоит из более чем 75 типов сообщений. Когда клиент eMule подключается к сети, он сначала получает список известных серверов eMule, который можно получить из Интернета. Несмотря на то, что существуют миллионы клиентов eMule, серверов существует лишь небольшое количество. [5] [6] Клиент подключается к серверу с помощью TCP-соединения. Оно остается открытым, пока клиент подключен к сети. После подключения клиент отправляет список своих общих файлов на сервер. Таким образом, сервер создает базу данных с файлами, которые находятся на этом клиенте. [7] Сервер также возвращает список других известных серверов. Сервер возвращает клиенту идентификатор, который является уникальным идентификатором клиента в системе. Сервер может генерировать ответы на запросы только для клиентов, которые напрямую подключены к нему. Загрузка выполняется путем разделения файла на части и запроса части каждому клиенту. [ необходима цитата ]
В протоколе Gnutella V0.4 все узлы идентичны, и каждый узел может выбрать подключение к любому другому. [8] Протокол Gnutella состоит из 5 типов сообщений: запрос на поиск плитки. Сообщения запросов используют механизм лавинной рассылки, т. е. каждый узел, который получает запрос, пересылает его по всем своим смежным ссылкам узлов графа. [9] Узел, который получает запрос и имеет соответствующий файл, отвечает сообщением о попадании запроса. Поле количества переходов в заголовке ограничивает время жизни сообщения. [ необходима цитата ] Сообщения Ping и Pong используются для обнаружения новых узлов, которые могут быть связаны с фактической загрузкой файла, выполняемой путем открытия соединения TCP и использования механизма HTTP GET. [10] [11]
Протокол Gnutella V0.6 включает несколько модификаций: Узел имеет один из двух режимов работы: «узел листа» или «ультрапир». [ требуется цитата ] Изначально каждый узел запускается в режиме узла листа, в котором он может подключаться только к ультрапирам. Узлы листа отправляют запрос ультрапиру, ультрапир пересылает запрос и ждет ответов. Когда у узла достаточно пропускной способности и времени безотказной работы, узел может стать ультрапиром. [ требуется цитата ] Ультрапиры периодически отправляют своим клиентам запрос на отправку списка с общими файлами, которые у них есть. Если поступает запрос со строкой поиска, которая соответствует одному из файлов в листьях, ультрапир отвечает и указывает на определенный лист. [ требуется цитата ]
В версии 0.4 протокола Gnutella ультрапир, который получает сообщение от конечного узла (сообщение с нулевым количеством переходов), точно знает, что сообщение было отправлено с этого конечного узла. [ необходима цитата ]
В версии 0.6 протокола, если ультрапир получает сообщение от ультрапира с нулевым количеством переходов, то он знает, что сообщение отправлено ультрапиром или одним из его листьев (среднее количество листьев, подключенных к ультрапиру, составляет 200). [ необходима цитата ]
Многие клиенты Gnutella имеют функцию HTTP-монитора. Эта функция позволяет отправлять информацию об узле на любой узел, который поддерживает пустой HTTP-запрос, и получать ответ. [ требуется цитата ] Исследования показывают, что простой краулер, подключенный к сети Gnutella, может получить из начальной точки входа список IP-адресов, которые подключены к этой точке входа. [ требуется цитата ] Затем краулер может продолжить запрашивать другие IP-адреса. Академическое исследование провело следующий эксперимент: в Нью-Йоркском университете обычный программный клиент Gnucleus был подключен к сети Gnutella как конечный узел с отличительным прослушивающим TCP-портом 44121. В Еврейском университете в Иерусалиме, Израиль, краулер работал в поисках клиента, прослушивающего порт 44121. Менее чем за 15 минут краулер нашел IP-адрес клиента Gnucleus в Нью-Йоркском университете с уникальным портом. [ требуется цитата ]
Если пользователь подключился к сети Gnutella, скажем, в течение последних 24 часов, IP-адрес этого пользователя может быть легко получен хакерами, поскольку функция мониторинга HTTP может собрать около 300 000 уникальных адресов в течение 10 часов. [ необходима цитата ]
Глобально уникальный идентификатор ( 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 . Также существует шифрование данных и использование косвенных соединений ( смешанных сетей ) для обмена данными между одноранговыми узлами. [ требуется цитата ] Таким образом, весь трафик анонимизируется и шифруется. К сожалению, анонимность и безопасность достигаются ценой гораздо более низких скоростей, и из-за того, что эти сети являются внутренними, в настоящее время там все еще меньше контента. Однако это изменится, как только появится больше пользователей. [ требуется цитата ]
{{cite web}}
: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )