penetration test (ipotesi di sviluppo)
1 Oggetto... 3 2 Premesse... 3 3 Attività svolte durante l analisi... 3 3.1 Ricerca delle vulnerabilità nei sistemi... 4 3.2 Ricerca delle vulnerabilità nelle applicazioni web... 4 4 Tempi per la realizzazione del penetration test... 5 2
1 Oggetto Scopo del presente documento è fare una rapida panoramica sulle attività di penetration testing che verranno effettuate sul server e sull applicazione web del cliente. 2 Premesse L attività di penetration testing non è una scienza esatta e non garantisce l individuazione di tutte le vulnerabilità presenti sui sistemi informatici coinvolti nell analisi. Il risultato di un penetration test ha una validità limitata nel tempo perché non è possibile garantire che il sistema non sia esposto a vulnerabiità future non ancora individuabili. L analisi verrà condotta adottando tecniche e metodi (usati comunemente dagli hacker) per la realizzazione di attacchi reali, secondo un approccio di tipo Black Box: ponendosi, cioè, nella prospettiva di un potenziale utente malintenzionato completamente all oscuro del funzionamento della rete, dei sistemi associati e degli applicativi raggiungibili dall esterno. Non verranno usati DoS con l intento di rendere inaccessibili i servizi remoti. Le informazioni raccolte durante l attività, non verranno in alcun modo divulgate. 3 Attività svolte durante l analisi L analisi verrà suddivisa in due parti: 1) ricerca delle vulnerabilità nei sistemi 2) ricerca delle vulnerabilità nelle applicazioni web e verranno forniti due documenti di analisi differenti, ma non necessariamente indipendenti l uno dall altro. Per entrambi, verranno eseguite due tipologie di test: a. un test generico, mediante l uso di tool automatici ( vulnerability scanners ) che velocizzano il processo di ricerca delle vulnerabilità, ma generano anche falsi positivi che dovranno a loro volta essere verificati b. un test approfondito, mediante l uso di metodologie e tecniche note che hanno un duplice scopo: verificare l output prodotto dal test del punto a. e individuare eventuali altre vulnerabilità che i tool automatici non sono in grado di determinare 3
Nei due paragrafi seguenti, verranno descritte brevemente le macroattività di cui si compone l analisi. Queste verranno eseguite secondo un ordine di priorità e compatibilmente con il tempo a disposizione per il test. 3.1 Ricerca delle vulnerabilità nei sistemi Si tratta di un insieme di attività che hanno lo scopo di individuare possibili vie di accesso al server e ottenerne il controllo (anche parziale). L analisi si basa sulle seguenti macroattività: 1. acquisizione delle informazioni relative al server da testare (e/o alla rete di appartenenza, con lo scopo di individuare eventuali relazioni di trust tra il server e altri sistemi della rete stessa) 2. identificazione dei servizi remoti del server 3. identificazione delle vulnerabilità note per i servizi individuati al punto 2. 4. eventuale accesso abusivo sfruttando le vulnerabilità trovate al punto 3. 3.2 Ricerca delle vulnerabilità nelle applicazioni web E una serie di attività di analisi delle applicazioni web con lo scopo di individuare vulnerabilità che possano consentire, direttamente o indirettamente, un accesso abusivo al server ospitante. L analisi si basa sulle seguenti macroattività: 1. acquisizione delle informazioni: fase in cui si cerca di capire il funzionamento dell applicazione anche attraverso l analisi delle request-response tra browser e webserver. Nel caso in cui l applicazione web sia nota e sviluppata da terze parti, si procede con uno studio delle vulnerabilità note, relative a quella particolare applicazione 2. test sulla configurazione dell applicazione per individuare file non referenziati o di backup, link errati ecc. 3. test di autenticazione per individuare punti deboli nei meccanismi di autenticazione degli utenti 4. test sulle autorizzazioni per verificare che utenti con privilegi limitati siano effettivamente impossibilitati a compiere azioni non previste dalle specifiche dell applicazione 5. test sulla gestione della sessione in cui si verifica, ad esempio, l impossibilità per un utente 4
di sostituirsi ad un altro (session hijacking) mediante una manipolazione dei cookies 6. test della business logic che è un test complesso da affrontare e descrivere perché non è strettamente definibile dal punto di vista tecnico, ma si basa sull intuito dell analista e sulla capacità di interpretare e manipolare la logica alla base dell applicazione 7. test sulla validazione dei dati in cui si verifica l impossibilità di effettuare sql injection, command injection e altri tipi di attacchi via web 4 Tempi per la realizzazione del penetration test Il tempo necessario per la realizzazione dell analisi descritta è strettamente correlato al livello di dettaglio che si vuole ottenere. Verranno quindi decisi, insieme al cliente, i tempi di consegna in base alle esigenze. 5