Definizione di codice dannoso
Il termine "codice dannoso" fa riferimento a script di programmazione pericolosi progettati per creare o sfruttare vulnerabilità dei sistemi. Questo codice è progettato dall'autore della minaccia per causare modifiche indesiderate, danni o l'accesso continuativo a sistemi informatici. Le conseguenze del codice dannoso possono essere backdoor, violazioni della sicurezza, furto di informazioni e dati, oltre ad altri danni potenziali a file e sistemi informatici.
Cosa si intende per codice dannoso?
Il codice dannoso è la lingua "parlata" da parti ostili per manipolare i sistemi informatici in modo da creare comportamenti pericolosi. Si ottiene scrivendo modifiche o add-on per il codice esistente di programmi, file e infrastrutture.
Questo tipo di minaccia è lo strumento di base utilizzato per sferrare la grande maggioranza degli attacchi alla cybersecurity. Gli hacker analizzano i sistemi alla ricerca di punti deboli basati sui linguaggi utilizzati per programmare i computer. Creano quindi "frasi" note come script o elenchi di comandi per abusare delle vulnerabilità in questi linguaggi. Questi script possono essere riutilizzati e automatizzati tramite macroistruzioni, o in breve macro.
Gli hacker e gli altri autori di minacce si muoverebbero molto lentamente se dovessero limitarsi a exploit manuali dei sistemi informatici. Purtroppo, con il codice dannoso hanno la possibilità di automatizzare gli attacchi. Alcuni codici possono persino replicarsi, diffondersi e causare danni da soli. Altri tipi di codice possono richiedere l'intervento di utenti umani per il download o altre interazioni.
Spesso, le conseguenze del codice dannoso sono le seguenti:
- Danneggiamento dei dati
- DDoS (Distributed Denial of Service)
- Furto di credenziali e di informazioni private
- Riscatto ed estorsione
- Disturbi e disagi
Per offrirti informazioni utili per la protezione, vediamo come funzionano queste minacce.
Come funziona il codice dannoso?
Qualsiasi componente programmato di un sistema informatico può essere manipolato da codice dannoso. Sono obiettivi comuni sia i componenti su larga scala, come l'infrastruttura di una rete di computer, che i componenti più piccoli, come le applicazioni mobili o desktop. Anche i servizi Web, come i siti Web e i server online, sono possibili bersagli. Il codice dannoso può infettare qualsiasi dispositivo che utilizza un computer per funzionare, come ad esempio:
- Dispositivi informatici tradizionali, come desktop, laptop, telefoni cellulari e tablet.
- Dispositivi IoT, come dispositivi per smart home o dispositivi di infotainment dell'auto (IVI, In-Vehicle Infotainment).
- Dispositivi per reti informatiche, come modem, router e server.
Gli autori degli attacchi utilizzano script e programmi dannosi per violare parti fidate dei sistemi informatici. Una volta violato il sistema, gli obiettivi possono essere uno o più dei seguenti:
- Esporre gli utenti a codice dannoso, per infettarli e diffonderlo ulteriormente.
- Accedere alle informazioni private nei sistemi violati.
- Monitorare l'uso di un sistema violato.
- Violare più a fondo un sistema.
Il codice dannoso viene creato e utilizzato in alcune fasi distinte. Il codice con script dannosi può richiedere l'interazione umana o altre azioni programmate per attivare l'evento successivo in ogni fase. È da notare che esiste anche codice in grado di funzionare in modo completamente autonomo. La maggior parte del codice dannoso segue questa struttura:
- Analizzare il sistema e cercare vulnerabilità.
- Programmare scrivendo il codice per sfruttare le vulnerabilità.
- Esporre i sistemi informatici al codice dannoso.
- Eseguire il codice tramite un programma correlato o in modo autonomo.
Analisi e programmazione rappresentano la fase di configurazione di un attacco. Prima che l'autore di un attacco possa violare un sistema, deve disporre degli strumenti per entrare. Dovrà creare il codice se non esiste già, ma potrebbe anche utilizzare o modificare eventuale codice dannoso esistente per preparare l'attacco.
Il risultato di script dannosi è un'applicazione autoeseguibile che può attivarsi autonomamente e assumere varie forme. Alcuni esempi possono essere macro e script in JavaScript, controlli ActiveX, uso improprio di PowerShell, contenuti push, plug-in, linguaggi di scripting o altri linguaggi di programmazione progettati per migliorare le pagine Web e le e-mail.
L'esposizione dei sistemi informatici può avvenire attraverso porte di interfaccia dirette, come l'USB, o tramite connessioni di rete online come quelle mobili e Wi-Fi. Perché l'esposizione riesca, è sufficiente trovare un modo che consenta al codice dannoso di raggiungere il tuo dispositivo.
L'esposizione negli attacchi diffusi si basa su canali ad alto contatto come siti Web popolari e spam via e-mail, mentre gli attacchi più mirati utilizzano metodi di social engineering come lo spear phishing. Alcuni tentativi di insider possono persino inserire codice dannoso in una rete privata, come una Intranet aziendale, tramite una connessione diretta all'unità USB nel computer di un utente finale locale.
L'esecuzione avviene quando un sistema esposto è compatibile con il codice dannoso. Quando un dispositivo o un sistema preso di mira è esposto al codice dannoso, l'attacco risultante può includere tentativi non autorizzati di esecuzione delle operazioni seguenti:
- Modificare dati: criptaggio non consentito, indebolimento della sicurezza, ecc.
- Eliminare o danneggiare dati: server di siti Web, ecc.
- Ottenere dati: credenziali di account, informazioni personali, ecc.
- Accedere a sistemi protetti: reti private, account e-mail, ecc.
- Eseguire azioni: replica, diffusione di codice dannoso, controllo remoto del dispositivo, ecc.
Come si diffonde il codice dannoso?
Il codice dannoso può essere utilizzato per violare i sistemi da solo, per abilitare attività dannose secondarie o per replicarsi e diffondersi. In ogni caso, il codice originale deve passare da un dispositivo a un altro.
La diffusione di queste minacce può avvenire su quasi tutti i canali di comunicazione che trasmettono dati. I seguenti sono spesso alcuni dei vettori di diffusione:
- Reti online: Intranet, condivisione file P2P, siti Web Internet pubblici, ecc.
- Reti di comunicazione: e-mail, SMS, contenuto push, app di messaggistica mobile, ecc.
- Connettività wireless: Bluetooth, ecc.
- Interfacce di dispositivi dirette: USB, ecc.
Visitare siti Web infetti o fare clic su un collegamento o su un allegato pericoloso all'interno di un'e-mail sono azioni standard che possono permettere al codice dannoso di intrufolarsi nel tuo sistema. Questa minaccia, tuttavia, può provenire sia da fonti legittime che da fonti esplicitamente dannose. Ormai tutto, dalle stazioni di ricarica USB pubbliche agli exploit di strumenti di aggiornamento del software, è stato usato impropriamente per questi scopi.
Il "pacchetto" del codice dannoso non è sempre ovvio, ma le connessioni dati pubbliche e qualsiasi servizio di messaggistica sono i percorsi più importanti da tenere d'occhio. Gli autori degli attacchi scelgono spesso i download e i collegamenti URL per incorporare il codice pericoloso.
Tipi di codice dannoso
Sono molti i tipi di codice dannoso che possono danneggiare il tuo computer trovando punti di accesso che portano ai tuoi dati preziosi. Tra i colpevoli in continua crescita, eccone alcuni comuni.
Virus
I virus sono un tipo di codice dannoso autoreplicante che si associa ai programmi abilitati alle macro per l'esecuzione. Questi file viaggiano attraverso documenti e altri download di file, consentendo al virus di infiltrarsi nel dispositivo. Quando viene eseguito, il virus può autopropagarsi e diffondersi attraverso il sistema e le reti collegate.
Worm
Anche i worm sono codice che viene replicato e diffuso automaticamente come i virus, senza però richiedere ulteriori azioni per attivare l'esecuzione. Quando un worm raggiunge il tuo dispositivo, queste minacce dannose possono essere eseguite in modo del tutto automatico, senza l'assistenza di un programma eseguito dall'utente.
Trojan
I trojan sono file esca che trasportano payload di codice dannoso, richiedendo all'utente di utilizzare il file o il programma da eseguire. Queste minacce non possono autoreplicarsi o diffondersi autonomamente, ma il loro payload dannoso potrebbe contenere virus, worm o qualsiasi altro codice.
Scripting intersito (XSS)
Gli attacchi di scripting intersito interferiscono con la navigazione Web dell'utente inserendo comandi dannosi nelle applicazioni Web utilizzate. Le conseguenze sono spesso la modifica di contenuto Web, l'intercettazione di informazioni riservate o la trasmissione di un'infezione al dispositivo stesso dell'utente.
Attacchi backdoor
L'accesso backdoor alle applicazioni può essere codificato per consentire a un cybercriminale l'accesso remoto al sistema compromesso. Oltre a esporre dati sensibili, come informazioni aziendali private, una backdoor può consentire all'autore dell'attacco di diventare una minaccia APT (Advanced Persistent Threat).
I cybercriminali hanno così la possibilità di effettuare spostamenti laterali attraverso il livello di accesso appena ottenuto, cancellare i dati di un computer o persino installare spyware. Queste minacce possono raggiungere alti livelli: il Government Accountability Office degli Stati Uniti ha persino messo in guardia dalla minaccia di attacchi con codice dannoso alla sicurezza nazionale.
Esempi di attacchi con codice dannoso
Il codice dannoso può presentarsi in molte forme e in passato è stato uno strumento di attacco molto attivo. Ecco alcuni degli attacchi tra i più noti:
Trojan Emotet
Apparso per la prima volta nel 2014, il trojan Emotet si è evoluto dalle sue radici di malware per diventare uno spam via e-mail carico di codice dannoso. Gli autori dell'attacco utilizzano tattiche di phishing, come oggetti di e-mail urgenti (ad esempio: "Pagamento richiesto"), per indurre gli utenti al download.
Una volta entrato in un dispositivo, Emotet è noto per eseguire script che trasmettono virus, installano malware di comando e controllo (C&C) per l'acquisizione in botnet e altro ancora. Questa minaccia si è presa una breve pausa nel 2018 prima di tornare a diventare una minaccia malware SMS.
Worm Stuxnet
Dal 2010, il worm informatico Stuxnet e i suoi successori hanno preso di mira le infrastrutture nazionali. Il primo attacco documentato ha coinvolto strutture nucleari iraniane tramite un'unità flash USB, distruggendo apparecchiature critiche. Stuxnet è ora scomparso, ma il suo codice sorgente è stato utilizzato per creare attacchi simili altamente mirati per tutto il 2018.
Come proteggersi da attacchi con codice dannoso
Per la maggior parte delle minacce con codice dannoso, la migliore difesa è rappresentata dal software anti-virus con aggiornamenti automatici, funzionalità di rimozione del malware e protezione della navigazione Web. Tuttavia, il software anti-virus da solo potrebbe non essere sufficiente per la prevenzione di questo tipo di attacchi.
L'anti-virus in genere previene e rimuove i virus e altre forme di malware, o software dannoso, una sottocategoria del codice dannoso. La categoria più ampia del codice dannoso include anche script dei siti Web che possono sfruttare le vulnerabilità per caricare malware. Per definizione, non tutte le protezioni anti-virus sono in grado di gestire particolari infezioni o azioni causate da codice dannoso.
Sebbene l'anti-virus sia ancora essenziale per la rimozione e la difesa proattiva dalle infezioni, ecco alcuni consigli preziosi per la protezione:
- Installa software anti-scripting per impedire l'esecuzione non autorizzata di JavaScript e codice correlato.
- Presta attenzione a collegamenti e allegati. Che si tratti di un'e-mail o di un SMS, qualsiasi messaggio contenente collegamenti URL o allegati può essere un vettore di codice dannoso.
- Attiva il blocco popup del browser per evitare che gli script servano contenuti dannosi in finestre del browser indesiderate.
- Evita di utilizzare account di livello amministratore per le operazioni quotidiane. Per eseguire script e programmi automaticamente sono solitamente necessarie autorizzazioni di alto livello.
- Utilizza backup dei dati per proteggere i file e i documenti insostituibili.
- Usa con molta prudenza qualsiasi connessione dati pubblica. Le connessioni USB sono generalmente trascurate, ma possono facilmente ospitare codice dannoso. Anche le connessioni Wi-Fi pubbliche sono una minaccia comune utilizzata dagli autori degli attacchi per distribuire codice dannoso.
- Usa un firewall adeguatamente configurato per bloccare le connessioni non autorizzate. Se nel tuo computer si infiltra codice dannoso che si connette poi all'esterno per richiedere payload di malware, un firewall può essere utile per bloccare un attacco di questo tipo. Assicurati che il firewall sia configurato per applicare il blocco per impostazione predefinita e crea una whitelist con tutte le connessioni previste e affidabili.
Collegamenti correlati: