Per poter garantire l'effettiva sicurezza dei nostri
sistemi è necessario capire come si potrà muovere un aggressore
esterno e applicare adeguate contromisure. Non possiamo sapere quanto
è efficace una protezione finché non proviamo a eluderla,
quindi dobbiamo scovare noi stessi i punti vulnerabili, prima che lo
faccia qualcuno con intenzioni meno nobili.
L'avvicinamento di un hacker alla nosta rete inizierà con due
passaggi fondamentali, la scansione e l'enumerazione. La scansione
consiste nel "bussare" a tutte le porte per trovare quelle
aperte, che naturalmente rappresentano un possibile punto di accesso.
Con enumerazione invece si intende la raccolta di informazioni
sensibili che il nostro computer lascia incautamente trapelare. Infine
bisogna saper interpretare questi dati per mettere a punto un attacco.
Questi passaggi implicano nozioni che, come è ovvio supporre,
non tutti hanno. Fortunatamente non è necessario "studiare
da hacker" per testare la nostra sicurezza, soprattutto da quando
i Security Scanner lo fanno per noi: queste famigerate applicazioni
sono in grado di eseguire la scansione e l'enumerazione, interpretare
i risultati e fornire le informazioni necessarie in una manciata di
secondi.
Uno degli analizzatori più conosciuti è il Retina®
Network Security Scanner, frutto della ricerca di eEye Digital
Security. I suoi punti di forza sono l'interfaccia grafica, ben realizzata
e con tutti gli strumenti di facile accesso, la velocità di esecuzione
e una tecnologia di Intelligenza Artificiale per la raccolta delle informazioni.
Il database di vulnerabilità viene costantemente aggiornato;
è anche possibile creare delle regole per la rilevazione di falle
non contenute nel database (Audits Wizard).
Installazione
I requisiti minimi per l'installazione sono: 32 mb
di RAM, 16 mb di spazio su disco, Internet Explorer 4 o superiore, Windows
NT 4 SP3 o superiore (2000/XP). Dopo aver effettuato la registrazione
sul sito del prodotto riceveremo una e-mail con il link da cui scaricare
il programma. La versione demo è valida per 30 giorni ed è
limitata in alcune funzioni. Possiamo ricevere una demo completa di
tutte le funzioni contattando l'ufficio vendite o un rivenditore autorizzato.
Prima di iniziare la copia dei files sul disco, il programma di setup
ci domanderà se installare due componenti aggiuntivi, MDAC
(Microsoft Data Access Components) e MSJet. Questi
sono indispensabili a Retina per accedere alle informazioni dei suoi
database; se non sappiamo se i componenti sono già presenti nel sistema
è bene selezionare entrambe le opzioni.
La schermata iniziale del programma contiene informazioni sulla versione
di Retina e sulle versioni dei database utilizzati: CVE
(Common Vulnerabilities and Exposures), un dizionario che è diventato
uno standard per identificare le vulnerabilità conosciute, e
SANS20, una lista delle 20 vulnerabilità critiche
più diffuse redatta in collaborazione con l'FBI. Nella versione
completa viene eseguito ad ogni avvio il programma di update, che troviamo
anche in Tools > Updates, e che ci permette di scegliere fra due
connessioni (una utilizza il protocollo Secure-HTTP).
L'interfaccia di Retina è ben congegnata,
tutti gli strumenti più importanti sono accessibili dalla schermata
principale. Nella barra dei menu troviamo View, che
ci permette di decidere le modalità di visualizzazione dei componenti
del programma.
Il menu verticale a sinistra dello schermo, Shortcuts View,
consente di accedere ai vari moduli di Retina: Browser, Miner, Scanner
e Tracer. Sono anche presenti dei links ai più importanti database
e portali sulla sicurezza informatica, che verranno aperti direttamente
nel browser interno del programma. La barra degli strumenti contiene
il campo per l'inserimento dell'indirizzo IP (o del nome del dominio)
da analizzare.
La finestra principale, chiamata Content View, è
utilizzata da tutti i moduli per visualizzare i risultati e le informazioni
raccolte. Quando siamo nella modalità Scanner, la visualizzazione
Content si presenta sotto forma di menu espandibile. A fianco troviamo
la Outline View, una lista degli indirizzi IP analizzati
con classificazione secondo il livello di rischio. Quando selezioniamo
un dato nella modalità Content, la Details View ci
consente di visualizzare informazioni dettagliate a riguardo.
Configurazione
Possiamo adattare le funzionalità di Retina alle nostre esigenze attraverso il dialogo Tools > Options. Nella scheda General troviamo diverse opzioni:
- Speed, definisce il numero di processi disponibili
per ogni modulo. La velocità della scansione sarà
maggiore all'aumentare dei processi utilizzabili, ma questo influirà
sulle prestazioni del computer. - Modules, consente di impostare il numero di macchine
da controllare contemporaneamente . - Ping Timeout, imposta il tempo massimo di attesa
per la risposta del computer da analizzare. Retina esegue un ping
del sistema remoto prima di iniziare la scansione. - Data Timeout, imposta l'attesa per una risposta
se il trasferimento di dati viene interrotto. - Create log, genera un file di log dell'operazione
in corso. - Show as tray icon..., visualizza Retina nella
system tray quando è ridotto a icona. - Auto update, possiamo scegliere se eseguire o
meno il controllo automatico degli updates.
Spostandoci nel dialogo Alerts troviamo le impostazioni
per inviare messaggi di allerta ogni volta che viene rilevata una vulnerabilità
della gravità specificata. I messaggi di alert possono essere
locali (una finestra di dialogo o un avviso sonoro) e remoti (tramite
il servizio Messenger o via e-mail). Il pannello Schedule
permette di impostare una pianificazione per la scansione del computer
locale.
Politiche
Entriamo in Tools %gt; Policies , dove possiamo decidere
come il nostro scanner deve comportarsi durante l'analisi dei sistemi.
Dal menu a discesa selezioniamo una delle opzioni disponibili: Complete
Scan, Port Scan, SANS20, etc. Una politica è un insieme di regole,
possiamo constatare che le opzioni in Ports e Audits variano a seconda
della policy selezionata. Cliccando su Add potremo definire una politica
personalizzata.
Ecco le altre preferenze nel dialogo principale (alcune sono disponibili
solo nella versione completa):
- Force Scan; lo scanner analizzerà anche
i sistemi che non rispondono al ping (per congestione della rete
o a causa delle misure di sicurezza). - Disable Ping..; lo scanner non tenterà
di effettuare ping e traceroute prima della scansione. - Enable Connect Scan Mode; modifica il tipo di
connessione al sistema remoto, potrebbe rallentare il funzionamento
del programma. - CHAM; attiva la funzionalità Common Hacking
Attack Methods per il protocollo specificato. Si tratta di un metodo
intrusivo, potrebbe mandare in crash il sistema remoto.
Il dialogo Ports contiene una lista di porte riconosciute
dallo scanner con relativa descrizione. Possiamo decidere quali porte
eslcudere dalla scansione, oppure abilitare l'opzione Perform
Full Port Scan che rileverà qualsiasi porta aperta nell'intervallo
0-65535. Anche il dialogo Audits consente di personalizzare
la scansione, in questo caso i tipi di vulnerabilità da analizzare.
Nella parte sinistra troviamo una classificazione delle vulnerabilità
a seconda del servizio o del protocollo affetto, a destra vengono specificate
le singole voci in ordine per applicazione.
Se ci servisse solamente una scansione del server web basterebbe deselezionare
le altre voci. In questo modo potremmo migliorare la velocità
dello scanner effettuando un'analisi mirata. Per ogni falla è
disponibile una descrizione particolareggiata con relativa soluzione
o patch. Se non abbiamo particolari esigenze, la configurazione di default
(Complete Scan) andrà più che bene.
Per iniziare la scansione inseriamo nel campo Address
l'indirizzo IP del sistema da analizzare, o il nome
del computer se siamo in una rete. Nel caso volessimo effettuare la
scansione di più computers, basterà selezionare Edit
> IP Range, quindi inserire l'intervallo di indirizzi da
considerare e cliccare su Add. Facciamo click sul pulsante Start o premiamo
invio per avviare lo scanner.
I risultati vengono presentati sotto varie voci. La prima fornisce informazioni
di carattere generale come indirizzo IP, nome del computer, tempo di
risposta. La seconda voce, Audits, è quella
che più ci interessa: qui sono elencate tutte le vulnerabilità
trovate dallo scanner, in ordine di rischio. L'icona rossa viene utilizzata
per un rischio elevato, arancione per rischio medio, giallo per rischio
basso e verde per le semplici informazioni.
Se stiamo eseguendo la scansione del
computer locale, oppure di un sistema poco protetto, avremo molte informazioni
riguardo alle impostazioni degli account e del registro di Windows.
La dicitura "Default Administrator Account"
significa che l'utente con maggiori privilegi è attivo con il
nome preimpostato, cioè Administrator. Questo favorisce un aggressore
perchè, conoscendo già il nome dell'amministratore, basterà
cercare la password.
Nella maggior parte dei casi si presuppone che, preso atto della vulnerabilità
presente, seguiremo le istruzioni per neutralizzarla. Il programma infatti
ci fornisce tutte le informazioni necessarie a comprendere la natura
del problema e a risolverlo, selezionando una delle voci nella scheda
Audits. Oltre alla descrizione della falla e del livello di rischio
troviamo suggerimenti per la soluzione e i link necessari a patch e
advisories.
Per alcuni problemi, come quelli relativi al registro di sistema, viene
spiegata la procedura passo passo per fissare il bug. Se preferiamo
non perdere tempo, oppure il bug si presenta su un'altra macchina della
nostra rete (e disponiamo di privilegi sul sistema in questione), basterà
utilizzare la tecnologia AutoFix integrata nel programma:
una popup ci avviserà che Retina è in grado di risolvere
il problema, basterà fare click sul bottone "Fix
It". Prima però sarebbe bene informarsi sulla natura
della falla e sulla soluzione adatta per il nostro sistema.
La voce successiva, Machine, fornisce informazioni
sulla data e sull'ora remote, oltre che sul sistema operativo rilevato.
Degno di nota il fatto che Retina è l'unico security scanner
commerciale a disporre del database di NMAP (Network
Mapper) sul fingerprint dello stack TCP/IP, per una rilevazione più
accurata del sistema operativo remoto.
La voce Ports elenca le porte aperte con la descrizione
del protocollo associato. Per quanto riguarda le porte di uso non comune,
la descrizione potrebbe non essere esatta: alcuni servizi aprono una
porta casuale che lo scanner identificherà con il nome del servizio
a cui solitamente è riservata. Per saperne di più leggiamo
le informazioni dettagliate, che riferiscono tutti i banner
catturati (ossia l'output prodotto dall'applicazione remota quando interrogata).
Seguono le voci Services che elenca i servizi in esecuzione
e Shares dove troviamo il nome delle condivisioni attive.
Sotto la voce Users possiamo controllare gli utenti
del sistema (se si tratta di un computer remoto, le informazioni vengono
raccolte sfruttando un bug del NetBIOS). I dati raccolti sugli utenti
sono molto dettagliati, comprendono l'ora dell'ultimo accesso al sistema,
la presenza di password, il numero totale di accessi, i privilegi, la
durata della password.
Possiamo salvare i risultati della scansione dal menu File %gt; Save.
Retina fornisce anche la possibilità di generare un report completo
in HTML con tutte le informazioni dettagliate. Possiamo impostare questa
funzione dal menu Tools %gt; Reports.
Il modulo Miner serve per trovare
files e pagine nascoste su un server Web. Agisce in base a una Intelligenza
Artificiale programmata per fare migliaia di tentativi (tramite richieste
GET di HTTP) utilizzando come parole chiave i termini contenuti nel
file brain.ini che troviamo nella cartella di installazione
sotto ModulesRetinaMiner. Possiamo aggiungere parole chiave a seconda
delle esigenze.
Il modulo Tracer consiste in un semplice traceroute
grafico. Vengono mostrati gli indirizzi IP di tutti gli intermediari
fra noi e il sistema remoto (routers, proxy etc) con il relativo tempo
di risposta. Retina continuerà ad aggiornare il traceroute finché
non daremo noi lo stop.
Una funzionalità molto utile è
l'Audit Search, che troviamo nel menu Tools. Ci permette
di effettuare una ricerca all'interno del database di Retina, per trovare
la vulnerabilità che ci interessa. Possiamo cercare in tutti
i campi oppure in uno specifico (nome, categoria, descrizione, bugtraq
id, cve). I risultati vengono ordinati per applicazione. Facendo click
su uno di questi avremo la descrizione dettagliata del bug e la soluzione
consigliata.
Per i più esperti la versione completa offre anche la possibilità
di creare regole di audit personalizzate, tramite il menu Audit
Wizard. Possiamo scegliere l'aspetto del sistema remoto da
enumerare: il banner di un servizio, il registro di sistema, uno script
CGI o la presenza di un Service Pack.
Secondo il tipo di audit selezionato avremo diverse opzioni, per esempio
il tipo Banner richiede di specificare un sistema operativo
e il protocollo da utilizzare, oltre alla stringa oggetto di verifica.
Il tipo CGI Script invece permette di controllare la
presenza di uno script o di una particolare pagina web , conoscendo
l'URL della stessa sul server remoto. Le regole create tramite Audit
Wizard potranno essere gestite dal pannello Tools %gt; Policies, come
tutte le regole predefinite del programma.
L'esecuzione del modulo Scanner di Retina,
per comodità, può avvenire tramite riga di comando. Questo
permette di automatizzare il controllo con propri script e pianificare
le scansioni, e può essere molto utile se dobbiamo eseguire un
controllo periodico della nostra rete.
Le opzioni supportate da questa modalità sono le seguenti:
- IPRange, intervallo di indirizzi IP da analizzare
o percorso di un file host di Retina (*.rti). - Policy, nome della politica da utilizzare. Se non
inserito, il programma utilizzerà quelle di default. - Outputfile, percorso e nome del file di output
(*.rtd). Se inseriamo un asterisco Retina utilizzerà data e
ora della scansione come nome file. - Report, percorso e nome del file di report da generare
(*.htm). - DSN, nome del DSN da usare per salvare i dati (annulla
il valore Outputfile).
Ecco qualche esempio di utilizzo delle opzioni da riga di comando:
retina.exe /IPRange="192.168.1.1-255"
/Policy="Complete Scan 05 .rtp"
retina.exe /IPRange ="c:indirizzi.rti" /Report="c:reportsrete
locale.htm"
retina.exe /IPRange="192.168.1.1-10" /DSN="RETINA"
/Policy="New.rtp"
Per eseguire periodicamente Retina possiamo anche utilizzare le Operazioni Pianificate (da Pannello di controllo), impostando i parametri in Opzioni avanzate.