Обнаружены источники мусорного P2P-траффика

отметили
16
человек
в архиве
Обнаружены источники мусорного P2P-траффика
В течении последних нескольких недель специалисты польской Computer Emergency Response Team наблюдали любопытное обстоятельство — пользователи протокола BitTorrent рискуют вместо скачиваемых файлов получить невоспроизводимый бинарный файл, поскольку в сети обнаружились многочисленные источники поддельного P2P-траффика, который выдаёт себя за популярные файлы, наиболее активно скачиваемые пользователями торрент-трекеров. Большинство необычных пиров размещены в России, Канаде, Китае, Австралии и США, IP-адреса которых, вероятно, также поддельные. Также польских специалистов удивило, что наиболее часто «мусор» скачивается пользователями, которые интересуются популярными российскими киноновинками вроде «Август. Восьмого» или «Шпион».

Мало того, эксперты попытались скачать с нескольких популярных торрент-трекеров упомянутые фильмы и обнаружили, что число сидеров, раздающих фильм «Август. Восьмого», на порядок превышает число пиров, пытающихся его скачать. При этом ситуация с сериалом «Затерянные» (Lost) абсолютно иная.
Добавил Дядя Ваня Дядя Ваня 21 Мая 2012
проблема (3)
Комментарии участников:
AnatolyV
+5
AnatolyV, 21 Мая 2012 , url
Из комментов в первоисточнике:
По ссылке очередной шедевр маркетологов, теперь со вкусом сколково. Мало того, что здесь упоминается атака на сидов, так еще и сами признаются в DDoS.

К сожалению, авторы плохо представляют как работают торренты вообще, поэтому сильно позорятся. Чего только стоит «они начинают искать адреса, откуда предлагается скачивать определенный фильм» — а таких адресов может быть тысячи, ведь каждый пир (даже не сид) может раздавать кусочки (pieces) торрента. Учитывая, что на DDoS нужно превосходящее количество ресурсов, товарищи должны иметь по достаточно толстому каналу на каждого пира. Как вы считаете, это реально вообще? Да и на уровне же приложения атаковать сложнее — в протоколе предусмотрен choke, когда пиру надоест с ним общаться, то запросы просто перестанут обрабатываться.

Но тут случай другой — скачиваются нули. По спецификации, проверить фейк ли это можно только после скачивания 1 целого кусочка (порой они по 16 мегабайт), если мы получили фейк — клиент отправляется в блеклист. Не потому, что это грязные копирасты, вовсе нет — возможно на каком-то клиенте посыпалась ФС, а момент рехеша был давно, вот оно и отправляет мусор. Когда я делал свой торрент-клиент, то сталкивался с повреждением данных как раз в объеме 4кб на 500 метровый файл (кто не знает, в торрентах минимальной единицей обмена являются блоки, по умолчанию 16кб каждый, поэтому сказать что 4кб прилетело от отравленного сида нельзя, а вот на битый кластер ФС похоже больше). И все нормальные торрент-клиенты блеклистят такое, минут эдак на 5. Залезть в блеклист можно и за некорректный ответ, скажем за блок, которого не запрашивали, за множество подключений с одного IP и прочие шалости.

Кстати, в DHT много узлов, отвечающие пакетом с values практически на любой запрос, таким образом находим тысячи IP пиров, но внутри этих IP — тишина, никто не отвечает по указанному адресу. Или, еще хуже, порой приходят пиры с 80, 25, 22 и прочими известными портами, такое нормальные клиенты тоже блеклистят незамедлительно. А вот проверить валидность IP порой сложно, ибо легитимный клиент может быть на забитом канале и хендшейк будет идти секунд 10, из-за чего массовую проверку устроить сложно.

В своем торрент-клиенте я реализовывал следующую схему: один кусочек качается сразу с множества пиров (причем иногда запрос на 1 блок уходит сразу 2-3-10 пирам, если в начале был послан медленному клиенту), причем логируется от кого и какой блок получен, когда кусочек заполнен — проверяем его хеш, если все верно — идем дальше, дропая все логи, если нет — повторяем скачивание с нуля, но при этом проверяем с ранее полученными данными. Если блоки совпадают у 2 пиров (значение можно и повыше поставить, до кучи проверку на подсети сделать), то считаем этот блок корректным и больше к нему не обращаемся, и так пока не найдем во второй копии каждого блока — делаем валидацию. Если и тут хеш не сходится, опять ищем, но только среди тех блоков, в которые пришли отличающиеся данные. К сожалению, метод создает много паразитного трафика в случае ошибок, ибо найти некорректные данные внутри кусочка, равно как и пира-вредителя сложно, но пока у меня проблем с этим не возникало. Обычно же торрент-клиенты отдают каждому пиру скачивание отдельного куска, дабы можно было легко проверить корректность данных и поблеклистить негодяя.


Войдите или станьте участником, чтобы комментировать