Jak bezpieczna jest funkcja „wyłącz pobieranie oryginalnego obrazu” Flickr?

17

Na stronie ustawień prywatności Flickr znajduje się ustawienie „Kto może uzyskać dostęp do oryginalnych plików obrazów?”. Jeśli ustawię to na wartość inną niż „Ktoś” (np. „Tylko ty” lub „Twoje kontakty”), czy nadal istnieje możliwość uzyskania dostępu do oryginalnego obrazu przez nieuprawnionego użytkownika bez podania adresu URL? (Załóżmy, że moje oryginalne zdjęcie jest większe niż 1024px, więc istnieje Oryginalna wersja różniąca się od Wersji Dużej. Załóżmy również, że nie ma licencji Creative Commons ).

Zdaję sobie sprawę, że gdy obraz pojawi się w przeglądarce, zdeterminowany użytkownik może go łatwo pobrać, niezależnie od jakichkolwiek czynników zniechęcających (np. Blokujących JavaScript), które przeglądarka próbuje im narzucić. Uważam jednak, że następujące informacje są prawidłowe:

  1. Nieautoryzowany użytkownik zobaczy tylko stronę błędu, jeśli spróbuje wyświetlić stronę rozmiaru oryginalnego na Flickr (np. Tę stronę ).

  2. Chociaż adres URL tej strony jest łatwy do odgadnięcia (wystarczy dodać sizes/o/na końcu zwykłego adresu URL strony ze zdjęciem), adres URL rzeczywistego oryginalnego pliku obrazu ma losowy komponent i nie można go łatwo odgadnąć.

Istnieje wiele od ludzi na Flickr i gdzie indziej mówiąc wyłączyć ustawienie pobierania jest bezużyteczny, ale nie widziałem żadnego dowodu. Czy ktoś wie na pewno, że można go ominąć? Jeśli powiesz tak, spodziewam się, że to udowodnisz, wysyłając mi oryginalny rozmiar mojego najnowszego zdjęcia ! (Ma być dostępny tylko dla przyjaciół i rodziny - więc nie ty, wuj Goober ...)

Trochę kontekstu: powinienem zaznaczyć, że nie zamierzam kraść zdjęć, staram się zrozumieć, jak bezpieczne są moje kopalnie, szczególnie w odniesieniu do luki w geofenceach , o której dziś mówiono .

Mark Whitaker
źródło
2
Uwaga: to nie jest pytanie programowe: nie pytam, jak to zrobić. To pytanie dotyczące fotografii: chcę wiedzieć, czy moje zdjęcia są bezpieczne na Flickr, czy też istnieją dowody przeciwne.
Mark Whitaker
Mogę pobrać dowolny obraz, który pozwalasz nam zobaczyć, więc jest to dość bezużyteczne, aby wypróbować blok. Bez poświęcania czasu na próbę włamania się do Flickr (i zaryzykowanie mojego konta i, no cóż, więzienia), nie jest szczególnie łatwo stwierdzić, czy oryginał można odzyskać bez pozwolenia.
John Cavan
@John Tak, twoje pierwsze zdanie jest poprawne - stwierdziłem to samo w moim pytaniu. Nie proszę nikogo, by spróbował włamać się do Flickr, tylko zastanawiam się, czy ktoś widział wiadomości o znanej luce w zabezpieczeniach.
Mark Whitaker
@ Mark, dobre pytanie.
mc

Odpowiedzi:

18

Przeprowadziłem własne dochodzenie, korzystając z własnego konta Flickr i niezalogowanej przeglądarki.

Oto strona Wszystkie rozmiary jednego z moich zdjęć .

Przede mną zmiana „Kto może uzyskać dostęp do oryginalnych plików obrazów?” w ustawieniach Prywatność i uprawnienia ogólny użytkownik Internetu może zobaczyć link „ Oryginalny ” oprócz innych rozmiarów. Ta strona miała <img>tag, który prowadził do tego adresu URL . Strona „Wszystkie rozmiary” zawierała również link Pobierz oryginalny rozmiar tego zdjęcia . (Jeśli sprawdzisz adresy URL, zwróć uwagę, że w _dnazwie pliku znajduje się sufiks; Flickr zobaczy to i uruchomi nagłówek HTTP, który mówi przeglądarce, aby pobierała zamiast wyświetlać obraz).

Dla porównania, oto strona Duży rozmiar i odpowiedni adres URL obrazu .

Następnie zmieniłem ustawienie prywatności, wyczyściłem pamięć podręczną w mojej niezalogowanej przeglądarce i ponownie sprawdziłem linki. Oto, co znalazłem:

  • Link do oryginalnej strony size teraz przekierowuje do strony dużego rozmiaru . To uzasadnione.
  • Strona Wszystkie rozmiary nie miała już linków w rozmiarze oryginalnym, zgodnie z oczekiwaniami.
  • Nadal byłem w stanie pobrać obraz w oryginalnym rozmiarze
    • To trochę zaskakujące. Oznacza to, że chociaż istnieją ograniczenia dostępu na stronach zawierających obrazy, nie ma zabezpieczeń na samych obrazach .
    • Jako programista stron internetowych rozumiem, dlaczego prawdopodobnie to zrobili. Obrazy są duże i statyczne i prawdopodobnie są dostarczane za pośrednictwem sieci dostarczania treści. Szybsze / bardziej wydajne jest nie sprawdzanie uprawnień do plików obrazów; w ten sposób możesz po prostu hostować je na „głupim” serwerze internetowym.

Tak więc, gdy adres URL oryginalnego pliku jest znany, nie ma sposobu, aby powstrzymać kogoś przed pobraniem oryginalnej wersji pliku (bez całkowitego usunięcia go ... a to może nawet nie zadziałać. Nie próbowałem).

Ostatni problem: w jaki sposób można zgadnąć oryginalne adresy URL plików? Oto one obok siebie:

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

Zatem przyrostek ( _blub _o) określa rozmiar, ale w nazwie pliku znajduje się również inny element, który różni się w zależności od rozmiaru. Nie można po prostu zmienić sufiksu, aby zmienić rozmiar. Oto adres URL wersji Large z sufiksem przełączonym na _o; to nie działa.

Gdybym był Flickr, upewniłbym się, że ten środkowy element był całkowicie losowy dla każdego zdjęcia i dlatego był niewygadany, z wyjątkiem ataku brutalnej siły. Ma długość 40 bitów, więc jest wiele (2 ^ 40, ~ 1 bilion) możliwych opcji. Jest bardzo mało prawdopodobne, aby ktokolwiek zadał sobie trud brutalnego użycia tego segmentu tylko po to, aby uzyskać wersję oryginalnego rozmiaru pliku ... kiedy ma już dużą wersję.

Tak więc, dopóki wyłączysz funkcję „Pobieranie oryginalnego pliku” i nie udostępniasz adresów URL oryginalnych obrazów , powiedziałbym, że funkcja Flickr jest dość bezpieczna. Jeśli się zepsuje, to w zasadzie twoja wina.

Craig Walker
źródło
6
Jest jeden wyjątek od mojej konkluzji „to twoja wina”. Jak wspomniano w @Imre, Flickr zazwyczaj używa niezabezpieczonych połączeń HTTP, co oznacza, że ​​każdy między twoją przeglądarką a Flickr (twoja firma, twój dostawca usług internetowych) może nasłuchiwać na twoich adresach URL. Jeśli przejrzysz stronę Rozmiar oryginalny, otrzymasz adres URL obrazu w oryginalnym rozmiarze; atakujący może to wąchać i zapisać adres URL. Jeśli jednak ktoś nasłuchuje na Twoim ruchu HTTP, IMO masz większe problemy niż bezpieczeństwo swoich oryginałów Flickr.
Craig Walker
Dzięki za udostępnienie linków mogłem teraz zweryfikować nagłówki buforowania!
Imre
2
Nie musisz nawet przeglądać strony rozmiaru oryginalnego; przeglądaj wszystko na Flickr, a sniffer może pomóc sobie z właśnie używanym plikiem cookie sesji.
Imre
2
To świetna odpowiedź: +1 za podejście analityczne i jasne wyjaśnienia. Wiedziałem, że oryginalny adres URL obrazu nie jest uwierzytelniony (tj. Dostępny dla każdego, kto ma adres URL) - co sugeruje moje pytanie („czy nadal jest możliwe [...] bez podania adresu URL? ”), Ale dziękuję za wyraźnie o tym wspominając. :)
Mark Whitaker,
@Mark Whitaker: Nie ma za co. Chciałem wyjaśnić różnicę między adresem URL obrazu a adresem URL strony, która zawierała obraz ... zwłaszcza, że ten ma dołączone uprawnienia.
Craig Walker
3

Ta strona (do której link znajduje się we wtyczce Firefoksa opublikowanej przez tkacza rachunków ) dobrze podsumowuje sytuację, w tym „losowy składnik” w adresie URL obrazu, o którym wspomniałem w pytaniu.

Autor zauważa:

Oznacza to, że nawet jeśli masz problem z uzyskaniem nazwy pliku dla jednego z mniejszych rozmiarów, nie możesz odgadnąć nazwy pliku oryginalnego zdjęcia , a to świetna wiadomość dla fotografów martwiących się kradzieżą obrazu.

„Nie mogę się domyślić” - świetnie! :) Ale potem mówi:

Fajne jest to, że po losowym losowaniu nazw plików przez Flickr niemal niemożliwe było odgadnięcie adresu URL dla oryginalnego rozmiaru pliku.

Obok niemożliwego” - nie tak świetnie! :( Ale zakładam, że on po prostu oznacza, że ​​mając wystarczająco dużo czasu i mocy obliczeniowej, możesz go złamać atakiem brutalnej siły . Jeśli tak, to dla mnie wystarczy: wezmę te szanse. :)

Mark Whitaker
źródło
2
nie martwiłbym się atakiem brutalnej siły na pojedyncze zdjęcie, które publikujesz (to nie znaczy, że nie są tego warte :). Największą obawą (przynajmniej dla mnie) jest to, że jeśli zostanie odkryta jakaś inna dziura, ktoś w Flickr popełni błąd i oprze się na niewłaściwej dźwigni lub zmieni swoje zasady (z powodu zmiany zdania, przejęcia przez ludzi z innymi pomysły itp.).
mc
2
prawdopodobnie niemożliwe jest prawdopodobnie niemożliwe, ale złamanie generatora liczb losowych wymagałoby albo poważnej wady w samym losowym genie (nie niemożliwe, coś podobnego niestety wydarzyło się w przypadku Debiana, patrz debian.org/security/ 2008 / dsa-1571 ), prawdopodobnie wymagając w tym procesie wyraźnej liczby domysłów, które serwer Flickr powinien wykryć jako podejrzane.
Francesco
Teraz jesteś w obszarze wysiłku / ryzyka w celu nagradzania i wątpię, aby Flickr miał wiele powodów, które uzasadniałyby ryzyko. To nie jest ocena jakości obrazu, to tylko ocena, że ​​odtworzenie obrazu może wymagać mniejszego wysiłku i znacznie mniejszego ryzyka. Zostało to również zrobione przez przemysł reklamowy.
John Cavan,
3

Flickr domyślnie korzysta z niezabezpieczonego protokołu internetowego (HTTP), więc dostęp do obrazów można uzyskać po przejęciu sesji przez osobę, która ma do nich dostęp. W celu przejęcia sesji osoba atakująca musi mieć możliwość podsłuchu ruchu sieciowego ofiary, np. Poprzez dostęp do tego samego bezprzewodowego punktu dostępu lub jakiegoś pośredniego węzła sieci. Ryzyko stało się dość znaczące w publicznych miejscach bezprzewodowych po wydaniu Firesheep - wtyczki Firefox, która automatycznie pobiera pliki cookie używane przez inne osoby w tym samym obszarze bezprzewodowym i przedstawia je dla łatwego użycia.

Ponadto obrazy zawierają nagłówki, które pozwalają pośrednim pamięciom podręcznym przechowywać je przez lata. Tak więc uzyskanie dostępu do przeglądania pamięci podręcznej sieci może również zapewnić dostęp do oryginalnych obrazów, które były przeglądane przez tę pamięć podręczną.

Nie będę ścigał połączenia sieciowego ani pamięci podręcznej twojego lub twoich znajomych, więc nie, nie wyślę ci twojego oryginalnego obrazu. Aby jednak grać bezpiecznie, najlepiej jest nie przesyłać oryginalnych zdjęć.

Imre
źródło
4
Photo.SE używa również HTTP, więc tak naprawdę ten post mógł zostać napisany przez kogoś innego niż ja :)
Imre
2

Jeśli jest wyświetlany, oczywiście możesz go zapisać. Jeśli oryginały są chronione, to nie, chyba że adres URL jest znany. Dolna linia jest dość bezpieczna i nie , nie sądzę, że można ją pobrać.

Firefox plugin flickr-oryginalny wydaje na pierwszy to zrobić (i biernie przyjąć, tak), ale faktycznie pobiera duży rozmiar, jeśli już chroniony oryginały z publicznego wglądu. Za pomocą tej wtyczki pobrałem twoją wersję 1024 x 580.

bw
źródło
Nie, jeśli oryginał jest ustawiony tak, aby nie pozwalał na to. Hack URL został usunięty, po prostu odsyła Cię do największego dostępnego teraz. Tak twierdzi również autor wtyczki.
John Cavan
1
Hmmm ... tak, masz rację, @John. Powiedziałem „rzekomo” oceniając tylko na podstawie „oryginału” w nazwie wtyczki. :)
mc
@ bill Pobrałeś oryginalny obraz o rozdzielczości 1200px? Nie sądzę: ta strona, do której prowadzisz link, zawiera stwierdzenie „ Ostrzeżenia: To nie będzie działać na zdjęciach, które fotograf oznaczył jako„ Wszelkie prawa zastrzeżone ”lub zablokował pobieranie”. Być może pozwoliło to na posiadanie wersji 1024px Large, ale pytanie odnosi się bardzo konkretnie do rozmiaru oryginału.
Mark Whitaker
1
@ Mark, jak powiedziałem, pobrałem obraz 1024 x 580. Może podskoczyłem z pistoletu i moje pierwsze podanie na odpowiedź tego nie stwierdziło. Ale tak, pobrano 1024.
mc
1
Wygląda na to, że tak. :) Z tego, co mogę powiedzieć, flickr bardzo poważnie podchodzi do własności obrazu i ostrożnie podąża za linią dzielenia, publicznego dostępu i twoich praw. Opinie na ten temat różnią się i popełniają błędy, ale takie jest moje ogólne zdanie. Z drugiej strony nie ufam wystarczająco, by przesłać moje oryginalne zdjęcia.
mc
-1

Wtyczka Firefox Tamperdata pozwoli na wykrycie chronionego adresu URL obrazu. Jest to trywialne. Jedyną warstwą bezpieczeństwa wydaje się być niejasność.

Henry Dorsett Case
źródło
3
Naprawdę? Czy możesz to udowodnić, pobierając wersję tego obrazu w oryginalnej rozdzielczości (2400 x 1600) ? Podejrzewam, że nie przeczytałeś poprawnie pytania.
Mark Whitaker
-3

Oto prosty sposób na zrobienie tego (używając Safari) bez żargonu, który wyrzucacie. Przejdź do strony wszystkich zdjęć. Po włączeniu rozwijanego menu Develop przejdź do Show Web Inspector. Po lewej stronie okna programisty poszukaj obrazów rozwijanych. Kliknij i poszukaj łańcucha z długim numerem. Po kliknięciu tego obraz pojawi się w oknie programisty. Po prawej stronie zobaczysz adres URL obrazu. Skopiuj i wklej adres URL w nowym oknie przeglądarki, a obraz pojawi się i można go stamtąd pobrać. LUB po prostu przeciągnij obraz z okna programisty. (Prawdopodobnie jego nazwa zostanie zmieniona na Nieznany.

Zrzut ekranu mojej metodologii

Greg
źródło
3
Źle odczytałeś pytanie lub źle zrozumiałeś problem. Powiedziałem jasno: „Jestem świadom, że gdy obraz pojawi się w przeglądarce, zdeterminowany użytkownik może go łatwo pobrać” . Pobrałeś tylko duży rozmiar, a nie oryginał. Spróbuj ponownie przeczytać pytanie, a na pewno zobaczysz, o co pytałem. Niestety dla ciebie „żargon” istnieje nie bez powodu!
Mark Whitaker