Кажется, что было бы тривиально создать модифицированного клиента, который распространяет вредоносное ПО вместо фактического файла, который должен был быть отправлен. Как BitTorrent защищается от этого?
1 ответ
В bittorent передаваемые данные разбиваются на «кусочки». Размер является переменным и настраивается создателем торрента. Каждый «фрагмент» в торренте содержит хэш SHA1 данных, содержащихся внутри. Когда торрент-клиент загружает «кусок», он проверяет хэш SHA1, чтобы увидеть, нет ли каких-либо повреждений или взлома. Любые несоответствия SHA1 приводят к тому, что торрент-клиент сбрасывает часть. Некоторые клиенты / интерфейсы (на ум приходит RuTorrent) показывают статистику того, сколько данных было «потрачено впустую», то есть количество данных, содержащихся в кусках, которые, как обнаружил торрент-клиент, содержат несоответствия SHA1.
В результате довольно трудно создать поток, содержащий вредоносные файлы. Вам придется делать коллизии SHA1-хешей и изменять вещи так, чтобы каждый фрагмент и контрольная сумма метаданных торрента проверялись после замены не вредоносных фрагментов на вредоносные.
Дополнительное примечание: в настоящий момент считается, что SHA1 ослаблен (см. Http://threatpost.com/microsoft-warns-customers-away-from-sha-1-and-rc4/102902) до такой степени, что Google (Chrome) и некоторые другие компании начинают переходить на другие алгоритмы.