È ansible memorizzare dati arbitrari in un file di immagini?

È ansible memorizzare dati arbitrari come documenti o un programma sotto forma di un file di image, ad esempio un'image PNG? La mia preoccupazione è che qualcuno potrebbe codificare i dati da utilizzare da malware in un'image e caricarla in un sito come Flickr.

Per la maggior parte dei formati di file, sì. Ad esempio, i file PNG sono composti da blocchi digitati, in modo da aggiungere un pezzo denominato aAAA o lOLZ con dati arbitrari. JPEG ha segmenti "specifici dell'applicazione APP n ; i tag Exif in JPEG sono in realtà una struttura TIFF completa all'interno di un tag. Altri formati come GIF non sono estensibili, ma spesso dispongono di un field per i commenti testuali; questo è già stato abusato .

Tuttavia, ci sono modi per proteggere contro questo – ad esempio, siti web come Imgur process automatico tutti i caricamenti con pngcrush o strumenti simili, che cadono tutto ciò che non è assolutamente necessario.

Ma alla fine non è ansible impedire lo scambio di dati. A parte la suddetta steganografia dell'image, hai Twitter ei suoi cloni, decine di pastebine (in cui i post incomprensibili sono considerati abbastanza normali), commentano forms di vecchi post sul blog (sto ancora cercando di ricordare il libro in cui è stato suggerito) … in modo più realistico, la maggior parte dei malware contatta semplicemente i propri server "propri".

Non esiste dati dannosi. I dati non diventano dannosi finché non vengono eseguiti, a quel punto non sono più dati. Il problema con questo tipo di cose non sarebbe l'image, sarebbe il software (Windows, Photoshop, qualunque cosa) che contenga un bug che provoca l'esecuzione dei dati. Questa è ovviamente un'importnte preoccupazione dei principali fornitori di software, e si può essere abbastanza sicuri di risolvere questi bug molto presto dopo essere stati scoperti.

Detto questo, come si afferma nelle altre risposte, è ansible aggiungere dati che non fanno parte dell'image stessa nel file. Tuttavia, questa è spesso pratica utile o addirittura standard. Penso che sia molto più importnte stare attenti con gli eseguibili che con le immagini casuali che trovate su Internet. Il rischio qui non è così grande.

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

Tuttavia, è ansible aggiungere dati arbitrari alla fine di un PNG, oltre i dati di image, che possono essere poi letti più tardi. Questo sarebbe abbastanza facile da rilevare – non ci dovrebbero essere dati dopo la fine dei dati di image.

In alternativa, è ansible codificare dati arbitrari nell'image stessa, utilizzando la steganografia . Questo sottilmente altera l'image stessa in un modo che è in gran parte indetectable a less che tu non sai esattamente cosa cercare (è spesso richiesta una conoscenza anticipata del metodo di codifica).