Вчера приключилась интересная история, в которой оказался замешан Dropbox. Один из пользователей сервиса захотел поделиться ссылкой на файл из своей папки, но не смог этого сделать. В появившемся сообщении содержалась информация о том, что файл был заблокирован ввиду того, что нарушает авторские права. Тут надо отметить, что ссылку планировалось дать лишь одному человеку в переписке с помощью мессенджера, но даже этого сделать не удалось. Хоть автор сообщения и не имел никаких претензий к Dropbox, а просто поделился интересным наблюдением, пользователи сервиса не на шутку обеспокоились, что вылилось в 3000+ ретвитов за ночь и статьи в профильной прессе. Сразу же возникли подозрения в том, что Dropbox подглядывает за своими пользователями. Как это работает Как известно, в Dropbox есть возможность создания публичных ссылок для шэринга файлов. Соответственно, представим себе ситуацию, в которой какие-то нарушающие копирайт файлы гуляют по сети в виде публичных ссылок Dropbox. Компания рассудила, что в таком случае к ней могут быть предъявлены претензии. Чтобы этого избежать, была реализована система, которая умеет блокировать шэринг заранее определенных файлов. При этом сами файлы не удаляются из пользовательских папок в облаке, блокируется лишь создание публичной ссылки на них. Dropbox проверяет хэш файла, которым хотят поделиться, и если он совпадает с хэшем из списка запрещенных файлов, то в таком случае создать публичную ссылку не выйдет. Посетители нашего бутикового портала про IT-стартапы, конечно, знают, что такое хэширование, но для непосвященных коротко опишем суть. Если «прогнать» файл через специальную хеш-функцию, то она сгенерирует некий набор символов, причем для другого файла набор будет отличаться. При этом, зная только хэш, узнать, какому файлу он соответствует, невозможно. Таким образом эту строку символов можно использовать для того, чтобы понять, имеете ли вы дело с файлом, идентичным искомому. У Dropbox есть хэши всех загружаемых на сервера компании файлов, так что сличить их со списком хэшей запрещенного контента не составляет никакого труда. При этом изучать сами файлы пользователей никакой необходимости нет. Довольно простое и красивое решение. А вот официальное заявление компании насчет того самого твита: Автор: Александр Лашков Дата: 31.03.2014 Источник: http://www.siliconrus.com/2014/03/dropbox-hashing/
Что-то мне подсказывает, что вскоре будет уйма плагинов/софтов, позволяющих обойти это ограничение путём добавления рандомного байта (-ов) в конец файла.
Можно запаковать файл в архив под паролем, затем запаковать архив в еще один архив, без пароля, а еще кинуть в этот внешний архив txt с паролем. Вряд ли дропбокс будет просматривать руками каждый файл, это только если стук будет.
Зачем же так извращаться? Изменение/добавление/удаление хотя-бы одного байта в исходных данных полностью меняет результат хеш-функции. Соот-но по базе хешей такой файл будет пробить невозможно.
А кто говорил о полном сравнении? Например взять музыкальные файлы, в тэгах можно писать что угодно, но сама песня не изменится. Следовательно нужно определять формат файла, парсить содержимое, откинуть хидер и только потом хэшировать. Так что замена одного байта прокатит только в том случае, если знать где его менять. Т.е. в самом содержимом, о котором так пекутся копирасты.
по поводу хеша файла бред, имхо хешь любого файла можно изменить, а значит миллион хешей одного файла никто хранить не будет. Как то по другому реализована проверка файла, но возможно первоначально проверяется именно хешь.
Думаю, именно хеш используется. Возможно файл хешируется не полностью, а только какая то полезная часть без заголовков, как писали выше. Возможно также вычисляется хеш файлов в архивах без пароля.
Делать хеши файлов тупая, относительно долгая(особенно если файл имеет большой размер) и бесполезная затея. Гораздо проще получить информацию из метаданных, и гораздо эффективней.
Да-да, конечно. На самом деле вычисляется хеш для всех файлов (блоков). http://habrahabr.ru/post/163189/
вот тут http://habrahabr.ru/post/183554/ расписано как не зная этого самого байта менять музыку как хочешь. мне это все же больше нравится.
Ну Эдвард Сноуден не зря говорил что пользоваться Google, Dropbox = забыть о своей "конфиденциальности и безопасности" в интернете.
Можно запаковать файл в архив под паролем, затем запаковать архив в еще один архив, без пароля, а еще кинуть в этот внешний архив txt с паролем. Вряд ли дропбокс будет просматривать руками каждый файл, это только если стук будет.