metodologia penetration test

Metodologia Penetration test: la guida step by step

Metodologia Penetration test – Non c’è dubbio che il Penetration test rappresenti una delle best practice per scovare i punti deboli della propria organizzazione dal punto di vista della Cyber Security.

In breve, Un Penetration test è una simulazione di un attacco Criminal Hacker il cui fine è quello di raccogliere quante più informazioni sul bersaglio scelto, individuando i punti di accesso più probabili, ma anche i più nascosti e insospettabili, tentando di violarli e analizzandone i risultati forniti sotto forma di reportistica.

Abbiamo già affrontato in dettaglio come si svolge un Penetration test, in questo articolo, invece daremo uno sguardo alle metodologie e agli standard che vengono impiegati per portare a termine l’attività.

Per portare a termine il Penetration test Swascan segue rigorosamente le seguenti metodologie di riferimento:

  • OWASP Testing Guide
  • Penetration Testing Execution Standard
  • OSSTMM

Queste prevedono le seguenti fasi:

Metodologia Penetration test: Information Gathering

Metodologia Penetration test – L’obiettivo di questa fase è la raccolta di informazioni utili per le fasi successive e al contempo determinare le potenziali superfici di attacco. Viene effettuato attraverso la raccolta di informazioni sugli asset in-scope, la scansione delle porte, l’enumerazione di servizi, delle applicazioni e degli utenti.  Ha l’obiettivo di raccogliere informazioni utili sul bersaglio come una lista di nomi di dominio, l’architettura della piattaforma, una mappatura degli indirizzi IP, dei virtual Host, delle possibili applicazioni e delle potenziali porte attive e dei servizi associati ed infine un elenco di nominativi ed e-mail che potrebbero venire utilizzate in caso di attacchi di Social Engineering. In questa fase è rilevante l’attività di Cyber Threat Intelligence. L’attività viene effettuata attraverso un processo di ricerca, individuazione e selezione delle informazioni disponibili pubblicamente relative ai domini, sottodomini ed indirizzi e mail con possibili password utilizzate. Il servizio non effettua alcun test di sicurezza sul target: opera unicamente sulle informazioni disponibili sul web o dark web. In base alle informazioni raccolte a livello OSINT (Open Source Intelligence) e Closint (Close Source Intelligence) sono identificate le possibili criticità e vulnerabilità.

  Vulnerability Scan and Analysis

Metodologia Penetration test – La fase di Vulnerability Scan e Analysis prevede l’esecuzione di scansioni automatizzate e semi-automatizzate non invasive condotte avvalendosi dei sistemi di sicurezza preventiva della piattaforma Swascan, al fine di rilevare la presenza di vulnerabilità note all’interno dell’infrastruttura informatica oggetto di analisi. Tali scansioni sono successivamente integrate da verifiche manuali eseguite da personale altamente qualificato, volte ad eliminare i falsi positivi eventualmente introdotti dagli strumenti di analisi automatica. Tale modalità operativa consente di offrire test esaustivi effettuati coprendo l’intera superficie di attacco del sistema IT.

 Exploitation

Metodologia Penetration test – In questa fase, sulla base delle risultanze rilevate nelle fasi precedenti, in particolare nella fase di vulnerablity assessment e analisi, l’attività si concentra nello stabilire un accesso al sistema, aggirando gli eventuali sistemi e controlli di sicurezza presenti.

È a questo punto che svolgono un ruolo importante l’esperienza del tester e la metodologia utilizzata. Il tester si comporta come un vero e proprio attaccante, tentando di aggirare le difese adottate per l’obiettivo definito dal cliente. In questa fase il tester potrà anche identificare nuove vulnerabilità e codificarne gli exploit.

 Post Exploitation

Metodologia Penetration test – Nella fase di post exploitation si valuta il valore dell’asset che si è riusciti a compromettere, lavorando nel contempo per garantirsi l’accesso anche per possibili usi futuri. Il valore viene determinato essenzialmente da due fattori:

  • dal valore dei dati in essa contenuti;
  • da quanto la macchina possa essere utile per compromettere altre macchine e quindi per muoversi all’interno dell’infrastruttura.

Evidentemente, in questa come in tutte le altre fasi, le azioni condotte saranno all’interno di quanto stabilito nello scope definito inizialmente.

Reporting

Metodologia Penetration test – La fase di reporting riguarda la preparazione del presente report, affinché al cliente sia chiaro quali azioni sono state intraprese all’interno dello scope definito, con quali motivazioni e con quali risultati, con la dovizia di evidenze tale per cui sia possibile ricostruire e ripercorrere i percorsi intrapresi dal tester per sfruttare le vulnerabilità rilevate.

L’attività prevede orientativamente la seguente documentazione:

  1. Executive Summary ( in ppt e pdf)
  2. Full Report (pdf)
  3. Action Plan Report (pdf)
  4. Information Gathering Report (pdf)
  5. Automated Vulnerability Scan and Assessment (pdf)
  6. Technical Reports:
    1. Exploiting Report (pdf)
    2. Post-Exploiting Report (pdf)
  7. Eventuali allegati

Metodologia Penetration test: tutte le metriche di riferimento

Di seguito tutti gli standard di riferimento per i Penetration Test Swascan

CWE

Il sistema Common Weakness Enumeration (CWE) è una lista formale delle tipologie di debolezze che affliggono il software, ed il suo scopo è: essere utilizzato come “linguaggio comune” per descrivere le debolezze delle architetture, della progettiazione e del codice del software; essere utilizzato dai software di sicurezza che “cercano” queste debolezze, come sistema di misurazione standard delle debolezze stesse; essere utilizzato come baseline standard per l’identificazione, la mitigazione e la prevenzione delle debolezze del software.

Il progetto è sponsorizzato dall’Office of Cybersecurity and Communications (CS&C), U.S. Department of Homeland Security, e ad esso partecipano decine fra le più grosse aziende produttrici di software, con l’intento di individuare, risolvere e prevenire le debolezze del software.

CVE

Il Common Vulnerabilities and Exposures (CVE) è un dizionario che fornisce le definizioni di vulnerabilità note e di cattive conzioni di software, che possono compromettere la confidenzialità, l’integrità e la disponibilità delle informazioni memorizzate nel sistema in cui quel software è installato. Lo scopo di CVE è quello di fornire una classificazione comune che permetta a vari tool, servizi e database, la condivisione delle informazioni sulla sicurezza Un CVE è caratterizzato da:

  • la sigla identificativa;
  • la descrizione;
  • almeno un riferimento pubblico.

CVSS

Il Common Vulnerability Scoring System (CVSS) è uno standard di settore libero e aperto per la valutazione della gravità delle vulnerabilità della sicurezza del sistema informatico. Il CVSS tenta di assegnare punteggi che misurino la gravità delle vulnerabilità, permettendo, in questo modo, di dare priorità alle risposte e alle risorse da mettere in campo, in base alla gravità della minaccia. Il punteggio è calcolato sulla base di una formula che dipende da diverse metriche. Nella formulazione basilare, le metriche prese in considerazione sono:

  • vettore d’attacco;
  • complessità dell’attacco;
  • privilegi richiesti;
  • interazione con l’utente;
  • impatti sui dati e risorse gestite dal sistema affetto dalla vulnerabilità, relativamente a:
    • confidenzialità
    • integrità
    • disponibilità

Vettore d’Attacco

Questo parametro tiene conto del contesto necessario per portare a termine con successo lo sfruttamento della vulnerabilità. Evidentemente, la possibilità di effettuare l’attacco dalla rete, ad esempio, innalza il punteggio di gravità della vulnerabilità rispetto alla sola sfruttabilità dalla macchina locale, in quanto permette una platea maggiore di possibili attaccanti. I possibili valori sono:

  • N: network
  • A: adjacent
  • L: local
  • P: physical

Complessità dell’attacco

Questa metrica tiene conto di quanto sia complesso porsi nelle condizioni necessarie per effettuare lo sfruttamento con successo della vulnerabilità. Evidentemente, meno condizioni particolari sono richieste, più è facile porsi nelle giuste condizioni per effettuare l’attacco, e, quindi, più pericolosa e grave è la vulnerabilità rilevata.

I possibili valori per questa metrica sono:

  • L: low
  • H: high

Privilegi Richiesti

Questa metrica influenza il punteggio finale del CVSS sulla base di quali privilegi siano richiesti per portare a termine lo sfruttamento della vulnerabilità in oggetto: meno privilegi saranno richiesti per effettuare l’attacco, maggiore è la gravità della vulnerabilità; viceversa, se una vulnerabilità sarà sfruttabile solo con i privilegi, ad esempio, di amministratore di dominio, sarà più difficile per l’attaccante porsi in queste condizioni e quindi questo abbasserà la pericolosità della vulnerabilità.

I possibili valori per questa metrica sono:

  • N: none
  • L: low
  • H: high

Interazione con l’Utente

Questa metrica prende in considerazione l’eventuale necessità di un intervento attivo da parte dell’utente (ovviamente, una persona differente dall’attaccante) affinché la vulnerabilità possa essere sfruttata con successo. La non necessità di un intervento umano, rende l’attaccante totalmente indipendente ed autonomo e pertanto rende l’attacco più insidioso e pericoloso. Viceversa, la necessità che l’utente faccia qualcosa, come ad esempio il click su un pulsante, riduce la pericolosità dell’attacco stesso.

I possibili valori per questa metrica sono:

  • N: none
  • R: required

Impatti

Questa metrica fotografa gli effetti di una vulnerabilità sfruttata con successo su quelli che sono i dati e le risorse gestite dal componente affetto dalla vulnerabilità in oggetto. Gli impatti sono misurati sulla:

  • confidenzialità riferita alla capacità di limitare l’accesso e la divulgazione di informazioni solo agli utenti autorizzati, nonché ad impedirne l’accesso o la divulgazione a quelli non autorizzati. I possibili valori per questa metrica sono:
    • H: high
    • L: low
    • N: none
  • integrità, si riferisce all’affidabilità e garanzia di veridicità delle informazioni. I possibili valori per questa metrica sono:
    • H: high
    • L: low
    • N: none
  • disponibilità del componente stesso oggetto della vulnerabilità. I possibili valori per questa metrica sono:
    • H: high
    • L: low
    • N: non

Scope

Questa metrica fotografa la possibilità che una vulnerabilità su un componente che si trova al dì sotto di un determinato ambito di sicurezza, possa impattare un altro componente che si trova oltre l’ambito di sicurezza del componente iniziale. Se lo sfruttamento della vulnerabilità non permette il superamento delle “barriere” imposte dall’ambito iniziale, la vulnerabilità viene considerata meno grave. Viceversa, lo spostamento su componenti al dì sotto di altri ambiti, o, in altri termini, il cambiamento di ambito, ne aumenta la pericolosità.

Questa metrica prevede due possibili valori:

  • U: unchanged
  • C: changed

Severity

Tutte le metriche viste sopra concorrono alla formazione di un punteggio numerico che riflette quindi la gravità della vulnerabilità riscontrata. Il punteggio numerico può quindi essere tradotto in una rappresentazione qualitativa (come bassa, media, alta e critica) per aiutare le organizzazioni a effettuare una valutazione corretta e dare la priorità ai loro processi di gestione delle vulnerabilità.  Nella tabella seguente si riportano i livelli di classificazione della gravità delle vulnerabilità e la relativa spiegazione.

Severity CVSSv3 Explanation
CRITICAL 9.0 – 10.0  

Le vulnerabilità di rischio critico avranno un effetto bloccante sul servizio. Le vulnerabilità di questo livello di solito portano alla completa compromissione dell’host interessato insieme alla possibile rete su cui risiede. Nella maggior parte dei casi, l’exploit richiede poca o nessuna conoscenza e può essere facilmente implementato.

 

HIGH 7.0 – 8.9  

Le vulnerabilità di rischio critico avranno un effetto bloccante sul servizio. Le vulnerabili-tà di questo livello di solito portano alla completa compromissione dell’host interessato insieme alla possibile rete su cui risiede. Nella maggior parte dei casi, l’exploit richiede poca o nessuna conoscenza e può essere facilmente im plementato. Le vulnerabilità ad alto rischio saranno in grado di accedere a informazioni potenzialmente sensibili e causare condizioni di DoS (denial of service). La severity è ridotta in quanto le vul-nerabilità sono più difficili da sfruttare rispetto a quelle di rischio critico.

 

MEDIUM 4.0 – 6.9  

Le vulnerabilità a rischio medio richiederanno molto spesso un’ulteriore determinazione e ca-pacità tecnica per creare un impatto evidente. In alcuni casi, questi problemi richiedono un alto livello di risorse che possono es-sere disponibili solo da parte di un progetto finanziato.

 

LOW 0.1 – 3.9  

Le vulnerabilità a basso rischio hanno un impatto molto limitato sul business di un’organizzazione. Lo sfruttamento di tali vulnerabilità richiederebbe l’accesso privilegiato locale o essere utilizzato in combinazione con altre vulnerabilità.

 

INFO 0.0  

Queste vulnerabilità non presentano alcun rischio, tuttavia sono state inserite nel report a scopo informativo per l’utente.

 

 

CAPEC

Il Common Attack Patterns Enumeration and Classification (CAPEC) è un progetto pubblico che mette a disposizione un catalogo pubblico di pattern di attacco, che aiuta gli utenti a capire come un avversario sfrutti le vulnerabilità delle applicazioni ed in generale di tutto ciò che abbia capacità cyber. Gli “Attack Patterns” sono le descrizioni degli attributi e gli approcci utilizzati dagli attaccanti per sfruttare le debolezze note su quelle che sono le funzionalità cyber di un asset. Gli attack patterns definiscono le difficoltà che un avversario potrebbe incontrare nell’ambito dell’attacco e come aggirarli.

Ognuno di questi patterns cattura la conoscenza di come alcune specifiche parti di un attacco sono progettate e eseguite, e dà indicazioni su come diminuirne l’efficacia.

Cyber Risk Rating Methodology

Scoprire le vulnerabilità è importante, ma essere in grado di stimare il rischio associato all’azienda è altrettanto importante. All’inizio del ciclo di vita, è possibile identificare i problemi di sicurezza nell’architettura o nella progettazione utilizzando la modellazione delle minacce . Successivamente, è possibile riscontrare problemi di sicurezza utilizzando la revisione del codice o il penetration test . Oppure i problemi potrebbero non essere scoperti fino a quando l’applicazione non sarà in produzione e non sarà effettivamente compromessa.

Seguendo l’approccio qui, è possibile stimare la gravità di tutti questi rischi per l’azienda e prendere una decisione informata su cosa fare in merito a tali rischi. Avere un sistema per la valutazione dei rischi farà risparmiare tempo ed eliminerà la discussione sulle priorità. Questo sistema contribuisce a garantire che l’attività non venga distratta da rischi minori, ignorando i rischi più gravi che sono meno ben compresi.

La metodologia adottata da Swascan fa riferimento alla metodologia OWASP. L’approccio per identificare l’Overall Cyber Security Risk Level si basa su:

Overall Cyber Risk Level= Likelihood Factors * Impact Factors

Likelihood Factors

Likelihood Factors
Threat Agent Factors Vulnerability Factors
Skill Level Ease of Discovery
Motive Ease of Exploit
Opportunity Awareness
Size Intrusion Detection

 

Impact Factors

Impact Factors
Technical Impact Factors Business Impact Factors
Loss of Confidentiality Financial Damages
Loss of Integrity Reputation Damages
Loss of Availability Non Compliance
Loss of Accountability Privacy Violation

 

Overall Cyber Risk Level

Infine viene fornito il calcolo dell’esposizione al rischio Cyber complessivo, dato dalla formula:

Overall Cyber Risk Level= Likelihood Factors * Impact Factors.

Autore: Pierguido Iezzi

AvatarDa anni mi occupo di CyberSecurity e Digital Innovation. Ho fondato e seguo diverse start-up. La mia passione per la Sicurezza Informatica mi ha portato a lanciare Swascan di cui sono il Co-Fondatore insieme a Raoul Chiesa. Swascan è la prima piattaforma di CyberSecurity, in cloud, SaaS e Pay for Use.
La mia frase è “Ognuno di noi è le risposte alle domande che si pone”.

I nostri servizi

Vulnerability
Assessment

Network
Scan

Code
Review

GDPR
Assessment

Domain threat
intelligence

ON PREMISE

Servizi Swascan