Così questo articolo non fornisce nessuna precisazione su come sfruttare le falle, ma spiega come poterle ridurre e correggerle.
Gli hacker con l'intenzione di introdursi nei sistemi informatici cercano innanzi tutto delle falle, cioè delle vulnerabilità nocive alla sicurezza del sistema, nei protocolli, sistemi operativi, applicazioni o anche nel personale di un'organizzazione! I termini di vulnerabilità, di breccia o in un liguaggio più familiare di buco di sicurezza (in inglese security hole) sono ugualmente utilizzati per definire le falle di sicurezza.
Per poter exploit (si tratta del termine tecnico per definire lo sfruttamento di un vulnerabilità), la prima tappa di un hacker consiste nel recuperare il massimo di informazioni rispetto all'architettura di rete e ai sistemi operativi e applicazioni su questo funzionanti. La maggior parte degli attacchi sono opera di script kiddies che provano per divertimento gli exploit trovati su Internet, senza conoscere il sistema, ne i rischi legati alle loro azioni.
Una volta che l'hacker ha stabilito una cartografia del sistema, è capace di applicare degli exploit relaviti alle versioni delle applicazioni che ha individuato. Il primo accesso ad un terminale gli permetterà di allargare la propria azione per recuperare altre informazioni, ed eventualmente di estendere i propri privilegi sul terminale stesso.
Quado si ottiene un accesso amministratore (si usa solitamente 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à allora i diritti più estesi sul terminale.
L'ultima tappa dell'hacker consiste nel cancellare la proprie tracce, per evitare ogni sospetto da parte dell'amministratore della rete compromessa e in modo tale da poter mantenere il più a lungo possibile il controllo dei terminali compromessi.
L'ottenimento delle informazioni sull'indirizzamento di rete prescelto, generalmente definito come presa d'impronte, è un atto preventivo di ogni attacco. Esso consiste nel raggruppare il massimo di informazioni possibili riguardo le infrastrutture di comunicazione della rete scelta :
Conoscendo l'indirizzo IP pubblico di uno dei terminali di rete oppure semplicemente il nome di dominio dell'organizzazione, un pirata è potenzialmente capace di conoscere l'indirizzamento di tutta la rete, cioè il campo degli indirizzi IP pubblici appartenenti all'organizzazione prescenta e la sua struttura in sub-reti. Per questo basta consultare le basi pubbliche di attribuzione degli indirizzi IP e dei nomi di dominio .
Quando il pirata conosce la tipologia della rete è in grado discannerrizzare (le terme balayer , cioè di determinare attraverso uno strumento software (detto scanner ou scanneur quali sono gli indirizzi IP attivi sulla rete, le porte aperte corrispondentei a dei servizi accessibili, e il sistema operativo utilizzato da questi server.
Uno degli strumenti più conosciuti per scannerizzare una rete è Nmap, considerato da numerosi amministratori di rete come uno strumento indispensabile alla sicurizzazione di una rete. Questo strumento agisce inviando dei pacchetti TCP e/o UDP ad un insieme di terminali in una rete (determinata da un indirizzo di rete e da una maschera), e poi analizza le risposte. Secondo l'aspetto dei pacchetti TCP ricevuti, sarà in grado di determinare il sistema operativo remoto per ogni terminale scannerizzato.
Esiste un altro tipo di scanner, detto mappatore passivo (uno dei più conosciuti è Siphon), che permette di conoscere la tipologia di rete dei collegamenti hardware sul quale il mappatore analizza i pacchetti. Contrariamente agli scanner precedenti, questo strumento non invia dei pacchetti sulla rete ed è quindi totalmente non rilevabile dai sistemi di rilevamento di intrusione.
Infine, alcuni strumenti permettono di catturare le connessioni X (un server X è un server che gestisce la visualizzazione dei terminali di tipo UNIX). Questo sistema ha come caratteristica di poter utilizzare la visualizzazione delle stazioni presenti sulla rete, per studiare quello che è visualizzato sugli schermi ed eventualmente intercettare i tasti premuti dagli utenti dei terminali vulnerabili.
Quando la scannerizzazione della rete è terminata, al pirata basta esaminare i file di loglogdegli strumenti utilizzati per conoscere gli indirizzi IP dei terminali connessi alla rete e le porte attive su quest'ultima.
Il numero di porte attive sui terminali può dargli delle informazioni riguardo al tipo di servizio attivo e quindi invitarlo a interrogare il servizio per ottenere delle informazioni ulteriori sulla versione del server nelle informazioni dette di « banner ».
Così, per conoscere la versione di un server HTTP, basta connettersi al server Web su Telnet sulla porta 80 :
telnet it.kioskea.net 80poi richiedere la homepage :
GET / HTTP/1.0Il server risponderà con 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/GNUSi conosceranno così il sistema operativo, il server e la sua versione.
L'Ingegneria sociale (in inglese « Social Engineering ») consiste nel manipolare gli esseri umani, cioè utilizzare l'ingenuità e l'enorme gentilezza degli utenti della rete, per ottenere delle informazioni su questi ultimi. Questa procedura consiste nell'entrare in contatto con un utente 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 utenti della rete. Per dare l'accesso all'aggressore esterno basta che uno degli utenti apra l'allegato e lo esegua.
Questa è la ragione per cui la politica di sicurezza deve essere globale e integrare i fattori umani (ad esempio la sensibilizzazione degli utenti ai problemi di sicurezza) dato che il livello di sicurezza di un sistema è caratterizzato dal livello del suo anello più debole.
Dopo aver stabilito l'inventario del parco software ed eventualmente di quello hardware, l'hacker deve determinare l'esistenza di falle.
Esistono degli scanner di vulnerabilità che permettono agli amministratori di sottoporre le proprie reti a dei testi di intrusione per constatare se certe applicazioni possiedono o meno delle falle di sicurezza. I due principali scanner di falle sono :
Si consiglia inoltre agli amministratori di rete di consultare regolarmente i siti tenendo aggiornato un database delle vulnerabilità :
Una volta che il pirata ha mappato le risorse e i terminali presenti sulla rete, sarà capace di preparare la propria intrusione.
Per potersi introdurre sulla rete, il pirata ha bisogno di accedere a degli account validi sui terminali che ha individuato. Per fare questo, i pirati hanno a disposizione più metodi :
Quando il pirata ha ottenuto uno o più accessi sulla rete attraverso uno o più account poco protetti, cercherà di aumentare i suoi privilegi ottenendo l'accesso root (in italiano superutente o superamministratore), si parla allora di Estensione dei privilegi.
Dal momento in cui un accesso root è stato ottenuto su un terminale, l'attaccante ha la possibilità di esaminare la rete alla ricerca di ulteriori informazioni.
Gli sarà quindi possibile installare uno sniffer (en anglais sniffer, cioè un software capace di ascoltare reniffler( in inglese sniffing) il traffico di rete proveniente o destinato ai terminali posti sullo stesso BRIN. Grazie a questa tecnica, il pirata può sperare di recuperare l'accoppiata ID/password che gli permette di accedere a degli account con privilegi estesi ad altri terminali di rete (ad esempio l'accesso all'account amministratore) per essere capace di controllare buona parte della rete.
I server NIS presenti sulla rete sono anche dei bersagli scelti dai pirati dato che traboccano di informazioni sulla rete stessa e i suoi utenti.
Grazie alle tappe precedenti, il pirata ha potuto mappare completamente la rete, i terminali che vi si trovano, le loro falle e ha un accesso root ad almeno uno di essi. Gi sarà quindi possibile estendere ancora la sua azione sfruttando le relazioni di convalida esistenti fra i diversi terminali.
Questa tecnica di usurpazione di identità, detta spoofing, permette di penetrare su reti privilegiate alle quali il terminale compromesso ha accesso.
Quando un pirata è riuscito ad infiltrarsi su una rete aziendale e a compromettere un terminale, può succedere che voglia ritornarvi. Per questo può installare un'applicazione per creare artificialmente una falla di sicurezza, si parla allora di Porta nascosta (in inglese backdoor, le terme trappe).
Uno volta che l'intruso ha ottenuto un livello di controllo sufficiente sulla rete, non gli resta che cancellare le tracce del proprio passaggio eliminando i file che ha creato e pulendo i file di log dei terminali nei quali si è introdotto, cioè sopprime delle linee di attività riguardanti le sue azioni.
Esistono inoltre dei software detti « kits racine » (en anglais « rootkits » che permettono di sostituire gli strumenti di amministrazione del sistema con delle versioni modificate per mascherare la presenza del pirata nel sistema stesso. In effetti, se l'amministratore si connette nello stesso momento del pirata, è possibile che noti i servizi che il pirata ha lanciato o semplicemente che un'altra persona è connessa simultaneamente. L'obiettivo di un rookit è quindi di indurre in errore l'amministratore nascondendo la realtà.
Sta a responsabile della rete connessa a Internet di occuparsi della sua sicurezza, e di conseguenza di testarne le falle.
E' la ragione per cui un amministratore di rete deve essere al corrente delle vulnerabilità dei software che utilizza e « mettersi nei panni di un pirata » per provare ad introdursi nel proprio sistema fino quasi ad essere in uno stato di continua paranoia.
Quando le competenze interne all'azienda non sono sufficienti per eseguire nel modo corretto questa operazione, bisogna far eseguire un controllo 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.