È possibile memorizzare dati arbitrari in un file di immagine?


25

È possibile memorizzare dati arbitrari come documenti o un programma sotto forma di un file di immagine, come un'immagine PNG? La mia preoccupazione è che qualcuno possa codificare i dati per l'utilizzo da parte del malware in un'immagine e caricarli su un sito come Flickr.


3
Scopri l' exploit MICE che ha dato a Microsoft un occhio nero un paio di anni fa.
Synetech,

1
Sì, quello era tra i collegamenti nella pagina MICE. Se stai arbitrariamente l'aggiunta di collegamenti da quella pagina, allora si può anche aggiungere questo , questo , questo , questo , questo , questo , e soprattutto questo .
Synetech,

@Synetech: Siamo spiacenti; il link nel commento (ora eliminato) proveniva da una ricerca su Google, non dall'articolo di Wikipedia.
bwDraco,

Oh ok; nessun problema. L'articolo di Wikipedia ha alcune grandi specifiche tecniche (ho collegato la maggior parte delle migliori di Microsoft, Sysinternals e GRC). Quella cosa ha davvero causato più clamore del danno reale da quello che ricordo. L'ultimo link nel mio commento è stata la patch di terze parti che qualcuno ha preso su di sé fino a quando Microsoft ha rilasciato e Windows Update ufficiale per patch. :-P
Synetech,

Risposte:


22

Per la maggior parte dei formati di file, sì. Ad esempio, i file PNG sono composti da blocchi tipizzati, quindi è possibile aggiungere un blocco denominato aAAAo lOLZcon dati arbitrari. JPEG ha segmenti "specifici dell'applicazione" ; i tag Exif in JPEG sono in realtà una struttura TIFF completa all'interno di tale tag. Altri formati come GIF non sono estensibili, ma spesso hanno un campo per i commenti testuali; questo è già stato abusato .APPn

Tuttavia, ci sono modi per proteggersi da questo, ad esempio siti Web come Imgur elaborano automaticamente tutti i caricamenti con pngcrusho strumenti simili, che eliminano tutto ciò che non è assolutamente necessario.

Ma alla fine, lo scambio di dati non può essere impedito. A parte la steganografia dell'immagine sopra menzionata, hai Twitter e i suoi cloni, dozzine di pastebine (in cui i post incomprensibili sono considerati abbastanza normali), moduli di commento di vecchi post sul blog (sto ancora cercando di ricordare il libro in cui è stato suggerito), ... più realisticamente, la maggior parte dei malware contatterà semplicemente i propri "propri" server.


19

Non esistono dati dannosi. I dati non diventano dannosi fino a quando non vengono eseguiti, a quel punto non sono più dati. Il problema con questo genere di cose non sarebbe l'immagine, sarebbe il software (Windows, Photoshop, qualunque cosa) che contenga un bug che causa l'esecuzione dei dati. Questa è ovviamente una preoccupazione importante dei principali produttori di software e puoi essere abbastanza sicuro che risolveranno questi bug molto presto dopo che sono stati scoperti.

Ciò detto, come indicato nelle altre risposte, è possibile aggiungere al file dati che non fanno parte dell'immagine stessa. Tuttavia, questa è spesso una pratica utile o addirittura standard. Penso che sia molto più importante fare attenzione con gli eseguibili che con le immagini casuali che trovi su Internet. Il rischio qui non è così grande.


"i dati non possono essere dannosi" che dire del malware che utilizza la steganografia per inviare informazioni come il numero della tua carta di credito tramite canali dall'aspetto innocente?
r-

12

I file di immagine, incluso PNG, hanno un formato specifico. La parte di intestazione del file descrive l'immagine e tutti i dati che seguono verranno interpretati come dati di immagine (in base alle intestazioni).

Tuttavia, è possibile aggiungere dati arbitrari alla fine di un file PNG, oltre i dati dell'immagine, che possono essere letti in seguito. Questo sarebbe abbastanza facile da rilevare - non dovrebbero esserci dati oltre la fine dei dati dell'immagine.

In alternativa, puoi codificare dati arbitrari nell'immagine stessa, usando la steganografia . Ciò altera sottilmente l'immagine stessa in un modo che è in gran parte non rilevabile a meno che tu non sappia esattamente cosa cercare (è spesso richiesta una conoscenza preliminare del metodo di codifica).


So che Adobe Fireworks in realtà memorizza dati extra in file png (che non fanno parte dell'immagine).
Jouke van der Maas,

Steganografia: stegosploit.info ovviamente
Mars Robertson
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.