Cosa ne pendi del blog?

domenica 3 agosto 2008

Con che logica agiscono gli Hacker

Premesso che esistono diversi tipi di hacker che svolgono attività diverse e quindi inseguono obiettivi diversi, prenderemo in considerazione il caso più grave: ovvero quello dell'hacker che tenta di intrufolarsi all'interno di una rete aziendale per cercare di rubare informazioni preziose; il classico esempio di spionaggio industriale.

Gli hacker, oltre che per le loro qualità tecniche, sono famosi per saper sfruttare le debolezze delle loro vittime, sia tecnologiche che umane. Cercano quindi di individuare una vulnerabilità che possa permettere loro di raggiungere il loro scopo, o quantomeno che possa permettergli di trovare una strada alternativa per arrivare a destinazione.

Benchè non esista una procedura standard che gli hacker seguono durante le loro attività illecite possiamo riassumere il loro percorso nei seguenti passi:

Footprinting
Scanning
Enumeration
Gaining access
Escalating privilege
Pilfering
Copertura tracce
Creazione Backdoors
Denial of Service
Analizziamo nello specifico questi step.

Footprinting:

In questa fase l'attacker (l'hacker) reperisce informazioni sulla sua vittima, partendo anche da un semplice nome si mette alla ricerca di siti internet, numeri di telefono, range di indirizzi IP e tutto cio' che puo' servire per avere il maggior numero di informazioni sulla sua vittima. Su internet esistono un'infinità di strumenti gratuiti (e perfettamente legali) per acquisire informazioni. Ad esempio partendo da un nome di dominio è possibile consultare dei database whois pubblici che permettono di identificare il proprietario del sito con relative informazioni personali, indirizzo e numero di telefono.

Scanning:

Una volta indivuata la vittima si prosegue isolando i sistemi che diventeranno oggetto dell'attacco. Si cerca in questa fase di isolare gli indirizzi IP delle macchine esposte su internet che forniscono servizi. L'hacker agisce in base al principio che dice che laddove c'e' un servizio fornito c'e' una porta TCP o UDP aperta, di conseguenza c'e' un'applicazione che la gestisce... e le applicazioni sono vulnerabili.

Enumeration:

L'hacker ha individuato la macchina che subirà l'attacco, vuole ora capire che tipo di servizi sono presenti sul computer. Tramite dei tool di port scanning individua le porte aperte e le applicazioni che le gestiscono. In questa fase si usa una tecnica mista tramite l'uso di tools automatici ma anche di comandi manuali, ciò ovviamente presumedo che l'attacker disponga delle conoscenze tecniche adeguate. Una tecnica che in molti casi produce buoni risultati è quella del banner grabbing, che consiste nel catturare via telnet il banner iniziale che alcune applicazioni propongono, dove viene esplicitamente dichiarata l'applicazione, la versione e l'eventuale livello di patching. Tutte informazioni preziosissime per chi attacca.

Gaining Access:

E' una delle fasi più delicate, l'attacker penetra nei sistemi sfruttando le vulnerabilità individuate grazie agli step precedenti, ma anche utilizzando metodi più semplici come ad esempio il brute force, un tipo i attacco che prevede di indovinare la password di un utente. benchè possa sembrare impossibile indovinare la password in realtà è molto più facile di quello che si pensi, molti utenti infatti hanno la pessima abitudine di scegliere password facili da ricordare come ad esempio il nome del figlio, o della moglie, la propria data di nascita o il codice fiscale. L'hacker che sa compiere opera di social engineering entra ben presto in possesso di queste informazioni e di conseguenza è in grado di indovinare la password entro breve. Il brute force prevede anche l'uso di "dizionari di password", ovvero un elenco di parole generalmente usate come password, un tool automatico si occupa poi di provare tutte le password dell'elenco fino a trovare quella giusta (questo tipo di attacco tutt'oggi funziona 2 volte su 3!)

Escalating privilege:

L'hacker è dentro il sistema, ma è riuscito solamente ad acquisire accesso come utente normale, un livello di privilegio non sufficiente per compiere attività illecite. L'attacker ha bisogno di acquisre i privilegi di amministratore (o superuser). Anche in questo caso vale il discorso del brute force, ma più geeralmente si tenta di sfruttare vulnerabilità di applicazioni che risiedono sulla macchina vittima. Il metodo più diffuso è quello del buffer overflow, ovvero l'hacker cerca di passare una quantità di dati superiore a quella che l'applicazione riesce a gestire, in genere questo causa lo stop dell'applicazione mettendo in grado l'attacker di entrare automaticamente nel sistema con i privilegi massimi, cioè esattamente quello che stava cercando!

Pilfering:

Il sistema nel quale l'hacker è entrato potrebbe non essere quello di destinazione finale, ma solamente un punto intermedio. Il pilfering consiste nel trovare la strada verso il sistema target che può essee il repository del database centrale o il computer dell'amministratore delegato. Le informazioni necessarie si trovano proprio all'interno della macchina dove l'hacker è riuscito ad avere accesso, la lista degli host che godono di una trust relationship può essere un buon punto di partenza.

Copertura tracce:

Come tutti i ladri che si rispettino anche l'hacker non deve lasciare tracce, e le tracce in gergo informatico si chiamano "log", ovvero dei file dove vengono registrate le attività che gli amministratori compiono. I log hanno proprio lo scopo di individuare intrusi e permetterne il rintracciamento. A seconda del tipo di macchina e di sistema operativo l'hacker sa esattamente dove andare a cercare i log di sistema e come modificarli a mano per fare in modo che non risulti la sua presenza, in pratica diventa invisibile all'occhio di chi analizza i log.

Creazione backdoor:

Compiere un'intrusione informatica è tutt'altro che semplice, una volta che l'attacker è riuscito a penetrare un sistema non può permettersi di dover ripetere tutte le volte la stessa procedura, sarebbe un'enorme perdita di tempo. La soluzione è rappresentata dalle backdoor, ovvero da piccoli programmi che permettono a chi attacca di potersi collegare in maniera quasi trasparente e diretta alla macchina, permettendogli di compiere tutte le operazioni di amministrazione, comprese quelle di estrazione dati. Una backdoor può anche essere un semplice account creato ad oh dall'hacker con privilegi di amministratore, mascherato in modo che non dia troppo nell'occhio al vero amministratore della macchina.

Denial of service:

L'attacco DoS può essere portato una volta concluse le attività per cui ci si è intrufolati nel sistema vittima. Una volta acquisiti i privilegi di amministratore è estremamente semplice avviare o fermare i processi che regolano il funzionamento delle applicazioni. nei casi più gravi l'hacker può provocare danni permanenti che, come unica soluzione, prevedono la reinstallazione totale del sistema.

Non è facile dire quanto duri un attacco in termini di tempo, sicuramente possiamo dire che esiste tutta una fase di analisi che può andare avanti per settimane prima che l'attacco venga effettivamente sferrato, ecco perchè è importante che gli amministratori controllino periodicamente le attività che vengono svolte sulle loro macchine in maniera approfondita cercando di individuare le connessioni sospette.

Esistono strumenti per il rilevamento di attacchi hacker, ma, come dice una famosa pubblicità, prevenire è meglio che curare.

Nessun commento: