Czy można przechowywać dowolne dane w pliku obrazu?

25

Czy można przechowywać dowolne dane, takie jak dokumenty lub program, w postaci pliku obrazu, takiego jak obraz PNG? Obawiam się, że ktoś może zakodować dane do wykorzystania przez złośliwe oprogramowanie w obrazie i przesłać je na stronę taką jak Flickr.

bwDraco
źródło
3
Sprawdź exploit MICE, który kilka lat temu podbił Microsoft.
Synetech,
1
Tak, to było wśród linków na stronie MICE. Jeśli arbitralnie dodajesz linki z tej strony, możesz równie dobrze dodać to , to , to , to , to , to , a przede wszystkim to .
Synetech,
@Synetech: Przepraszamy; link w (teraz usuniętym) komentarzu pochodzi z wyszukiwarki Google, a nie z artykułu z Wikipedii.
bwDraco,
No dobrze; bez obaw. Artykuł w Wikipedii ma kilka świetnych specyfikacji technicznych (podłączyłem większość najlepszych z Microsoft, Sysinternals i GRC). To, co pamiętam, spowodowało więcej szumu niż rzeczywiste szkody. Ostatnim linkiem w moim komentarzu była łatka innej firmy, którą ktoś wziął na siebie do czasu wydania Microsoft i oficjalnej aktualizacji systemu Windows, aby ją załatać. :-P
Synetech,

Odpowiedzi:

22

W przypadku większości formatów plików tak. Na przykład pliki PNG składają się z fragmentów wpisanych, dzięki czemu można dodać fragment o nazwie aAAAlub lOLZz dowolnymi danymi. JPEG ma segmenty „specyficzne dla aplikacji” ; Znaczniki Exif w plikach JPEG są w rzeczywistości kompletną strukturą TIFF wewnątrz takiego znacznika. Inne formaty, takie jak GIF, nie są rozszerzalne, ale często mają pole na komentarze tekstowe; to zostało już wykorzystane .APPn

Istnieją jednak sposoby, aby się przed tym zabezpieczyć - na przykład strony takie jak Imgur automatycznie przetwarzają wszystkie przesłane pliki za pomocą pngcrushlub podobnych narzędzi, które usuwają wszystko, co nie jest absolutnie wymagane.

Ale ostatecznie nie można zapobiec wymianie danych. Oprócz wspomnianej wcześniej steganografii graficznej, masz Twittera i jego klony, dziesiątki pastebinów (w których niezrozumiałe posty są uważane za dość normalne), komentuj formy starych postów na blogu (wciąż próbuję zapamiętać książkę, w której został zasugerowany), ... bardziej realistycznie, większość szkodliwych programów po prostu skontaktuje się ze swoimi „własnymi” serwerami.

grawitacja
źródło
19

Nie ma czegoś takiego jak złośliwe dane. Dane nie stają się złośliwe, dopóki nie zostaną wykonane, w którym to momencie nie są już danymi. Problemem z tego rodzaju rzeczą nie byłby obraz, lecz oprogramowanie (Windows, Photoshop, cokolwiek), które zawiera błąd, który powoduje, że dane są wykonywane. Jest to oczywiście ważna obawa głównych dostawców oprogramowania i możesz być całkiem pewien, że naprawią te błędy wkrótce po ich wykryciu.

To powiedziawszy, jak stwierdzono w innych odpowiedziach, możliwe jest dodanie do pliku danych, które nie są częścią samego obrazu. Jest to jednak często przydatne lub nawet standardowe. Myślę, że o wiele ważniejsze jest ostrożność z plikami wykonywalnymi niż z przypadkowymi obrazami, które można znaleźć w Internecie. Ryzyko tutaj nie jest tak duże.

Jouke van der Maas
źródło
„dane nie mogą być złośliwe”, co ze złośliwym oprogramowaniem wykorzystującym steganografię do wysyłania informacji, takich jak numer karty kredytowej, za pośrednictwem niewinnie wyglądających kanałów?
rr-
12

Pliki obrazów, w tym PNG, mają określony format. Część nagłówka pliku opisuje obraz, a wszelkie następujące po nim dane będą interpretowane jako dane obrazu (na podstawie nagłówków).

Można jednak dołączyć dowolne dane na końcu PNG, pomijając dane obrazu, które można później odczytać. Byłoby to dość łatwe do wykrycia - poza końcem danych obrazu nie powinno być żadnych danych.

Alternatywnie możesz zakodować dowolne dane w samym obrazie, używając steganografii . To subtelnie zmienia sam obraz w sposób, który jest w dużej mierze niewykrywalny, chyba że wiesz dokładnie, czego szukać (często wymagana jest wcześniejsza znajomość metody kodowania).

Paweł
źródło
Wiem, że Adobe Fireworks faktycznie przechowuje dodatkowe dane w plikach png (to nie jest część obrazu).
Jouke van der Maas
Steganografia: oczywiście stegosploit.info
Mars Robertson