Vai al contenuto

Come prevenire phishing, virus e altre minacce?

Se consideriamo il fenomeno del cyberterrorismo dal punto di vista giuridico, siamo di fronte a una forma di terrorismo a tutti gli effetti, quindi a un crimine grave, che si distingue per l’uso sistematico delle tecnologie informatiche come mezzo principale. Il movente è spesso di natura economica, ma non è l’unico possibile: in molti casi entrano in gioco motivazioni politiche, ideologiche o strategiche.

Il cyberterrorismo non è quindi soltanto una questione tecnica, ma un problema complesso che coinvolge diritto, sicurezza nazionale, infrastrutture critiche e società civile.

Attacchi ai mass media e ai sistemi di comunicazione

In uno scenario ideale per l’attaccante, un’operazione di cyberterrorismo contro i mass media e le infrastrutture di comunicazione può portare alla paralisi totale delle comunicazioni di un Paese. Questo significa interrompere o compromettere le reti mobili, l’accesso a Internet, le trasmissioni televisive e radiofoniche.

Il risultato diretto è che la popolazione civile si ritrova improvvisamente in un vuoto informativo, disorientata e incapace di comprendere cosa stia accadendo. In contesti di crisi, questa condizione può amplificare il panico e rendere inefficaci le comunicazioni ufficiali delle istituzioni.

Attacchi alle infrastrutture critiche

Un altro bersaglio tipico del cyberterrorismo è rappresentato dalle infrastrutture critiche: sistemi energetici, trasporti, telecomunicazioni, reti idriche e molto altro.

Questi attacchi possono avvenire sia in tempo di pace, in assenza di ostilità dichiarate, sia durante conflitti armati. Le motivazioni possono essere politiche, economiche o militari, e l’impatto potenziale è enorme.

Uno dei primi casi di questo tipo ad attirare l’attenzione del grande pubblico è stato quello raccontato in diversi documentari, tra cui Cyberwar (2011) e Zero Days (2016), che hanno mostrato come attacchi informatici mirati possano produrre effetti paragonabili a quelli delle operazioni militari tradizionali.

Strumenti e logiche del terrorismo informatico

Un attacco terroristico nel cyberspazio si distingue da un attacco informatico “ordinario” soprattutto per la risonanza mediatica e sociale. Le sue conseguenze sono pensate per essere visibili e percepite dall’intera società.

In genere, un attacco di questo tipo richiede molte più risorse rispetto a un comune attacco informatico. Gli obiettivi non sono solo aziende private, ma anche infrastrutture statali, istituzioni governative e servizi essenziali.

Dal punto di vista tecnico, però, le tattiche utilizzate non sono radicalmente diverse da quelle dei normali attacchi informatici. Per questo motivo, in modo semplificato, la protezione contro il cyberterrorismo può essere equiparata alla protezione contro gli attacchi informatici avanzati.

Anche gli attacchi informatici seguono una sorta di “algoritmo”, una sequenza di fasi ben riconoscibili. Per descrivere queste fasi esistono diversi modelli concettuali, tra cui la Cyber Kill Chain e la Hacker Damage Chain.

Cyber Kill Chain

Sviluppata da Lockheed Martin, la Cyber Kill Chain è un modello usato principalmente per comprendere e analizzare le fasi di un attacco cibernetico mirato, con l’obiettivo di identificare e interrompere il ciclo di attacco prima che l’attaccante possa causare danni significativi. La Cyber Kill Chain si concentra sull’intercettazione e l’interruzione del ciclo di vita dell’attacco, con un’enfasi su come prevenire o rilevare l’attacco nelle sue fasi iniziali.

  • Ricognizione (Reconnaissance): Raccogliere informazioni sul bersaglio.
  • Armamento (Weaponization): Creare un payload dannoso.
  • Consegna (Delivery): Trasmettere il payload al bersaglio (es. via email, USB).
  • Sfruttamento (Exploitation): Attivare il codice maligno sul sistema bersaglio.
  • Installazione (Installation): Installare il malware per mantenere il controllo.
  • Comando e Controllo (Command and Control – C2): Stabilire un canale di comunicazione tra il sistema compromesso e il server dell’attaccante.
  • Azioni sugli Obiettivi (Actions on Objectives): Completare l’obiettivo finale dell’attacco (es. furto di dati, distruzione di sistemi).

Hacker Damage Chain

La Hacker Damage Chain è un concetto più generico e può variare in definizione a seconda della fonte, ma generalmente descrive il percorso che un hacker segue per infliggere danni dopo aver ottenuto l’accesso iniziale. È utilizzata per comprendere meglio le diverse fasi di un attacco dal punto di vista del danno effettivo causato. La Hacker Damage Chain si concentra maggiormente sul danno potenziale e reale causato dall’attacco, seguendo le azioni post-compromissione con un focus sul come e quando l’attaccante infligge danni significativi all’infrastruttura IT o ai dati dell’organizzazione.

  • Ricognizione (Reconnaissance): Simile alla Cyber Kill Chain, ma con un’attenzione anche ai punti deboli che potrebbero essere sfruttati per causare danni.
  • Infiltrazione (Initial Compromise): Ottenere l’accesso iniziale al sistema.
  • Escalation dei privilegi (Privilege Escalation): Ottenere accessi più elevati per infliggere maggiori danni.
  • Movimento laterale (Lateral Movement): Espandere l’attacco ad altre parti della rete.
  • Esfiltrazione dei dati (Data Exfiltration): Rubare informazioni critiche.
  • Impatto finale (Final Impact): Causare il danno effettivo, come la distruzione dei dati.
  • Persistenza (Persistence): Mantenere l’accesso per attacchi futuri.
  • Cancellazione delle tracce (Covering Tracks): Nascondere le tracce dell’attacco.

Principali Differenze

La differenza principale riguarda il focus temporale. La Cyber Kill Chain è orientata all’intercettazione e alla prevenzione nelle prime fasi dell’attacco, mentre la Hacker Damage Chain analizza ciò che accade dopo che il sistema è già stato compromesso.

Anche l’obiettivo cambia: la Cyber Kill Chain mira a interrompere l’attacco in qualunque fase possibile, mentre la Hacker Damage Chain serve a capire come minimizzare i danni quando l’intrusione è già avvenuta.

Di conseguenza, l’approccio difensivo è diverso. La Cyber Kill Chain è proattiva, mentre la Hacker Damage Chain è più orientata alla risposta e alla mitigazione.

Contromisure

Il mondo della tecnologia è progettato in modo tale che non esistano sistemi sicuri al 100%. Gli errori umani, le configurazioni sbagliate o le semplici distrazioni possono trasformarsi in vulnerabilità sfruttabili.

Esiste però una regola fondamentale: un sistema difficilmente viene violato se il valore delle informazioni contenute non giustifica il costo dell’attacco. L’obiettivo principale della sicurezza è quindi rendere l’attacco poco conveniente.

1. Protezione del perimetro esterno

In ogni caso, è necessario affrontare la protezione dell’infrastruttura in modo completo, ma prima di tutto si dovrebbe prestare attenzione a ciò che si trova in un posto ben visibile, cioè accessibile a tutti.

Il perimetro esterno comprende tutto ciò che ti riguarda come azienda (o personalmente, se per qualche motivo hai, ad esempio, un indirizzo IP pubblico statico, quindi un IP bianco) accessibile da Internet direttamente tramite indirizzo IP o nome di dominio:

  1. Sito.
  2. Gateway dell’infrastruttura interna.
  3. Server VPN.

Questo elenco non è esaustivo e ognuno può avere il proprio elenco di tali risorse.

Il prossimo passo sarà quello di stabilire un elenco di servizi che operano sul perimetro esterno.

Un principio fondamentale è quello dei privilegi minimi: ogni servizio deve ascoltare solo sulle interfacce di rete strettamente necessarie, evitando configurazioni generiche come 0.0.0.0 o ::, che espongono il servizio su tutte le interfacce.

Firewall e iptables

A livello di rete, uno strumento essenziale è il firewall. Un approccio semplice ed efficace è: bloccare tutto di default e consentire solo ciò che serve.

Un esempio base di configurazione con iptables potrebbe essere il seguente:

#!/bin/bash
# Svuota tutte le regole esistenti
iptables -F


# Imposta le policy di default su DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP


# Consenti traffico di loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -s 127.0.0.0/8 -j DROP


# Consenti connessioni in uscita e connessioni già stabilite
iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED -j ACCEPT


iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -m state --state ESTABLISHED -j ACCEPT

Questa configurazione è solo una base, ma mostra chiaramente la logica: si parte dal divieto totale e si aprono solo le porte e i protocolli necessari.

Per rendere persistenti le regole dopo il riavvio, è possibile utilizzare strumenti come netfilter-persistent.  Il comando netfilter-persistent savepuò salvare la configurazione corrente e dopo il riavvio la configurazione verrà ripristinata. Per comodità, puoi combinare tali regole in script e memorizzarle da qualche parte in un repository chiuso, a cui avranno accesso, ad esempio, gli amministratori di sistema.

A livello di rete, nella maggior parte dei casi gli elementi comuni delle configurazioni finiscono. Ai livelli inferiori del modello di rete, le configurazioni di solito non scendono, ma ai livelli superiori al modello di rete differiscono ovunque. Allo stesso tempo, vale la pena notare che le raccomandazioni relative alle configurazioni dei servizi a livello di rete e alle impostazioni del firewall saranno rilevanti non solo per il perimetro esterno, ma anche per l’intera rete, sia dall’esterno che dall’interno, poiché la segmentazione della rete e la chiara delimitazione del traffico tra i segmenti è un elemento del principio di Difesa in Profondità, che a sua volta consente di ridurre potenziali perdite in caso di penetrazione nella rete aziendale.

2. Difesa in profondità

La difesa in profondità consiste nell’applicare più livelli di sicurezza. Anche se uno viene superato, gli altri continuano a proteggere il sistema.

Accesso remoto: SSH, RDP e VNC

Uno dei punti più critici è l’accesso remoto. Servizi come SSH, RDP e VNC sono bersagli frequenti di attacchi brute force. Per i sistemi Unix-like, strumenti come fail2ban permettono di bloccare automaticamente gli indirizzi IP che effettuano troppi tentativi di accesso falliti.

Hardening SSH

Alcune configurazioni fondamentali nel file /etc/ssh/sshd_config includono:

  • Disabilitare il login diretto di root:
  • Cambiare la porta di default (22):
  • Limitare l’interfaccia di ascolto:
  • LoginGraceTime 60
  • L’uso di autenticazione tramite chiave e, se possibile, della 2FA aumenta ulteriormente il livello di sicurezza.

RDP e VNC

Per RDP è fondamentale disabilitare l’account amministratore predefinito, evitare nomi utente banali e limitare l’accesso solo agli account realmente necessari. VNC, pur essendo più semplice, richiede comunque una gestione attenta degli utenti, password robuste e, dove possibile, autenticazione a due fattori. Gli attacchi brute force, in questo caso, sono attacchi abbastanza semplici da attuare e se vanno a buon fine, possono avere gravi conseguenze (e qui è opportuno ricordare l’importanza di utilizzare password insolite e complesse).

Affinché la vostra infrastruttura non sia disturbata da costanti attacchi brute force, su Linux ad esempio, esiste un’eccellente soluzione sotto forma di fail2ban. Il servizio legge il numero di tentativi di autorizzazione falliti e la fonte (indirizzo IP). Se da un indirizzo vengono raggiunti determinati indicatori di frequenza, questo viene bloccato. Le configurazioni ti consentono di configurare sia il numero di tentativi falliti che il periodo di blocco.

Indispensabile, perché se qualcuno vuole attaccarti intenzionalmente bloccando due o tre catene IP, non sarai limitato (le proxychain in connessione con qualsiasi software per password brute ti consentono di cambiare al volo la fonte delle richieste). Per Windows ci sono IPbanPro. In alternativa, puoi aggiungere computer o server Windows al dominio e bloccare l’utente sul controller di dominio, ma purtroppo qui non arriviamo da nessuna parte dal traffico. Sarebbe ottimale non consentire in generale l’accessibilità del PSR dall’esterno.

Server web e CMS

Al secondo postro degli attacchi informatici, vorrei menzionare i web server. La maggior parte dei servizi web si basa su Apache o Nginx.

Qui vorrei attirare la vostra attenzione anche sulle raccomandazioni di CIS, che forniscono un elenco dettagliato di tutto ciò che potete fare per proteggere il vostro server web o proxy da azioni non autorizzate. Alcune buone pratiche includono:

  1. Rimuovi la versione del server web di trasmissione. Per impostazione predefinita, i server Web pubblicano la versione. La disponibilità della versione esatta del servizio consente all’aggressore di navigare più facilmente, trovare vulnerabilità note e individuare un exploit se è già disponibile pubblicamente.
  2. Reindirizzamento automatico HTTP -> HTTPS. E non importa se si tratta di un prodotto disponibile a tutti dall’esterno o se si tratta di alcuni dei vostri servizi interni. Circa l’80% del traffico dell’intera rete Internet viene trasmesso in forma crittografata (tramite HTTPS) ed esistono già tecnologie per la sua ricerca. Fonti di dati sensibili nel caso della loro trasmissione in forma aperta, nel loro insieme, questo è il modo più semplice per perdere un account.
  3. Utilizzare un WAF (Web Application Firewall), almeno per le risorse utilizzate nell’accesso pubblico. Con la corretta configurazione, è in grado di risolvere numerosi problemi di sicurezza della risorsa web. Dagli attacchi DoS/DDoS alle varie tipologie di injection. Cloudflare WAF è attualmente la soluzione più popolare, ma non è l’unica. Se hai un fornitore che offre una soluzione simile e ti fidi di lui, benvenuto, come si suol dire.

Infine possiamo prendere in considerazione la componente meno ovvia di quasi tutte le applicazioni web: il sistema di gestione dei contenuti (CMS) come WordPress. Il cuore di ogni CMS è il suo pannello di amministrazione. Pertanto, prima di tutto, per rendere la vita un po’ più difficile agli aggressori, dovresti cambiare il percorso standard verso questo pannello. WordPress dispone di plugin speciali a questo scopo, come ad esempio il login WPS Hide.

Probabilmente avrai notato che ho prestato molta attenzione alla configurazione dei servizi e alla delimitazione degli accessi. Questi sono fattori di sicurezza davvero importanti sia per il proprio ambiente informativo che per quello aziendale, poiché gli accessi “interrotti” occupano il primo posto nella classifica OWASP TOP 10  tra i rischi per le applicazioni web, mentre gli errori di configurazione, a loro volta, occupano il quinto posto in questa classifica.

3. Valutazione della vulnerabilità

Secondo la OWASP Top 10, una delle principali fonti di rischio è l’uso di componenti obsoleti o vulnerabili. Mantenere sistemi e software aggiornati è quindi essenziale.

Le possibilità di attacchi qui sono letteralmente infinite, dato il numero di vulnerabilità scoperte ogni mese. Se si moltiplica questo per la mancanza di una gestione delle patch configurata correttamente, i rischi possono trasformarsi in minacce reali di compromissione dei dati.

È ottimale impostare aggiornamenti automatici regolari del proprio ambiente in modo che non influenzino le prestazioni della tua infrastruttura e non interrompano i processi precedentemente configurati. Tieni presente che alcuni aggiornamenti potrebbero richiedere il riavvio dell’host per avere effetto, quindi ne teniamo conto quando selezioniamo l’ora di riavvio.

I sistemi Windows consentono di ottimizzare i parametri di aggiornamento del sistema, incluso il tempo per i riavvii, utilizzando criteri locali o di gruppo:

I sistemi Linux possono essere un po’ più difficili, poiché gli strumenti centralizzati per gli aggiornamenti automatici del sistema non sono frendly quanto le policy di Windows. Solo Ansible può venire in soccorso. Questo pacchetto consente di definire con precisione quali aggiornamenti verranno installati sul sistema operativo e con quale regolarità.

4. Monitoraggio

In condizioni ideali, lo stato dell’intero ambiente dovrebbe essere completamente monitorato nella rete aziendale (la macchina virtuale o il server se è acceso o meno, lo spazio del disco, della RAM, ecc.), l’aggregazione e l’analisi dei registri da qualsiasi luogo (compresi di device di rete ), nonché la raccolta e l’analisi del traffico interno.

Un’infrastruttura sicura deve essere costantemente monitorata. Questo include:

  • Stato dei server (CPU, RAM, disco).
  • Analisi del traffico di rete.
  • Raccolta e analisi dei log.

Strumenti come Zabbix per il monitoraggio e soluzioni SIEM (sicurezza delle informazioni e gestione degli eventi) o SOAR (sicurezza orchestrazione, automazione e risposta) per l’analisi dei log permettono di avere una visione completa e reagire rapidamente agli incidenti. Il monitoraggio richiede tempo e risorse, ma offre un enorme vantaggio: trasparenza totale sullo stato dell’infrastruttura.

5. Contrastare gli attacchi legati a fattori non tecnici

Infine, non bisogna dimenticare il fattore umano. Molti attacchi sfruttano l’ingegneria sociale: email sospette, allegati dannosi, chiavette USB infette.

Le regole di base restano valide:

  • Non aprire link o allegati inattesi.
  • Non utilizzare dispositivi USB sconosciuti. Tali unità flash possono avere a bordo un software dannoso, che verrà installato automaticamente quando l’unità flash viene collegata al PC, oppure possono essere un banale killer USB, dove invece dei blocchi di memoria, su di essa sono saldati condensatori, che vengono caricati dalla porta USB, dopo di che rilasciano immediatamente la carica accumulata, che spesso causa danni fatali alla scheda madre o ad altri componenti del dispositivo .
  • Prestare attenzione quando si condividono dispositivi o accessori.

La sicurezza informatica non è solo tecnologia, ma anche consapevolezza e formazione. Senza queste, anche il sistema più avanzato può essere compromesso.

Conclusione

La sicurezza informatica, e in particolare la difesa contro il cyberterrorismo, non è mai il risultato di una singola tecnologia o di una singola configurazione. È un processo continuo, fatto di buone pratiche, formazione, monitoraggio e consapevolezza. Trascurare anche uno solo di questi aspetti può rendere vulnerabile l’intero sistema.