Hacking: Che cos’è, come funziona e tipi di attacchi e intrusioni

Hacking: Che cos’è, come funziona e tipi di attacchi e intrusioni

Hacking

Un sistema informatico dovrebbe fornire confidenzialità, integrità e disponibilità dei dati. Con il termine confidenzialità si intende la protezione dei dati e delle informazioni scambiate tra un mittente e uno o più destinatari nei confronti di terze parti. In un sistema che garantisce la confidenzialità, una terza parte che entri in possesso delle informazioni scambiate tra mittente e destinatario, non è in grado di ricavarne alcun contenuto informativo intelligibile.

Con il termine integrità si intende la protezione dei dati e delle informazioni nei confronti delle modifiche del contenuto effettuate da una terza parte, essendo compreso nell’alterazione anche il caso limite della generazione ex novo di dati ed informazioni. Insito nel concetto di integrità vi è la possibilità di verificare con assoluta certezza se un dato o una informazione sono rimasti integri, ossia inalterati nel loro contenuto, durante la loro trasmissione e/o la loro memorizzazione. In un sistema che garantisce l’integrità, l’azione di una una terza parte di modifica del contenuto delle informazioni scambiate tra mittente e destinatario, viene quindi rilevata. Infine con il termine disponibilità si intende la prevenzione della non accessibilità, ai legittimi utilizzatori, sia delle informazioni che delle risorse, quando informazioni e risorse servono.

Il concetto quindi, oltre che riguardare dati ed informazioni, è esteso a tutte le possibili risorse che costituiscono un sistema informatico, come, ad esempio, la banda di trasmissione di un collegamento, la capacità di calcolo di un elaboratore, lo spazio utile di memorizzazione dati, ecc. Tuttavia, vista la crescente diffusione della connettività ad Internet e al vasto spettro di possibilità di commercio e di operazioni finanziarie online, sempre più sistemi sono vittime di attacchi e tentativi di intrusione.

Hacking: Che cos'è, come funziona e tipi di attacchi e intrusioni

Tassonomia degli attacchi e delle intrusioni

La comunità scientifica impegnata nella sicurezza informatica ha sviluppato numerose definizioni di attacchi informatici e intrusioni. Una delle definizioni di intrusione più utilizzata afferma che “una intrusione rappresenta un guasto o un difetto operativo causato da terzi con fini maligni”. Intrusioni informatiche e attacchi sono spesso considerati sinonimi ma in letteratura sono state date definizioni di attacco che differenziano i due concetti. Per esempio un sistema può essere attaccato sia dall’esterno che dall’interno, ma le difese a protezione del sistema possono essere tali da rendere vano ogni tentativo e prevenire le intrusioni.

Per questo motivo possiamo dire che un attacco è un tentativo di intrusione e una intrusione è il risultato di un attacco almeno in parte riuscito. Sono state fatte numerose classificazioni degli attacchi e delle intrusioni; la tassonomia qui proposta è generale ed è ottenuta esaminando e combinando le categorizzazioni e le tassonomie esistenti degli attacchi ai sistemi ed alle reti, pubblicati nella letteratura che riguarda gli intrusion detection system. Altre tassonomie si basano sulle cause delle vulnerabilità o sul risultato delle vulnerabilità.

La tassonomia qui proposta prevede la seguente classificazione:

  1. Tipo di attacco
  2. Numero di connessioni alla rete coinvolte nell’attacco
  3. Ambiente in cui avviene l’attacco
  4. Livello di automazione.
Tipi di attacco

Il più comune criterio in letteratura per classificare gli attacchi informatici e le intrusioni si basa sul tipo di attacco.

Denial of Service (DoS): questi attacchi tentano di rendere inutilizzabile la rete o un sistema, o di impedire l’utilizzo delle risorse o dei servizi agli utenti autorizzati. Ci sono due tipi di attacchi DoS:

  1. attacchi al sistema operativo, le cui vulnerabilità possono essere risolte applicando patch;
  2. attacchi alla rete, che sfruttano le limitazioni dei protocolli di rete e delle relative infrastrutture.

Probing (surveillance, scanning): questi attacchi prevedono scansioni della rete per identificare IP validi e su questi vengono raccolte informazioni. Spesso queste informazioni forniscono a chi attacca il sistema una lista di vulnerabilità che possono essere successivamente utili per lanciare attacchi a sistemi e servizi. Questi attacchi sono probabilmente i più comuni in quanto sono i precursori ad attacchi di altro tipo.

Compromissione: questi attacchi sfruttano vulnerabilità conosciute come per esempio buffer overflow e punti di debolezza dei sistemi per ottenere un accesso ed eventualmente accrescere i propri privilegi. In base alla sorgente di attacco, interna piuttosto che esterna, la compromissione del sistema può essere classificata in queste due categorie:

  1. R2L (Remote to Local) questi tipi di attacchi prevedono che un attaccante che è in grado di mandare pacchetti ad un sistema in rete (ma a cui non ha accesso non avendo un account) riesca ad ottenere una accesso. Esempi tipici di attacchi R2L sono: password-guessing, buffer overflow.
  2. U2R (User to Root) questi tipo di attacchi prevedono che un attaccante con un account sul sistema sia in grado di aumentare i propri privilegi sfruttando una vulnerabilità, un bug nel sistema operativo o in una applicazione installata nel sistema. Diversamente dagli attacchi R2L, in cui l’intruso cerca di entrare nel sistema, negli U2R l’attaccante è già un utente del sistema che intende però aumentare i propri privilegi al massimo diventando amministratore (root).

Virus/Worms/Trojan horse sono programmi che cercano di replicarsi e propagarsi tramite la rete. I Virus sono programmi che si riproducono attaccandosi ad altri programmi e infettandoli. I Virus possono causare parecchi danni ai sistemi ma possono anche essere innocui e causare solo fastidiosi scherzi. I virus tipicamente necessitano di una interazione umana per replicarsi su altri computer.

Al contrario i Worm sono programmi che si replicano autonomamente e che si diffondono velocemente attraverso la rete grazie a servizi automatici di invio e ricezione di pacchetti comunemente presenti nella maggior parte dei computer. I worm possono essere divisi nelle seguenti categorie: worm tradizionali, solitamente utilizzano le comuni connessione di rete per diffondersi e non necessitano dell’intervento di nessun utente; email worm, infettano gli altri computer della rete sfruttando i contatti email dell’utente o altre applicazioni client; Windows file sharing worms, si replicano utilizzando MS Windows peer-to-peer service, che si attiva tutte le volte che nel sistema viene rilevato un nuovo device; Hybrid worms, tipicamente sfruttano diversi tipi di vulnerabilità. Alcuni recenti worm vengono anche utilizzati per attacchi di tipo DoS.

I trojan horse vengono definiti come applicazioni maligne che tentano di danneggiare la sicurezza di un sistema mascherandosi come applicazioni lecite e non dannose. Per esempio, un utente scarica dalla rete Internet una applicazione che sembra essere una gioco, ma in realtà quando il programma viene eseguito, potrebbe cancellare tutti i dati presenti sul disco o fare qualsiasi altra azione maligna.

Numero delle connessioni

Gli attacchi informatici possono essere classificati in base al numero di connessioni di rete coinvolte. Esempi di attacchi che coinvolgono più connessioni di rete sono DoS, probing e worm. Gli attacchi che coinvolgono una singola connessione o un limitato numero di connessioni di rete di solito sono la causa della compromissione di un singolo sistema, come per esempio gli attacchi di tipo buffer overflow remoti. La maggior parte degli attacchi parte da un singolo sistema, ma nei casi di attacchi di Denial of Service distribuiti (DDoS) o altri attacchi organizzati, si hanno diverse sorgenti che possono partecipare all’attacco. Spesso oltre a partire da diversi sistemi, questi attacchi hanno anche diversi obiettivi. Rilevare questi attacchi distribuiti richiede uno studio e una correlazione delle informazioni ottenute dalla rete molto onerosa e non sempre efficace.

Ambiente in cui avviene l’attacco

Gli attacchi informatici possono essere classificati in base all’ambiente nel quale avvengono. Le intrusioni di tipo host sono rivolte ad un singolo sistema non connesso alla rete e possono essere rilevate analizzando le informazioni e i dati unicamente presenti sul sistema. L’identità di chi ha tentato l’attacco è tipicamente associata ad uno username, ed è quindi più semplice rilevare il colpevole.
Le intrusioni di rete (network intrusion) sono intrusioni che vengono effettuate tipicamente dall’esterno dell’organizzazione o dell’azienda e il rilevamento di queste avviene analizzando le informazioni contenute nel traffico di rete generato. Tuttavia queste analisi spesso non sono in grado rivelare la precisa identità di chi ha attaccato il sistema, siccome non c’è una reale ed univoca associazione tra le connessioni di rete e l’utente reale.
Le intrusioni nei sistemi peer-to-peer sono intrusioni che avvengono in sistemi che operano come peer nella rete Internet. Sebbene le applicazioni P2P di file sharing possono aumentare la produttività di una grossa rete aziendale, possono anche introdurre vulnerabilità, in quanto possono permettere agli utenti il download di codice eseguibile. Tali applicazioni possono nascondere backdoor maligne e non tracciabili sui sistemi interni e compromettere la sicurezza dell’intera azienda o organizzazione.
Le intrusioni in reti wireless possono essere generalmente rilevate analizzando il traffico che viene effettuato tra i sistemi coinvolti e il relativo punto di accesso wireless.

Tipicamente le minacce delle reti wireless possono essere separate in: eavesdropping (quando viene semplicemente intercettato il traffico di una comunicazione), intrusioni (quando si tenta di accedere al sistema o modificare i dati), communication hijacking (quando un finto nodo cattura tutto il traffico del canale di comunicazione, o un nodo fa da punto di accesso fasullo per attirare tutti i nodi e raccoglierne i dati confidenziali inviati), denial of service o attacco jamming (quando viene disturbato il canale di comunicazione con vari domini di frequenza, oggetti fisici e ostacoli portando alla caduta della comunicazione per quel o quei canali).

Livello di automazione

In base al livello di automazione dell’attacco possiamo avere le seguenti categorie.

  1. Attacchi automatici: utilizzano strumenti in grado di effettuare le operazioni basilari di probing e scanning su numerosi IP in tempi brevi. Utilizzando questi tool facilmente reperibili anche un attaccante inesperto è in grado di effettuare un attacco anche sofisticato. Questi tipi di attacco sono probabilmente i più comuni al giorno d’oggi.
  2. Attacchi semi-automatici: utilizzano script per le fasi di scanning e per compromettere il sistema o la rete, per l’installazione del codice d’attacco, e infine usano il sistema principale o master che gestisce tutti gli altri per specificare il tipo di attacco e l’indirizzo della vittima.
  3. Attacchi manuali: prevedono una fase di scanning manuale dei sistemi vittima che tipicamente richiede molto tempo e una conoscenza approfondita e una fase in cui conoscendo le vulnerabilità si scrive il codice per l’attacco. Attacchi di questo tipo non sono molto frequenti, ma sono tipicamente più dannosi e difficili da rilevare che i semiautomatici o gli automatici, in quanto danno all’attaccante più controllo sulle risorse. Esperti e gruppi organizzati di attaccanti generalmente usano questi tipi di attacchi per intrusioni in sistemi di importanza critica.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *