L’hacking è l’atto di identificare e sfruttare vulnerabilità presenti in sistemi informatici che, tipicamente, porta all’accesso ed alla manipolazione di basi dati, software, dispositivi o reti di trasmissione.
Per via delle connotazioni negative, siamo portati ad immaginare l’hacking come una attività malevola, spesso associata al cyber crimine. Frequentemente accade, invece, che le pratiche associate all’hacking siano relative ad attività del tutto lecite, volontariamente commissionate da privati o imprese proprio per valutare la postura di sicurezza dei sistemi informativi.
Per quanto, un determinato sistema, possa essere implementato con cura e perizia, vi è sempre la possibilità che esso possa essere esposto a minacce imputabili, ad esempio, a carenze negli aggiornamenti o ad errori scovati e rivelati assai di recente (vulnerabilità zero-day).
Hacking etico
Smarchiamo dunque un fatto: l’hacker non è sempre malintenzionato
Con il termine white hat sono indicati gli hacker che agiscono in modo etico (Ethical Hackers), allo scopo di scovare vulnerabilità, riportandole su commissione o divulgandole per allertare la comunità.
E’ proprio questa la differenza che distingue i white hats dai black hats (o criminal hackers), mentre gli ultimi agiscono per sfruttare le vulnerabilità a proprio favore, senza curarsi di infrangere le leggi, quelli etici si limitano a dimostrare le vulnerabilità, restando nella legalità ed aiutando terzi a correre ai ripari.
Solitamente un white hat agisce come consulente per aziende che commissionano Vulnerability Assessment o Penetration Test, prefiggendosi l’obiettivo di ottimizzare le difese proprio a seguito dei risultati di questo tipo di attività, atte a scovare potenziali falle e la complessità legata allo sfruttamento delle medesime.
Più hackers etici possono lavorare di concerto in attacchi che simulano avversari e tecniche reali, in questo caso si parla di red teaming.
Cosa avviene durante una azione di hacking
Si tratta di un processo dinamico che richiede competenze tecniche, conoscenza delle vulnerabilità di sistemi e software e comprensione delle tattiche di sfruttamento.
Ciascun attacco può variare a seconda della sua natura e degli obiettivi specifici. In generale i passaggi sono:
- Ricognizione: Gli attaccanti eseguono una fase di ricerca, anche di tipo OSINT: Open Source Intelligence, per raccogliere informazioni sul bersaglio, come la sua topologia di rete, i sistemi operativi utilizzati e le eventuali vulnerabilità note.
- Sfruttamento: Utilizzando le informazioni raccolte, vengono sfruttate le vulnerabilità per accedere al sistema. Questo può essere attuato tramite tecniche di ingegneria sociale, come phishing, o tramite vulnerabilità software, come exploit di buffer overflow. Un exploit è un software o una sequenza di comandi che sfrutta un errore o una vulnerabilità per provocare un determinato comportamento nel software, nell’hardware o in qualsiasi dispositivo elettronico.
- Accesso: Una volta ottenuto l’accesso, avvengono i movimenti all’interno della rete per ottenere ulteriori privilegi o accedere a dati sensibili.
- Mantenimento dell’accesso: Gli attaccanti cercano di mantenere il controllo sul sistema compromesso, installando backdoor o impiegando tecniche di mantenimento delle sessioni.
- Esfiltrazione: vengono sottratti dati sensibili o informazioni di proprietà della vittima, che possono essere utilizzate per scopi illeciti o cedute dietro compenso.
- Copertura: vengono coperte le tracce, cancellando i log di sistema e distruggendo eventuali prove delle azioni perpetrate.
Qualche esempio
Un attacco può comportare il rilevamento di passwords tramite decodifica o brute forcing, che consiste nel tentare le possibili combinazioni alfanumeriche, anche partendo da dizionari di passwords precostituiti.
L’impianto di malware, la cattura delle battute di tasti, e l’intercettazione del traffico di rete, sono tra le azioni comunemente svolte.
Un attacco di tipo DoS (Denial of Service) è meno articolato ma efficace nel creare disservizi causati dalla quantità di richieste indirizzate verso il sistema vittima, che non riesce a sopportare grandi volumi di traffico, a maggior ragione se si trova a far fronte ad un DDoS (Distributed Denial of Service), ovvero ad una grossa mole di richieste proveniente da più sorgenti riunite in una botnet (rete di computers infetti da codice malevolo, remotamente controllati da un attaccante per scatenare un attacco simultaneo in rete).
Come possiamo difenderci?
Un hacker può essere mosso da motivazioni differenti che possono riguardare il guadagno finanziario, lo spionaggio, le convinzioni politiche o sociali. Ciò che conta maggiormente è la forte determinazione a conseguire i risultati. Per questo, l’adozione di forme di prevenzione è decisiva ai fini della individuazione e il contrasto degli attacchi. Tra esse possiamo annoverare:
- Sistemi di sicurezza: installare software di sicurezza come firewall, antivirus e software di rilevamento di intrusioni.
- Aggiornamenti software: mantenere il software e i sistemi operativi aggiornati è importante per prevenire gli attacchi basati su vulnerabilità note.
- Password sicure: impostare password complesse e univoche e utilizzare l’autenticazione a due fattori per proteggere l’accesso ai sistemi e ai dati sensibili.
- Addestramento degli utenti: formare gli utenti sui rischi informatici e su come evitare di essere vittime di phishing, ingegneria sociale e altre minacce.
- Backup: eseguire regolarmente il backup dei dati importanti può aiutare a ripristinare i sistemi in caso di perdita delle informazioni.
- Monitoraggio: verificare regolarmente i sistemi e i registri di sicurezza per identificare eventuali attività sospette o anomalie.
Collaborazione: lavorare con esperti di sicurezza informatica può aiutare a identificare e risolvere le vulnerabilità e ad implementare misure di sicurezza adeguate.