Насколько безопасна функция Flickr «отключить загрузку оригинального изображения»?

17

На странице настроек конфиденциальности Flickr есть настройка, озаглавленная «Кто может получить доступ к вашим исходным файлам изображений?». Если я установлю для этого параметра что-либо, кроме «Кто-нибудь» (например, «Только вы» или «Ваши контакты»), все же возможно ли неавторизованному пользователю получить доступ к исходному изображению, не предоставив ему URL-адрес для него? (Предположим, что моя исходная фотография имеет размер более 1024 пикселей, поэтому есть оригинальная версия, отличная от Большой версии. Также предположим, что она не лицензирована Creative Commons .)

Мне хорошо известно, что как только изображение появилось в их браузере, определенный пользователь может легко загрузить его независимо от каких-либо сдерживающих факторов (например, блокировщиков JavaScript), которые браузер пытается им помешать. Тем не менее, я считаю, что правильно

  1. Неавторизованный пользователь просто увидит страницу с ошибкой, если попытается просмотреть страницу исходного размера на Flickr (например, на этой странице ).

  2. Хотя URL этой страницы легко угадать (просто добавьте sizes/o/в конец обычного URL страницы с фотографией), URL фактического исходного файла изображения содержит случайный компонент и не может быть легко угадан.

Есть много из людей на Flickr и в других местах говоря , что отключить параметр загрузки бесполезно, но я не видел никаких доказательств. Кто-нибудь знает наверняка, что это можно обойти? Если вы скажете «да», я ожидаю, что вы докажете это, отправив мне оригинальный размер моего последнего изображения ! (Он предназначен для того, чтобы быть доступным только для друзей и семьи - не для вас, дядя Губер ...)

Немного контекста: я должен указать, что я не собираюсь воровать фотографии, я пытаюсь понять, насколько безопасны мои, особенно в отношении этой лазейки геозон, о которой было сообщено сегодня.

Марк Уитакер
источник
2
Обратите внимание, это не вопрос программирования: я не спрашиваю, как это можно сделать. Это вопрос фотографии: я хочу знать, защищены ли мои изображения на Flickr или есть доказательства обратного.
Марк Уитакер
Я могу загрузить любое изображение, которое вы нам разрешите увидеть, так что блокировать его довольно бесполезно. Не тратя времени на попытки взлома Flickr (и рискуя моей учетной записью и, ну, в общем, тюрьмой), не совсем легко сказать, можно ли получить ваш оригинал без разрешения.
Джон Каван
@ Джон Да, ваше первое предложение верно - я сказал то же самое в своем вопросе. Я никого не прошу попробовать взломать Flickr, просто интересно, видел ли кто-нибудь новости об известной уязвимости там.
Марк Уитакер
@ Марк, хороший вопрос.
мт

Ответы:

18

Я провел собственное расследование, используя собственную учетную запись flickr и незарегистрированный браузер.

Вот страница всех размеров для одной из моих фотографий .

До меня менялось "Кто может получить доступ к вашим исходным файлам изображений?" В разделе «Конфиденциальность и разрешения» пользователь Интернета может видеть ссылку « Оригинал » в дополнение к другим размерам. На этой странице был <img>тег, связанный с этим URL . На странице «Все размеры» также была ссылка « Загрузить оригинальный размер этой фотографии» . (Если вы проверите URL-адреса, обратите внимание, что в _dимени файла есть суффикс; Flickr увидит это и вызовет HTTP-заголовок, который говорит браузеру загрузить вместо отображения изображения).

Для сравнения, вот страница большого размера и соответствующий URL изображения .

Затем я изменил настройку конфиденциальности, очистил кеш в своем незарегистрированном браузере и перепроверил ссылки. Вот что я нашел:

  • Ссылка на исходную страницу размера Теперь перенаправляет на большой размер страницы . Это разумно.
  • Как и ожидалось, на странице «Все размеры» больше не было ссылок на исходный размер.
  • Я все еще был в состоянии загрузить изображение оригинального размера
    • Это немного удивительно. Это означает, что, хотя существуют ограничения на доступ к страницам, содержащим изображения, безопасность самих изображений отсутствует .
    • Как веб-разработчик я могу понять, почему они это сделали. Изображения являются большими и статичными и, вероятно, обслуживаются через сеть доставки контента. Это быстрее / эффективнее не проверять разрешения для файлов изображений; Вы можете просто разместить их на «тупом» веб-сервере.

Таким образом, как только URL-адрес исходного файла известен, невозможно остановить загрузку оригинальной версии файла (если не считать его полного удаления ... и это может даже не сработать. Я не пробовал).

Последний вопрос: насколько правдоподобны исходные URL-адреса файлов? Вот они рядом:

Large:    http://farm7.static.flickr.com/6126/6044833128_cc02cf41e3_b.jpg
Original: http://farm7.static.flickr.com/6126/6044833128_3b8eac89d7_o.jpg

Таким образом, суффикс ( _bили _o) определяет размер, но есть также другой элемент в имени файла, который изменяется в зависимости от размера. Вы не можете просто изменить суффикс для изменения размеров. Вот URL для Большой версии с суффиксом, переключенным на _o; это не работает

Если бы я был Flickr, я бы удостоверился, что этот средний элемент был абсолютно случайным для каждого размера фотографии, и, следовательно, его невозможно угадать, за исключением атаки методом грубой силы. Его длина составляет 40 бит, поэтому есть много (2 ^ 40, ~ 1 триллион) возможных вариантов. Маловероятно, что кто-либо потрудится перебрать этот сегмент, чтобы получить версию файла в оригинальном размере ... когда у него уже есть большая версия.

Итак, если вы отключили функцию «Загрузка исходного файла» и не указали URL-адреса исходных изображений , я бы сказал, что функция Flickr довольно безопасна. Если это сломается, это в значительной степени ваша собственная вина.

Крейг Уокер
источник
6
Есть одно исключение из моего заключения "это твоя вина". Как упомянул @Imre, Flickr обычно использует незащищенные HTTP-соединения, а это означает, что любой пользователь между вашим браузером и Flickr (вашей компанией, вашим интернет-провайдером) может прослушивать ваши URL-адреса. Если вы просматриваете страницу «Исходный размер», вы получите URL-адрес исходного размера изображения; Злоумышленник может прослушать это и сохранить URL-адрес. Однако, если кто-то прослушивает ваш HTTP-трафик, у IMO возникнут большие проблемы, чем обеспечить безопасность оригиналов Flickr.
Крейг Уокер,
Спасибо за предоставление ссылок, теперь я смог проверить заголовки кэширования!
Imre
2
Вам даже не нужно просматривать страницу оригинального размера; просмотрите что-нибудь на Flickr, и снифер сможет помочь вам с сессионным cookie, который вы только что использовали.
Imre
2
Это отличный ответ: +1 за ваш аналитический подход и четкие объяснения. Я действительно знал, что исходный URL-адрес изображения не прошел проверку подлинности (то есть доступен любому, у кого есть URL-адрес) - это подразумевается в моем вопросе («возможно ли все-таки [...], чтобы кто-то не дал ему URL-адрес? »), Но спасибо за упоминая это явно. :)
Марк Уитакер
@ Марк Уитакер: Всегда пожалуйста. Я хотел прояснить разницу между URL-адресом изображения и URL-адресом страницы, на которой содержалось изображение ... тем более, что у него есть права доступа.
Крэйг Уокер,
3

Эта страница (на которую ссылается плагин Firefox, который опубликовал ткач ), хорошо подытоживает ситуацию, включая «случайный компонент» в URL-адресе изображения, который я упомянул в вопросе.

Автор отмечает:

Это означает, что даже если вы столкнетесь с проблемой получения имени файла для одного из меньших размеров, вы не сможете угадать имя файла оригинальной фотографии , и это отличная новость для фотографов, обеспокоенных кражей изображений.

«Не могу угадать» - отлично! :) Но затем он продолжает:

Круто то, что после того, как Flickr рандомизировал имена файлов, стало почти невозможно угадать URL для исходного размера файла.

« Рядом с невозможным» - не так уж и здорово! :( Но я предполагаю, что он просто означает, что при наличии достаточного количества времени и вычислительной мощности вы можете взломать его с помощью грубой атаки . Если это так, то для меня этого достаточно: я воспользуюсь этими шансами. :)

Марк Уитакер
источник
2
меня не беспокоит атака грубой силой на одно изображение, которое вы публикуете (это не значит, что оно того не стоит :). Больше беспокойства (по крайней мере для меня), если обнаружится какая-то другая дыра, кто-то из flickr совершит ошибку и будет опираться на неправильный рычаг, или они изменят свою политику (из-за изменения взглядов, приобретения людьми с другими идеи и т. д.).
мт
2
почти невозможное, вероятно, должно быть задумано так, как будто это не является строго невозможным, но взлом генератора случайных чисел потребует какого-то серьезного изъяна в самом гене случайных чисел (не невозможно, что-то похожее, к сожалению, произошло с Debian, см. debian.org/security/ 2008 / dsa-1571 ), вероятно, требуя при этом заметного количества догадок, которые сервер flickr должен определить как подозрительные.
Франческо
Теперь вы находитесь в сфере усилий / риска, чтобы вознаградить, и я сомневаюсь, что на Flickr есть много, что оправдало бы риск. Это не оценка качества изображения, это просто оценка того, что воссоздание изображения может потребовать меньших усилий и значительно меньшего риска. Это также сделано рекламной индустрией.
Джон Каван
3

Flickr по умолчанию использует небезопасный веб-протокол (HTTP), поэтому любой доступ к изображениям можно получить после перехвата сеанса от человека, который может получить к ним доступ. Для перехвата сеанса злоумышленник должен иметь возможность прослушивать сетевой трафик жертвы, например, посредством доступа к той же точке беспроводного доступа или некоторому промежуточному сетевому узлу. После того, как Firesheep был выпущен, риск стал довольно значительным в общественных местах - плагин Firefox, который автоматически захватывает файлы cookie, используемые другими людьми в той же беспроводной области, и представляет их для удобства использования.

Кроме того, изображения поставляются с заголовками, которые позволяют промежуточным веб-кэшам хранить их годами. Таким образом, получение доступа к просмотру веб-кэша может также обеспечить доступ к исходным изображениям, которые были просмотрены через этот кэш.

Я не собираюсь выслеживать сетевое подключение или кэши ваших или ваших друзей, поэтому нет, я не собираюсь отправлять вам ваше оригинальное изображение. Но чтобы не рисковать, лучше всего не загружать оригинальные изображения.

Имре
источник
4
Photo.SE также использует HTTP, так что на самом деле этот пост, возможно, был написан кем-то другим, кроме меня :)
Imre
2

Если он отображается, конечно, вы можете сохранить его. Если оригиналы защищены, то нет, если URL не известен. Итог довольно безопасный и нет, я не думаю, что его можно скачать.

Flickr-оригинальный светлячок плагин кажется на первом , чтобы сделать это (я пассивно считать так), но на самом деле загружает большой размер , если вы защитили оригинал от публичного просмотра. Я загрузил 1024 x 580 версию вашей фотографии с этим плагином.

м.т.
источник
Нет, если оригинал установлен, чтобы не допустить этого. Взлом URL был удален, он просто перенаправляет вас на самый большой из доступных сейчас. Это то, что утверждает автор плагина.
Джон Каван
1
Хммм ... да, ты прав, @Джон. Я сказал «комментарий», судя только по «оригиналу» в названии плагина. :)
мт
@bill Вы загрузили оригинальное изображение размером 1200 пикселей? Я так не думаю: на той странице, на которую вы ссылались, указано « Предостережения: это не будет работать с изображениями, которые фотограф отметил« Все права защищены »или отключил загрузку». Возможно, у вас была большая версия размером 1024px, но вопрос очень конкретно относится к размеру оригинала.
Марк Уитакер
1
@ Марк, как я уже сказал, я скачал изображение размером 1024 x 580. Возможно я бросил оружие, и мой начальный проход в ответе не утверждал это. Но, да, 1024 это то, что он скачал.
мт
1
Казалось бы, да. :) Из того, что я могу сказать, flickr очень серьезно относится к владению изображением и тщательно проводит границу между обменом, публичным доступом и вашими правами. Мнения об этом расходятся, и они допускают ошибки, но это мое общее мнение. С другой стороны, я не доверяю этому достаточно, чтобы загрузить мои оригинальные изображения.
мт
-1

Плагин Firefox Tamperdata позволит обнаружить защищенный URL для изображения. Это тривиально. Единственный уровень безопасности, кажется, мрак.

Генри Дорсетт Кейс
источник
3
В самом деле? Можете ли вы доказать это, загрузив оригинальную (2400x1600) размерную версию этого изображения ? Я подозреваю, что вы не совсем правильно прочитали вопрос.
Марк Уитакер
-3

Вот простой способ сделать это (используя Safari) без всего того жаргонного слова, которое вы, ребята, выкидываете туда. Перейти на страницу всех изображений. После того, как вы включили раскрывающееся меню «Разработка», перейдите в «Показать веб-инспектора». В левой части окна разработчика найдите выпадающие изображения. Нажмите на это и найдите строку с длинным номером. Когда вы нажмете на это, изображение появится в окне разработчика. В дальнем правом углу вы увидите URL изображения. Скопируйте и вставьте URL-адрес в новом окне браузера, и изображение появится и может быть загружено оттуда. ИЛИ просто перетащите изображение из окна разработчика. (Вероятно, его имя будет изменено на Неизвестно.

Снимок экрана моей методологии

Greg
источник
3
Вы либо неправильно поняли вопрос, либо неправильно поняли проблему. Я четко заявил: «Я хорошо знаю, что как только изображение появилось в их браузере, решительный пользователь может легко загрузить его» . Вы скачали только Большой размер, а не Оригинал. Попробуйте прочитать вопрос еще раз, и я уверен, что вы поймете, о чем я спрашивал. К сожалению для вас, "жаргон" есть причина!
Марк Уитакер