| PrecedenteTipologia di pirati | Sicurezza - Metodologia di un'intrusione in una rete | SeguenteExploit |
Inoltre questo articolo non da nessuna precisazione rispetto al modo in cui le falle sono sfruttate, ma spiega come scoprirle e correggerle.
Gli hacker intenzionati ad introdursi nei sistemi informatici cercano in un primo tempo delle falle, cioè delle vulnerabilità nocive alla sicurezza del sistema, nei protocolli, nei sistemi operativi, nelle applicazioni o nel personale stesso di un'organizzazione! I termini di vulnerabilità, di falla o più familiarmente di buco di sicurezza (in inglese security hole) sono ugualmente usati per designare le falle di sicurezza.
Per poter metter in atto un exploit (si tratta di un termine tecnico che significa sfruttare una vulnerabilità), l'hacker come prima cosa recupera il massimo di informazioni sull'architettura di rete e sui sistemi operativi e le applicazioni che su questo funzionano. La maggiorparte degli attacchi sono opera di script kiddies che provano stupidamente degli exploit trovati su internet, senza nessuna conoscenza del sistema, ne dei rischi legati alle loro azioni.
Una volta che l'hacker ha stabilito una cartografia del sistema, sarà capace di applicare gli exploit relativi alle versioni delle applicazioni che ha recensito. Il primo accesso ad un terminale gli permetterà di estendere la sua azione fino a recuperare le altre informazioni, e eventualmente di estendere i suoi privilegi sul terminale stesso.
Quando si ottiene un accesso amministratore (si usa il termine inglese root ), si parla allora di compromissione del terminale (o più esattamente in inglese root compromise), dato che i file di sistema sono suscettibili di essere stati modificati. L'hacker avrà quindi i diritti massimi sul terminale.
Se si tratta di un pirata, l'ultima tappa consiste nel cancellare le sue tracce, per evitare il minimo sospetto da parte dell'amministratore delle rete compromessa e da poter così mantenere più a lungo possibile il controllo dei terminali compromessi.
Lo schema seguente riassume la metodologia completa :
L'ottenimento d'informazioni sull'indirizzamento della rete bersaglio, solitamente qualificata dalla presa d'impronte, è primordiale per ogni attacco. Questo consiste nel mettere insieme il massimo di informazioni possibili riguardanti le infrastrutture di comunicazione della rete oggetto dell'attacco :
Conoscendo l'indirizzo IP pubblico di un terminale di rete o semplicemente il nome del dominio dell'organizzazione, un pirata può potenzialmente conoscere l'indirizzamento dell'intera rete, cioè il campo d'indirizzi IP pubblicati appartenenti all'organizzazione bersaglio nonché la sua divisione in sub-reti. A questo fine basta consultare le basi pubbliche d'attribuzione degli indirizzi IP e dei nomi di dominio :
La semplice consultazione dei motori di ricerca permette talvolta di raccogliere le informazioni sulla struttura di una società, il nome dei suoi prodotti principali, fino al nome di una parte del personale.
Quando il pirata conosce il tipo di rete, può scannerizzarla, cioè determinare attraverso uno strumento software (chiamatoscanner ) quali sono gli indirizzi IP attivi nella rete, leporte apertecorrispondente a servizi accessibili, e il sistema operativousato da questi server.
Uno degli strumenti più famosi per scannerizzare una rete èNmap, definito come indispensabile alla sicurizzazione di una rete da numerosi amministratori di rete. Questo strumento agisce inviando dei pacchetti TCP e/o UDP ad un gruppo di terminali in una rete (determinato da un indirizzo di rete e da una maschera), e poi ne analizza le risposte. Secondo l'aspetto dei pacchetti TCP ricevuti, gli è possibile determinare per ogni terminale scannerizzato il sistema operativo remoto.
Esiste un altro tipo di scanner, chiamatomappatore passivo(uno dei più conosciuti èSiphon), che permette di conoscere la tipologia di rete del ramo fisico sul quale il mappatore analizza i pacchetti. Contrariamente agli scanner precedenti, questo strumento non invia dei pacchetti sulla rete ed è quindi impossibile da individuare per isistemi di rilevamento d'intrusione.
Infine, alcuni strumenti permettono di catturare le connessioni X (un server X è un server che gestisce la visualizzazione dei terminali di tipoUNIX). Questo sistema ha come caratteristica di poter utilizzare la visualizzazione delle stazioni presenti sulla rete, così da studiare ciò che viene visualizzato sugli schermi ed eventualmente intercettare le personalizzazioni inserite dagli utilizzatori di terminali vulnerabili.
Una volta finita la scansione, al pirata basta esaminare il file nel log (log) degli strumenti usati per conoscere gli indirizzi IP dei terminali connessi alla rete e le porte aperte su quest'ultimi.
I numeri delle porte aperte sui terminali possono fornirgli delle informazioni sul tipo di servizio aperto e quindi invitarlo ad interrogare il servizio per ottenere delle informazioni supplementari sulla versione del server nelle informazioni dette di « bandiera ».
Così, per conoscere la versione di un server HTTP, basta connettersi al server Web in Telnet sulla porta 80 :
telnet it.kioskea.net 80poi chiedere la homepage :
GET / HTTP/1.0Il server fornisce allora le seguenti prime linee :
HTTP/1.1 200 OK Date: Thu, 21 Mar 2002 18:22:57 GMT Server: Apache/1.3.20 (Unix) Debian/GNUIl sistema operativo, il server e la sua versione sono a questo punto conosciuti.
L' Ingegneria sociale (in inglese « Social Engineering ») consiste nel manipolare gli esseri umani, cioè ad utilizzare l'ingenuità e la troppa gentilezza degli utilizzatori della rete, per ottenere delle informazioni sulla rete stessa. Questa procedura consiste nell'entrare in contatto con un utilizzatore della rete, facendosi passare solitamente per qualcun'altro, per ottenere delle indicazioni sul sistema d'informazione o eventualmente per ottenere direttamente una password. Allo stesso modo si può creare una falla di sicurezza nel sistema remoto inviando un cavallo di Troia ad alcuni utilizzatori della rete. Basta che un utilizzatore apra l'allegato per dare all'aggressore esterno un accesso alla rete interna.
Questa è la ragione per cui la politica di sicurezza deve essere globale ed integrare i fattori umani (ad esempio la sensibilizzazione degli utilizzatori ai problemi della sicurezza) visto che il livello di sicurezza di un sistema è caratterizzato dal livello della suo anello più debole.
Dopo l'inventario del parco software ed eventualmente anche dell'hardware, l'hacker deve determinare l'esistenza di possibili falle.
Vi sono degli scanner di vulnerabilità che permetto agli amministratori di sottoporre le loro reti a dei test d'intrusione per constatare se alcune applicazioni possiedono delle falle di sicurezza. I due principali scanner di falle sono :
Si consiglia inoltre agli amministratore di rete di consultare regolarmente i siti tenendo aggiornato un database delle vulnerabilità :
Una volta che il pirata ha redatto una cartografia delle risorse e dei terminali presenti sulla rete, può preparare la sua intrusione.
Per potersi introdurre sulla rete, il pirata ha bisogno di accedere a degli account validi sui terminali che ha recensito. Per farlo, i pirati utilizzano diversi metodi :
Quando il pirata ha ottenuto uno o più accessi sulla rete installandosi su uno o più account poco protetti, cercherà di aumentare i suoi privilegi ottenendo l'accessoroot(in italianosuperutilizzatoreo superamministratore), e si parla quindi di estensione di privilegi.
Non appena ottenuto questo accessorootsu un terminale, l'attaccante ha la possibilità di esaminare la rete alla ricerca di informazioni supplementari.
Gli è quindi possibile installare uno sniffer, cioè un software capace di ascoltare (il terminefiutare, o in inglesesniffing, sono ugualmente usati) il traffico di rete in provenienza o destinato ai terminali posti sullo stesso ramo. Grazie a questa tecnica, il pirata può sperare di recuperare le coppie identificavi/passwordche gli permettono di accedere agli account con dei privilegi estesi su altri terminali di rete (ad esempio l'accesso all'account di un amministratore) così da arrivare a controllare una parte più estesa della rete.
I server NIS presenti su una rete sono ugualmente dei bersagli scelti dai pirati visto che traboccano di informazioni sulla rete e i suoi utilizzatori.
Grazie alle tappe precedenti, il pirata ha potuto redigere una cartografia completa della rete, dei terminali che vi si trovano, delle loro falle e possiede un accessorootin almeno uno di essi. Gli è quindi possibile estendere ancora la sua azione sfruttando le relazioni d'approvazione esistenti tra i diversi terminali.
Questa tecnica d'usurpazione d'identità, chiamataspoofing, permette al pirata di penetrare delle rete privilegiate alle quali il terminale compromesso ha accesso.
Una volta che il pirata est riuscito ad infiltrarsi su una rete di società e a compromettere un terminale, può succedere che voglia poterci tornare. A questo scopo installerà un'applicazione per creare artificialmente una falla di sicurezza, si parla quindi di Porta nascosta (in inglesebackdoor, il terminebotola è talvolta ugualmente usato).
Quando l'intruso ha raggiunto un livello di conoscenza sufficiente della rete, non gli resta che cancellare le tracce del suo passaggio eliminando i file che ha creato e pulendo i file di log dei terminali nei quali si è introdotto, cioè cancellando le linee di attività che riguardano le sue azioni.
Peraltro, esistono dei software, detti « rootkits » (in inglese « rootkits ») che permettono di sostituire gli strumenti d'amministrazione del sistema con delle versioni modificate per mascherare la presenza del pirata nel sistema. In effetti, se l'amministratore si connette nello stesso momento del pirata, il primo potrebbe notare i servizi lanciati dal pirata o semplicemente accorgersi che un'altra persona diversa da lui è connessa simultaneamente. L'obiettivo del rootkit è quindi di ingannare l'amministratore nascondendogli la realtà.
Sta ad ogni responsabile di rete connessa ad internet di assicurarne la sicurezza, e quindi di testarne le falle.
Questa è la ragione per cui un amministratore di rete deve essere al corrente delle vulnerabilità dei software che utilizza e deve « mettersi nei panni del pirata » provando ad introdursi nel proprio sistema e rimanere quindi in una situazione di paranoia continua.
Quando le competenze all'interno della società non sono sufficienti per svolgere questa operazione, conviene far controllare la situazione da una società specializzata in sicurezza informatica.
Articolo scritto da Jean-François PILLOU, ispirato da un articolo di GomoR.
Ultime modificazione ilvenerdì 6 febbraio 2009 alle 16:52:03.