CIS Controllo di Sicurezza Critico 18: Test di Penetrazione
Jun 23, 2022
Il Center for Internet Security (CIS) fornisce i Critical Security Controls (CIS Controls) per supportare il campo in evoluzione della cybersecurity. CIS Control 18 copre il penetration testing (questo argomento era trattato dal Control 20 nella versione precedente).
Il penetration testing è il lancio intenzionale di cyberattacchi al fine di valutare la sicurezza di un'organizzazione. Esperti pen tester conducono test di penetrazione per violare la sicurezza dei vostri sistemi e evidenziare i punti ciechi nei vostri siti web, applicazioni o rete. Identificando queste vulnerabilità, il pen testing aiuta le aziende a rimanere all'avanguardia nella gestione della sicurezza.
Contenuti correlati selezionati:
Sebbene sia una prassi ottimale per la sicurezza, il penetration testing è costoso perché è complicato e quindi richiede pen testers esperti e di buona reputazione, anche chiamati “hacker etici”. I test possono introdurre rischi, inclusa la chiusura di sistemi instabili e la corruzione o cancellazione di dati. Anche il rapporto di output rappresenta un rischio, poiché delinea i passaggi per sfondare le difese dell'organizzazione, quindi deve essere attentamente protetto.
I test di penetrazione sono spesso confusi con un'altra pratica integrante (e spesso richiesta), le scansioni di vulnerabilità, ma hanno metodi e scopi diversi. I test di vulnerabilità (CIS Control 7) utilizzano la scansione non intrusiva per identificare i punti deboli nella sicurezza di un sistema nel tentativo di scoprire violazioni della sicurezza senza però sfruttarle. Al contrario, i test di penetrazione utilizzano metodi intrusivi per testare quanto possa essere dannoso un cyberattacco per un'organizzazione. Imitano un attacco reale per scoprire esattamente quali asset IT un attaccante potrebbe accedere. Utilizzare insieme i processi di test di vulnerabilità e di penetrazione può produrre una visione inclusiva delle carenze di sicurezza.
18.1 Stabilire e mantenere un programma di Penetration Testing
Un programma di penetration testing di successo aiuta la tua azienda a rimanere un passo avanti ai pirati informatici. Il pen testing rivela lacune nel sistema di sicurezza e dimostra quanto sia facile rubare le risorse IT. I dettagli di ogni programma di pen testing dipendono dalla natura, dimensione, complessità e maturità dell'organizzazione. Ecco alcune linee guida.
- Ambito — Un programma di pen testing dovrebbe includere sia test esterni che interni. Tra questi, l'ambito del test potrebbe includere alcuni o tutti i seguenti elementi:
- Rete
- Hardware
- Applicazioni web
- API
- Wi-Fi
- Accesso fisico ai locali
- Tipo — Ci sono tre tipi di penetration testing, a seconda della quantità di informazioni che fornisci per il pre-test:
- Black-box: I tester procedono senza conoscenza dei sistemi interni.
- White-box: L'organizzazione fornisce dettagli completi riguardo al bersaglio.
- Gray-box: Queste valutazioni si collocano nel mezzo, con l'organizzazione che fornisce informazioni parziali al tester.
- Limitazioni — Assicurati di notare le limitazioni che potrebbero ostacolare l'efficacia dei test, come:
- Ambito: A causa della mancanza di risorse o di budget, un'organizzazione può scegliere di limitare l'ambito del pen testing, portando a potenziali punti ciechi nella loro sicurezza.
- Tempo: Mentre i pen tester assegnano a ogni test una cornice temporale strutturata, gli avversari non hanno limiti di tempo e possono impiegare settimane o mesi per un attacco.
- Metodo: Alcuni metodi di pen testing potrebbero causare il crash del sistema target, quindi queste tecniche sono escluse durante un test di penetrazione professionale.
- Competenze: Un pen tester potrebbe aver studiato solo un tipo specifico di tecnologia, il che potrebbe limitare la sua prospettiva.
- Esperimento: I pen tester potrebbero attenersi a pensare all'interno degli schemi, seguendo semplicemente la struttura e i protocolli che vengono forniti. I veri avversari potrebbero essere più creativi nei loro approcci.
- Frequenza — I CIS Controls consigliano alle organizzazioni di condurre test di penetrazione esterni e interni regolarmente — almeno una volta all'anno — e dopo ogni cambiamento significativo nell'infrastruttura o nel software.
- Punto di contatto — Solo poche persone selezionate dovrebbero sapere quando avviene un test di penetrazione. Per ogni test di routine, assegnare un punto di contatto specifico all'interno dell'organizzazione per connettersi con il team di test di penetrazione. Se sorgono problemi durante l'esecuzione del test, questa persona può gestire l'adeguato
- Rimedio e ritest — Dopo che il test è completato, l'organizzazione dovrebbe determinare quali cambiamenti alle politiche e misure tecniche sono necessari per migliorare la sicurezza. I test di penetrazione dovrebbero essere ripetuti una volta che queste azioni sono state intraprese.
Fasi di un programma di penetration testing
Il processo di pen testing comporta sette fasi. Le prime sei richiederanno circa 10 giorni, a seconda dell'ambito. L'ultimo passaggio, la rimediazione, spesso richiede più tempo.
- Pre-engagement — Il processo inizia stabilendo gli obiettivi. L'organizzazione e i tester decidono quali asset aziendali rientrano nell'ambito del test e quali aspetti della sicurezza verranno testati.
- Ricognizione — Il tester raccoglie informazioni sugli asset nell'ambito dell'operazione di pen testing. I tester possono impegnarsi attivamente interagendo direttamente con la rete per raccogliere informazioni, oppure passivamente seguendo il traffico di rete e tracciando le impronte di OS e internet.
- Scoperta — La fase di scoperta comprende due parti. In primo luogo, il tester potrebbe raccogliere ulteriori informazioni, come nomi host, indirizzi IP e dettagli di applicazioni e servizi. Successivamente, il tester effettuerà una scansione delle vulnerabilità per cercare difetti di sicurezza nella rete, nelle applicazioni, nei dispositivi e nei servizi. Oltre alle vulnerabilità come sistemi non aggiornati, i tester potrebbero scoprire errori nella sicurezza delle politiche, debolezze nei protocolli di sicurezza e problemi di conformità rispetto a standard come PCI DSS, GDPR o HIPAA. Sebbene l'utilizzo di software per la scansione delle vulnerabilità sia molto più efficiente, assumere una squadra per eseguire una scansione manuale fornisce una comprensione più completa delle lacune di sicurezza.
- Analisi delle vulnerabilità — Successivamente, il tester dà priorità alle vulnerabilità scoperte. Sebbene questa classificazione possa essere in qualche modo soggettiva, gli esperti di penetration testing utilizzano il Common Vulnerability Scoring System (CVSS), un sistema di classificazione quantitativo accettato a livello globale.
- Sfruttamento — I tester tentano di utilizzare le vulnerabilità per accedere all’ambiente IT. Impiegano le stesse tecniche che un hacker potrebbe usare, tra cui email di phishing, ingegneria sociale e scoperta delle credenziali degli utenti. Una volta entrati, i tester valutano a quali risorse hanno accesso. Annotano l’estensione dell’accesso, la facilità nel mantenerlo, quanto tempo la violazione rimane non rilevata e i potenziali rischi.
- Reporting e raccomandazioni — I tester forniscono un rapporto dettagliato sulle vulnerabilità identificate e i rischi associati, insieme a raccomandazioni per la riparazione.
- Rimedio e nuova scansione — I team IT dell'organizzazione lavorano per chiudere le falle e risolvere le vulnerabilità. I pen tester quindi rieseguono la scansione della rete per valutare l'efficacia dello sforzo di rimedio.
18.2 Eseguire periodicamente test di penetrazione esterni
I test di penetrazione esterni mirano all'accesso periferico ai sistemi della vostra organizzazione. In particolare, un test di penetrazione esterno utilizza la rete pubblica per introdursi nel sistema. L'obiettivo è testare fino a che punto potrebbe arrivare un attaccante esterno. Simulando il comportamento di un hacker, i tester forniranno una prospettiva oggettiva sulla resilienza e sulle vulnerabilità della vostra impresa. Il test di penetrazione esterno segue le stesse sette fasi dettagliate sopra.
Voi e il tester concordate sull'ambito del test di penetrazione attraverso una discussione legale. Poiché il test di penetrazione esterno prende di mira i server visibili esternamente, può includere siti web, applicazioni, utenti, API e intere reti. Mentre alcuni test possono concentrarsi su un aspetto dei vostri asset, la maggior parte sfrutterà il test per ottenere una visione più olistica delle vostre debolezze informatiche. In conformità con il CIS Control 18, effettuate test di penetrazione esterni almeno annualmente.
18.3. Rimediare ai risultati del test di penetrazione
L’ultimo passo nei test di penetrazione è migliorare la propria posizione difensiva. È importante dare priorità alle raccomandazioni emerse dal test e scegliere quali implementare per ridurre le vulnerabilità e rafforzare la postura di sicurezza dell’organizzazione. Le aziende possono decidere di non correggere alcuni punti deboli, specialmente se presentano un punteggio basso nel CVSS e sono difficili o costosi da risolvere.
18.4. Convalidare le misure di sicurezza
Dopo che i professionisti IT interni hanno lavorato insieme al team di pen testing per risolvere i problemi, è fondamentale ritestare i sistemi per verificare che siano state apportate modifiche adeguate. Si noti che questo passaggio di convalida potrebbe richiedere la modifica delle tecniche di scansione per identificare al meglio le debolezze del sistema.
18.5. Eseguire periodicamente test di penetrazione interni
La necessità di effettuare penetration test interni deriva dal potenziale di dipendenti malintenzionati o negligenti, partner commerciali e clienti di causare danni. Fornisce un complemento critico ai penetration test esterni. I penetration tester interni prendono di mira i sistemi dell'azienda utilizzando l'accesso interno alla rete dietro il firewall. I penetration test interni ti aiutano a valutare i potenziali danni e rischi per gli asset nel caso in cui un utente interno sfrutti il sistema.
Come i test di penetrazione esterni, anche quelli interni seguono i sette passaggi descritti in precedenza e possono essere di tipo black, white o gray box. I tester useranno il loro accesso interno per tentare di eludere i controlli di accesso. Il team può testare i sistemi informatici fisici, i dispositivi mobili e le telecamere di sicurezza, insieme al comportamento dei dipendenti e alle procedure. Inoltre, i tester potrebbero cercare di sfruttare un ambito simile a un test di penetrazione esterno, includendo reti wireless, firewall e sistemi di rilevamento e prevenzione delle intrusioni, al fine di rivelare vulnerabilità più significative.
Sommario
Il penetration testing è una pratica complessa e specializzata. Eseguire regolarmente penetration testing è una parte critica delle data security best practices. I pen test esterni e interni combinati possono rivelare debolezze vitali nei sistemi IT, dimostrare vividamente quanto i dati e altri asset siano vulnerabili a violazioni e guidare uno sforzo di rimedio robusto per rafforzare la cybersecurity.
Condividi su
Scopri di più
Informazioni sull'autore
Dirk Schrader
VP della Ricerca sulla Sicurezza
Dirk Schrader è un Resident CISO (EMEA) e VP of Security Research presso Netwrix. Con 25 anni di esperienza nella sicurezza informatica e certificazioni come CISSP (ISC²) e CISM (ISACA), lavora per promuovere la cyber resilience come approccio moderno per affrontare le minacce informatiche. Dirk ha lavorato a progetti di cybersecurity in tutto il mondo, iniziando con ruoli tecnici e di supporto all'inizio della sua carriera per poi passare a posizioni di vendita, marketing e gestione prodotti sia in grandi multinazionali che in piccole startup. Ha pubblicato numerosi articoli sull'esigenza di affrontare la gestione dei cambiamenti e delle vulnerabilità per raggiungere la cyber resilience.
Scopri di più su questo argomento
Esempio di Analisi del Rischio: Come Valutare i Rischi
Il Triangolo CIA e la sua applicazione nel mondo reale
Creare utenti AD in massa e inviare le loro credenziali tramite PowerShell
Come aggiungere e rimuovere gruppi AD e oggetti nei gruppi con PowerShell
Attributi di Active Directory: Ultimo accesso