Qual è la vulnerabilità dell'immagine corrotta? Come funziona?

21

Che cosa succede esattamente quando qualcuno inietta codice binario dannoso in un file immagine (su Windows)? Come è fatto?

    
posta Moshe 21.11.2010 - 01:30
fonte

4 risposte

12

Tale attacco si basa sul parser di immagini che contiene un bug che consente l'esecuzione di quella che altrimenti sarebbe un'immagine un po 'strana.

Ad esempio, invece di "rosso" interpretato come un colore, il computer potrebbe provare a interpretarlo come un comando di shell.

    
risposta data 21.11.2010 - 04:05
fonte
8

Molto più comune di un bug di tipo buffer-overflow che @Zian menziona (anche se penso che ci fosse un vuln WMF di questo tipo in Windows fino a 4-5 anni fa), è qualcosa come GIFAR (cerca anche su SO):
un file che è sia un file immagine valido (ad esempio GIF), sia un file ZIP valido (ad es. JAR (compilato da bytecode java)).
Ciò è possibile a causa del modo in cui questi formati memorizzano le intestazioni: in particolare, non si escludono a vicenda.

Quindi puoi avere un file che supera tutti i controlli di validità che fai, eppure quando viene visualizzato nel browser viene eseguito il codice java (perché, beh, hai appena scaricato un file JAR valido, dincha?)

Per quanto ne so, questo problema è stato risolto dai maggiori distributori, ma ammetto di non essere aggiornato.
(Lo scopritore originale di GIFAR può essere trovato qui .)

    
risposta data 21.11.2010 - 13:06
fonte
5

Suppongo che quando dici "immagine" intendi qualcosa come un JPEG o una GIF.

La risposta è che i software più vecchi presentano bug tali che, quando visualizzano l'immagine, possono confondersi. Ad esempio, le immagini contengono campi di commento al loro interno che di solito non vengono visualizzati, ma possono contenere elementi come le coordinate GPS della fotocamera dell'iPhone che hanno scattato l'immagine. Il software tipico prevede che questi commenti non superino mai i 100 caratteri, ma un hacker può fare qualcosa di ridicolo come fare un commento di 10.000 caratteri. Il software dovrebbe rifiutarlo in modo sicuro, ma alcuni non lo fanno, hanno un bug in cui questi caratteri inaspettati si riversano in altre aree della memoria. Se l'hacker realizza quei 10.000 byte nel modo giusto, può far sì che il software buggy esegua il codice.

Proprio perché noi umani ci aspettiamo che quei commenti siano brevi, il testo in inglese, non impedisce all'hacker di inserire un codice lungo ed eseguibile in quei campi.

Ci sono molti pezzi di codice diversi che potrebbero avere tali bug, da MSPaint, a Internet Explorer, a Microsoft Word. Tutti usano un codice diverso per fare la stessa cosa, e hanno tutti diversi bug. Ecco perché è necessario mantenere il software aggiornato, in modo che quando vengono scoperti nuovi bug, queste immagini danneggiate non influiscano su di te.

    
risposta data 02.11.2011 - 22:41
fonte
3

Dai commenti alla domanda ho capito che uno potrebbe essere interessato a entrare nei dettagli delle immagini eseguibili (oops, "immagine" collide con una copia di un disco, diciamo, le immagini che sono accessibili / script o programmi eseguibili) che guardano agli umani come immagini (immagini) e al computer come script eseguibili (programmi):

Aggiornamento:
Ecco un altro riferimento su come incorporare un codice di virus (PHP, JavaScript, ActionScript, ecc.) In un'immagine:

risposta data 30.10.2011 - 14:06
fonte

Leggi altre domande sui tag