pentest

Penetration Testing

“Un penetration test, occasionalmente pen test, è un metodo per la valutazione della sicurezza di un sistema informatico o di una rete simulando un attacco da parte di attaccanti esterni (che non hanno di norma accesso ai sistemi informatici) e/o di attaccanti interni (che hanno un qualche livello di accesso autorizzato ai sistemi)”

Ok, ma in parole povere di cosa si tratta? E perchè è importante?

Presso AdminAdmin poniamo l’accento su queste tecniche per garantire PERIODICAMENTE la sicurezza delle reti aziendali agendo in maniera preventiva.

Si tratta sostanzialmente di simulare, in maniera NON INVASIVA un attacco ai propri sistemi, allo stesso modo in cui un istruttore di Karate porta i colpi verso i propri allievi ovvero senza conseguenze ma con il solo scopo di educare, intervenire mostrando la giusta protezione da adottare e garantire inoltre una pronta risposta.

PENETRATION TEST = PREVENZIONE

Il penetration test è una metodologia riconosciuta a livello internazionale dai seguenti organi :

  • SP-800-115 del NIST (National Institute of Standards and Technology), del Governo americano
  • OSSTMM dell’ISECOM (Insitute for Security and Open Methodologies), una no-profit internazionale.
  • Testing Guide di OWASP, una no-profit internazionale   (Diretta dall’italiano Matteo Meucci ).
  • PTES, di un gruppo di consulenti che hanno descritto una metodologia generica estremamente utile.

Tutte le metodologie sono importanti e hanno delle aree di sovrapposizione ma anche delle peculiarità. Un buon Penetration Tester sa combinarle correttamente. A livello metodologico il NIST descrive inoltre un concetto a cui spesso viene data poca importanza: il Penetration Test – per sua natura – è un processo iterativo e non ha un andamento lineare. Ogni volta che si hanno maggiori informazioni sul bersaglio queste vengono riutilizzate e si reitera su quanto già fatto. Non a caso Offensive Security [8] definisce il penetration test come:

“Un ciclo continuo di ricerca e di attacco”

Ciclo tra la fase di ricerca e la fase di attacco

Fasi tecniche di un Penetration Test secondo il NIST SP-800-115

Compliance, rischi e penetration test

Lo scopo è appunto la valutazione della sicurezza – quindi verificare se ci sono problemi in un sistema informatico, possibilmente prima che un attaccante malevolo li sfrutti e come indicato nella SP-800.115:

  • Quanto il sistema testato tolleri scenari di attacco reali.
  • Il livello di sofisticazione che un attaccante deve utilizzare per compromettere un sistema.
  • Trovare ulteriori misure aggiuntive di sicurezza.
  • La capacità dei difensori di individuare e reagire all’attacco.

Anche se la necessità di un penetration test può nascere da un requisito di compliance (p.e. ISO 27001, PCI-DSS) lo scopo è quello di comportarsi come un attaccante e trovare se ci sono dei modi – anche se per un incrocio astrale funzionano solo su quel sistema o per quella situazione – per poter compromettere la sicurezza del bersaglio. In generale – è più conveniente che queste problematiche vengano trovate durante una simulazione rispetto ad uno scenario di Incident Response dopo che qualcuno le ha sfruttate. Sulla compliance la CREST ci ricorda che:

“La compliance è una cosa diversa dalla sicurezza e indipendente da essa. E’ possibile essere compliant e non sicuri, ed essere relativamente sicuri e non compliant

Quando si fanno queste analisi è prassi considerare la probabilità che la vulnerabilità venga sfruttataPerò nel panorama attuale devono anche essere considerati rischi meno probabili ma ad impatto alto e tutte quelle vulnerabilità che un attaccante motivato trova e sfrutta

Ci sono due tipologie di aziende quelle che sono state compromesse e quelle che lo saranno

Robert Mueller – FBI

Target di un penetration test

L’OSSTMM (Open Source Security Testing Methodology Manual) – sviluppato dall’ISECOM – ci viene in aiuto. L’OSSTMM v3 definisce una serie di canali e vettori sui quali un’attività può essere svolta:

  • COMMSEC (Sicurezza delle Comunicazioni): Data Networks e Telco,  che l’OSSTMM utilizza per indicare i test a livello di reti informatiche (di dati) e telecomunicazioni (e.g. telefonica)
  • SPECSEC (Sicurezza dello Spettro / Segnali): Wireless, che l’OSSTMM utilizza per indicare i test a livello wireless e sui segnali (come anche i test Tempest)
  • PHYSEC (Sicurezza fisica): Physical – quindi la sicurezza fisica – e Human – che comprende gli aspetti psicologici e delle persone, che l’OSSTMM utilizza per indicare i test a livello fisico e quelli relativi alla sicurezza delle persone.

Inoltre nell’OSSTMM v4 sarà probabilmente compresa l’area APPSEC con al suo interno gli aspetti Mobile, Web e IoT.

Tipologie

il test può essere eseguito sia dall’interno (in caso di simulazione di un attaccante che si trova all’interno dell’infrastruttura oggetto del test, detto insider) che dall’esterno (per simulare un attacco dall’esterno del “perimetro” dei nostri sistemi) – definito dall’OSSTMM come vettore. Questa definizione inoltre si collega ad un altro aspetto: la quantità d’ informazioni condivise tra attaccanti e bersaglio – definiti come  tipi di test dall’OSSTMM. Questo aspetto viene solitamente classificato attraverso una scala di grigi e pertanto un penetration test può white, gray e black box. All’estremo più bianco (o Tandem) si condividono le informazioni mentre all’estremo più nero non ci sono informazioni condivise fino al punto che il test potrebbe essere usato per valutare il sistema difensivo del bersaglio. Non esiste una tipologia di test migliore in assoluto, dipende sempre dall’obiettivo del test e dal budget a disposizione.

Penetration Test Black Box, Blind, Gray Box, White Box, Crystal Box, Reversal