Come vengono allegati i virus ai file?

4

In che modo i virus si attaccano ai file? Come infetta le applicazioni? Sto parlando del livello binario, in che modo il codice viene aggiunto a un file per renderlo infetto?

Ovviamente, se abbiamo un controllo hash dell'originale, avrà un hash diverso dal file infetto. Significa che ha aggiunto dati extra al file? Come funziona?

Perdonami se la mia domanda non è molto chiara, trovo difficile ritrarre il mio significato. Solo per assicurarmi che il mio punto sia fatto, questo è il modo in cui lo vedo subito:

< IMAGE BINARY > + < virus > = < IMAGE BINARY < virus > >

    
posta TheHidden 03.03.2016 - 11:24
fonte

1 risposta

4

Dipende dal virus e dal tipo di file. Inoltre, tieni presente che un "virus" descrive tecnicamente una forma di malware autoreplicante: esistono altre forme di malware che possono essere nascoste all'interno dei file utilizzando tecniche simili. Quindi:

  • Eseguibili: la maggior parte dei file eseguibili è relativamente scarsa - ci sono grandi lacune tra il codice e i dati legittimi per vari motivi. Può essere per motivi di prestazioni, o per sfruttare le ottimizzazioni del compilatore, o semplicemente perché i vari flag del compilatore non erano impostati per ridurre al minimo la dimensione dell'output. Alcuni virus ne approfittano e inseriscono le loro istruzioni in questi spazi, che modificano l'hash risultante del file (si noti che un diverso hash indica che i contenuti sono diversi, non solo che la dimensione del file è cambiata). Tramite il dirottamento del punto di ingresso del programma per eseguire il codice del virus prima o al posto del codice legittimo, è possibile eseguire un virus all'avvio dell'applicazione.

    Si noti che in questo caso, i file eseguibili includono cose come i file DLL - sono essenzialmente eseguibili di Windows che espongono funzioni, piuttosto che essere applicazioni autonome. Ci sono alcune differenze tecniche, ma in termini di infezione, sono praticamente identiche: basta dirottare una chiamata e puntare al codice piuttosto che all'originale.

    Gli eseguibili di Linux sono molto simili, nello spazio vuoto, ma il file system può anche tentare di imporre regole sul fatto che i file specifici siano trattati come "eseguibili" o "dati", il che può complicare leggermente il problema.

  • File di dati: alcuni file di dati, in particolare i file multimediali (immagini, suoni, video), utilizzano una struttura a blocchi, in cui diversi tipi distinti di dati sono memorizzati in blocchi distinti. Ad esempio, un file PNG è composto, come minimo, da tre "blocchi": un'intestazione, i dati dell'immagine e un marcatore di fine del file. In questi file, è spesso possibile aggiungere blocchi aggiuntivi usando il modulo corretto e aggiungere dati arbitrari: in un file PNG, questo potrebbe aggiungere un blocco "iTXt", che è solo un blocco di testo Unicode.

    Tuttavia, i file di dati generalmente non possono essere eseguiti da soli, quindi normalmente ci sarà anche un file eseguibile modificato o un difetto mirato in un'applicazione di elaborazione. Ad esempio, se esistesse uno strumento per l'elaborazione delle immagini da riga di comando che prendesse una cartella di immagini e le elaborasse in qualche modo, potrebbe essere che si fosse trovato un difetto che significava fornire un file di input specifico aggiungendo i dati a tutti i file nel cartella elaborata dopo il file "cattivo" facendoli comportarsi nello stesso modo. Questo potrebbe essere classificato come un comportamento simile a un virus, ma non risponderebbe ad alcune definizioni di un virus informatico.

    Per alcuni tipi di file, è valido aggiungere dati anche dopo il contenuto legittimo del file. Ad esempio, i file JPEG possono ancora funzionare se si aggiungono semplicemente file di testo, esattamente come la tua immagine mentale. Questo potrebbe essere usato da un virus, ma a causa della mancanza di eseguibilità, è improbabile che sia l'unica parte di un virus.

Altre forme di malware fanno uso di tecniche simili: ci sono intere famiglie di malware che vengono inserite nei file PHP e quindi eseguite quando qualcuno accede alla pagina correlata. Il ransomware viene spesso distribuito dirottando i file Javascript e aggiungendo codice dannoso. In questi casi, però, il codice di solito non si auto-replica, quindi non soddisfa tutti i dettagli tecnici dell'essere un virus.

    
risposta data 03.03.2016 - 12:09
fonte

Leggi altre domande sui tag