Come è fatto un virus informatico?

In un precedente articolo abbiamo visto che la definizione più adeguata da usare per quelli che comunemente chiamiamo “virus” è nella realtà Malware, perché i virus sono solo uno dei tanti tipi di malware che oggigiorno hanno caratteristiche non sempre facili da categorizzare in modo rigido.
Un malware è un programma come potrebbe essere il Word di Microsoft Office o un qualsiasi videogioco; ovviamente ha dimensioni molto più contenute perché sia facile da diffondere ed è scritto, questo è importante, in un linguaggio di programmazione che il computer vittima deve essere in grado di capire.
Un esempio di malware potrebbe essere l’innocente programma qui sotto che non fa altro che stampare sullo schermo la frase “Sei stato Hackerato” per 100 volte.

Non molto terrificante, vero?
Eppure anche un semplice programma di questo genere può diventare particolarmente fastidioso, se, ad esempio, aggiungessimo una funzione per fargli stampare senza fine quella frase, oppure se aggiungessimo un componente che permetta al file di copiarsi e aprirsi; in poco tempo avremmo il computer bloccato da decine, centinaia, migliaia di piccoli innocenti programmi.

Un malware è in principio molto semplice, quasi banale e diventa un vero e proprio “pericolo pubblico numero uno” grazie all’accostamento di componenti diverse attentamente selezionate e personalizzate a secondo degli obbiettivi che il suo creatore si pone.

Le prime componenti utili sono quelle che aiutano il malware ad eludere il controllo degli Anti-Virus:

  • Crypter: una funzione che applica processi di crittografia al malware in maniera da rendere difficile per un antivirus identificarlo e allo stesso tempo impedire le analisi di ingegneria inversa.
  • Obfuscator: simile in concetto al crypter, l’obfuscator adotta diverse tecniche per rendere il malware difficile da individuare, ad esempio cambiandone un po’ il codice ogni volta che si replica.
  • Packer: il packer è un tipetto furbo che comprime il malware facendolo diventare un file di tipo zip, in questo modo una banale operazione diventa un grande ostacolo per il lavoro degli Anti-Virus che non riescono a leggere il contenuto del file zip e quindi a riconoscere il malware.
  • Wrapper: letteralmente “involucro”, il Wrapper è una componente che serve per nascondere un malware all’interno di una applicazione legittima; ad esempio scarichiamo una app per il cellulare, è un innocente passatempo che funziona e ci diverte magari, ma mentre la usiamo infetta il nostro dispositivo.

Se queste quattro componenti hanno il compito di nascondere il malware, altre hanno il compito non solo di nasconderlo agli antivirus, ma anche di renderlo facile da trasportare. E’ il caso del:

  • Downloader: un trojan che non crea direttamente un danno al sistema, ma si limita a scaricare sul dispositivo infettato altro malware.
  • Dropper: un trasportatore che al suo interno nasconde del malware che poi installa sul sistema compromesso.
piccole, innocenti, pericolosissime righe di codice (payload per reverse shell)

Sino a questo momento abbiamo descritto delle componenti che si occupano sostanzialmente di trasportare di nascosto del malware, ma una volta installato, come ovvio, un malware ha come primo scopo quello di minare la sicurezza di un sistema o di causare danni attraverso:

  • Exploit: si parla di exploit quando il malware è progettato per sfruttare una specifica debolezza del sistema infettato.
  • Injector: come suggerisce il nome è un componente che inietta all’interno dei processi di un sistema del malware, questo permette al malware da una parte di causare danno, dall’altra di rimanere nascosto.
  • Payload: tradotto letteralmente carico utile, è del codice informatico che viene recapitato in un sistema compromesso per eseguire specifiche operazione come ad esempio aprire un canale di comunicazione verso l’hacker(reverse shell).
  • Codice Malevolo: è la definizione che si da a tutti le componenti che di per sé non sono uno specifico malware, ma sono parte di altri programmi(i.e i plugin dei Browser)che permettono di compromettere un dispositivo.

Alla fine di questa breve carrellata occorre ricordare che la maniera migliore per difendersi da queste minacce è tenere i sistemi sempre aggiornati, utilizzare un buon prodotto Anti-Virus e soprattutto essere sempre prudenti nel navigare in internet.

Articolo creato 84

Articoli correlati

Inizia a scrivere il termine ricerca qua sopra e premi invio per iniziare la ricerca. Premi ESC per annullare.

Torna in alto