Penetration Test

Penetration Test, la guida definitiva per le aziende

Se fino a pochissimi anni fa i penetration test potevano essere considerati come attività ad appannaggio esclusivo di aziende molto esposte sul piano della cybersecurity, come istituti finanziari, enti assicurativi e organizzazioni deputate a erogare servizi critici, oggi si può dire, senza tema di smentita, che non esista impresa che non ne abbia assoluto bisogno. 

Viviamo in un'epoca in cui la domanda non è più “se”, ma “quando” avverrà un incidente informatico.  Un'accurata valutazione dei presidi che difendono la continuità dei processi operativi è imprescindibile per salvaguardare il business. Ma come si effettua un penetration test, e quali sono i tool e le procedure che meglio si attagliano alle esigenze di ciascuna azienda? Lo scopriamo in questa guida. 

Cos’è il penetration test 

Cominciamo col circoscrivere e definire l'ambito di cui stiamo parlando: il penetration test - o test di penetrazione, o anche pen test - è una metodologia che consente di valutare la sicurezza di un sistema informatico simulando, previa autorizzazione degli amministratori, un attacco da parte di un aggressore esterno. I penetration tester, in altre parole, utilizzano gli stessi strumenti, le stesse tecniche e gli stessi processi degli attaccanti. Solo così è possibile individuare le falle del sistema e quantificarne poi l'impatto sul business reale sia dal punto di vista operativo, sia rispetto al piano economico e a quello reputazionale. 

I vantaggi del penetration test  

I vantaggi legati a un utilizzo sistematico dei test di penetrazione sono evidenti: innanzitutto, un penetration test effettuato correttamente permette di individuare e identificare vulnerabilità presenti nei sistemi, nelle reti o nei network messi al vaglio. Il che può voler dire portare alla luce problemi di sicurezza che potrebbero essere stati ignorati o non ancora scoperti, oppure emersi con l'evoluzione e la stratificazione dell'ecosistema IT aziendale. 

Diventare consapevoli delle vulnerabilità insite nell'infrastruttura è il primo passo per studiare contromisure adeguate non solo per rispondere colpo su colpo agli attacchi, ma anche e soprattutto per prevenire gli incidenti informatici. 

La conduzione di penetration test all'interno di un ambiente controllato d'altra parte è essenziale nell'ottica di migliorare la preparazione dell'organizzazione di fronte a un attacco reale e, per definizione, imprevedibile. Da una parte, infatti, gli addetti alla cybersecurity testano i processi e gli strumenti che hanno messo in campo per gestire gli incidenti, dall'altra la popolazione aziendale può mettere alla prova la propria capacità di risposta. Possiamo anzi dire che i test di penetrazione giocano un ruolo fondamentale proprio per rivelare inefficienze o lacune nelle procedure esistenti. 

Non si può poi sottovalutare l'apporto che il penetration test può offrire sul fronte della compliance: per le organizzazioni che gestiscono dati sensibili o che operano nel già citato comparto finanziario, infatti è spesso richiesta una verifica indipendente, tramite per l'appunto pen test ad hoc, per dimostrare che le misure di sicurezza siano conformi ai framework del settore di riferimento. 

Sintetizzando, i vantaggi offerti da un penetration test riguardano la capacità di: 

  • individuare le vulnerabilità non note presenti nel sistema 
  • verificare l'effettiva efficacia dei sistemi di difesa predisposti 
  • aumentare l'awareness e la readiness della popolazione aziendale in caso di incidenti 
  • migliorare la compliance normativa 

Le fasi da affrontare: come fare un penetration test 

Per condurre un esame completo e accurato del sistema, potrebbe essere necessario implementare penetration test con un numero variabile di fasi, a seconda del modello o del framework di riferimento utilizzato.  

In generale, comunque, sono sei le tipologie di azioni che contraddistinguono la gamma di operazioni necessarie a rendere efficace ciascuna sessione e per gestire in modo corretto i processi associati: discover, prioritize assets, assess, remediation, report e verify. Si tratta di attività che vanno essenzialmente condotte a quattro mani, promuovendo la cooperazione tra aziende ed esperti di cybersecurity. 

Tipicamente, il processo si svolge in questo modo: 

1. Raccolta delle informazioni 

Si raccolgono tutti i dati sul sistema o sulla rete oggetto del test. Questa fase include di solito anche l'analisi dell'infrastruttura di rete, l'identificazione dei servizi in esecuzione. Si determina, in altre parole, quali applicazioni o target analizzare e le frequenze con cui farlo, per poi eseguire le attività anche in modo ricorrente. La pianificazione include anche le attività necessarie a ottenere tutte le approvazioni necessarie e il coinvolgimento dei dipendenti o degli utenti interni. 

2. Discovery 

Dopo aver definito gli ambiti e gli obiettivi del test, l'organizzazione stabilisce il perimetro di analisi e identifica le risorse coinvolte: si comincia così la fase di discovery sulla superficie di attacco, enumerando ad esempio tutte le macchine e i servizi coinvolti.  

3. Vulnerability assessment 

Gli esperti di sicurezza informatica identificano le vulnerabilità specifiche presenti nel sistema o nella rete. Possono essere utilizzati strumenti di automated vulnerability assessment per effettuare una scansione di vulnerabilità note o analisi delle configurazioni di sicurezza. 

4. Penetration Test 

Una volta identificate alcune vulnerabilità nella precedente fase, i responsabili di cybersecurity adottano tecniche di hacking che ricalcano quelle utilizzate dagli aggressori esterni, per validare quanto già trovato e cercare nuovi punti deboli.  

5. Analisi, Valutazione delle vulnerabilità e documentazione dei risultati 

Alla fine del test, viene effettuata un'analisi dei risultati per valutare l'impatto delle vulnerabilità scoperte e la gravità dei potenziali rischi per l'organizzazione. Viene anche fornita una documentazione dettagliata delle azioni compiute durante il penetration test, al fine di consentire all'organizzazione di comprendere le ragioni sottostanti alla presenza di falle e di prendere le azioni correttive necessarie. 

6. Proposta di remediation 

Infine, i risultati del penetration test vengono presentati all'organizzazione, di solito attraverso un rapporto dettagliato che descrive le vulnerabilità individuate, gli scenari sfruttati e, fondamentale, una serie di raccomandazioni per migliorare la sicurezza complessiva del sistema o della rete. 

Tipologie di penetration test  

Come detto, non esiste una ricetta univoca per svolgere una sessione di testing. Esistono in realtà diverse tipologie di penetration test e variano in funzione degli obiettivi da raggiungere e dei requisiti dell'organizzazione che vuole mettere alla prova i propri sistemi.  

Sono tre le categorie di penetration test che vanno per la maggiore: la prima, il black box test, prevede che chi simula l'intrusione disponga di informazioni limitate sul sistema o sulla rete oggetto del test, così da immedesimarsi pienamente nella prospettiva di un attaccante esterno. L'obiettivo è testare l'efficacia delle contromisure di difesa senza avere informazioni privilegiate. 

Nel white box test, al contrario, l'accesso alle informazioni relative al sistema o alla rete da testare è completo e può includere le configurazioni, il codice sorgente e dati di natura riservate. Un penetration test di questo tipo serve soprattutto a identificare vulnerabilità su ampie superfici d'attacco. 

Scegliendo di effettuare un grey box test, infine, si mettono a disposizione dei tester alcune informazioni privilegiate, ma non l'accesso completo ai sistemi. 

A seconda poi dell'area di indagine che si vuole sviluppare, questi tre approcci si possono declinare come internal o external. 

Tipologie di software per penetration test 

Ma pragmaticamente quali strumenti bisogna mettere nella cassetta degli attrezzi per effettuare un test di penetrazione accurato? Il mercato offre un'ampia gamma di tool appositamente progettati per automatizzare alcune fasi del test, facilitando l'analisi e l'identificazione delle vulnerabilità.  

Si possono citare innanzitutto i software per la scansione automatizzata delle vulnerabilità, capaci di identificare i punti deboli dei sistemi analizzati, a partire da vulnerabilità note, servizi non protetti o vulnerabilità specifiche delle applicazioni web. Gli strumenti per l'analisi del traffico di rete sono invece applicazioni che monitorano e analizzano i flussi presenti all'interno del network per identificare potenziali vulnerabilità o attività sospette. Esistono infine anche soluzioni “chiavi in mano” concepite per testare la sicurezza di reti o sistemi specifici, che consentono agli esperti di sicurezza informatica di eseguire una serie di test di penetrazione con tool preconfigurati.  

Differenze tra vulnerability assessment e penetration test 

Occorre a questo punto fare una precisazione rispetto a un potenziale elemento di confusione: molti pensano che penetration test e vulnerability assessment siano sostanzialmente la stessa cosa. In realtà si tratta di due attività distinte, entrambe cruciali per valutare la sicurezza di un sistema. 

Il vulnerability assessment viene generalmente effettuato utilizzando strumenti automatizzati che esaminano il sistema o la rete alla ricerca di vulnerabilità note, come configurazioni errate, porte aperte o software desueto. La scansione delle vulnerabilità ha lo scopo di identificare potenziali punti deboli utilizzando un approccio perlopiù automatizzato. Tuttavia, non fornirà una valutazione completa delle misure di sicurezza del sistema o della rete.  

Il penetration test è invece un insieme di attività più approfondite ed esaustive che, come si è visto, si caratterizzano per diverse fasi e per l'uso di strumenti complementari e stratificati, nonché per le azioni manuali di specialisti di cybersecurity che emulano le azioni di un eventuale attaccante. 

Penetration testing vs Red teaming  

Le attività di penetration testing presentano infine delle affinità con quelle di red teaming, ma anche qui occorre fare le dovute distinzioni, in quanto i processi potrebbero essere uno alternativo all'altro. 

A differenza del penetration test, il red teaming è un approccio più ampio e sfumato, che prevede l'ingaggio di un gruppo di esperti di sicurezza informatica, i quali cercano di assumere il ruolo di aggressori esterni ed eseguire una serie di attacchi a vasto raggio contro un'organizzazione o un sistema nella sua interezza. Questo metodo, decisamente più radicale, mira a mettere in discussione l'intera infrastruttura di sicurezza di un'organizzazione, verificando la resistenza complessiva del sistema alle minacce esterne. A differenza del penetration testing, il red teaming è molto più strutturato e può quindi includere attacchi di social engineering, test fisici oltre alla cooperazione dei dipendenti stessi.  

New call-to-action

Articoli Correlati