L’informazione digitale oggigiorno è soggetta a rischi e pericoli derivanti dagli attacchi informatici che puntano a trovare e sfruttare vulnerabilità del codice dei sistemi IT per carpirne i dati. Nonostante il progresso tecnologico sia continuo, ad ogni nuova evoluzione si accompagnano nuove vulnerabilità e nuovi attacchi correlati, utilizzati dai criminali per arricchirsi a spese delle vittime.
Il processo di valutazione della vulnerabilità rappresenta una sorta di “potere di prevenzione” ancora largamente sottovalutato. È necessario, invece, conoscere le vulnerabilità in anticipo e prima degli aggressori. La loro analisi e valutazione abilita a interventi di prevenzione e difesa mediante il patching. Mentre la coniugazione con i test di penetrazione abilita ad una difesa informatica proattiva di più ampio spettro.
Indice degli argomenti
Distinguere vulnerability assessment e penetration test
Al fine di distinguere i vulnerability assessment (VA) dai penetration test (PT) è utile ricordare che una vulnerabilità è definita come un punto debole di un’applicazione, ovvero un bug di implementazione o un difetto di progettazione, che consente a un utente malintenzionato di causare danni e ottenere privilegi aggiuntivi sull’applicazione stessa (fonte: OWASP).
Esempi di vulnerabilità riguardano le vulnerabilità di controllo dell’accesso, vulnerabilità di condizione al contorno, vulnerabilità di convalida dell’input, vulnerabilità di autenticazione, vulnerabilità di debolezza della configurazione e vulnerabilità di gestione delle eccezioni, ma ne esistono molte altre, raccolte nel National Vulnerability Database del NIST, progressivamente aggiornato.
Il vulnerability assessment (VA) è quel processo di scansione del sistema o del software o di una rete, per scoprirne le debolezze che possono fornire backdoor all’attaccante (fonte: Elservier Paper). Il penetration test (PT), invece, consiste nell’evidenziare gli exploit potenziali correlati ad ogni vulnerabilità (un exploit è programma informatico, un software o una sequenza di comandi che sfrutta una vulnerabilità per provocare un certo comportamento nel software).
Il test di penetrazione viene condotto per analizzare la sicurezza di un’infrastruttura IT o di un codice, cercando di sfruttare (in modo sicuro) le vulnerabilità per capire in che modo l’attacco potrebbe avvenire.
Il connubio VA/PT aiuta anche a valutare l’efficienza degli strumenti e delle politiche dei meccanismi di difesa in atto (fonte: IEEE paper). Chi lavora day-by-day in questo ambito, Giulio Patisso, Co-Founder di THUX, spiega che normalmente “prima si verifica la superficie di attacco, poi si decide se procedere con un PT. In ogni caso si chiudono le vulnerabilità con delle remediation o riducendo la superfice d’attacco per limitare le potenziali debolezze dell’infrastruttura”.
Minacce evitate grazie a vulnerability assessment e penetration test
Intervenire con la remediation a seguito di verifiche di VA/PT permette di evitare infezioni da vari tipi di malware come i ransomware ma anche di prevenire gli effetti di campagne di phishing o attacchi di injection, e DDOS.
In generale, gli attacchi complessi fanno leva sull’utente mediante tecniche di social engineering, ma praticare analisi di VA/PT consente di capire le tipologie di minacce più probabili alla propria organizzazione. Spiega Giulio Patisso: “per le vulnerabilità note, possono essere sfruttati degli exploit pubblici reperibili su internet o nel dark web; intervenire per tempo, permette di “disinnescare” l’attacco. Per le vulnerabilità di cui ancora non sono noti gli exploit di sfruttamento è più difficile testarne l’impatto e si procede con metodologie più specialistiche per raggiungere l’obiettivo di difesa. Naturalmente se si trovano ambienti già compromessi si può supportare il cliente nella bonifica del sistema e nel ripristino ad un adeguato livello di sicurezza dell’infrastruttura”.
Modalità professionale di approccio
Effettuare i VA/PT in modo sicuro e tutelato è possibile adottando una metodologia di approccio strutturata e ordinata i cui punti cardine riguardano: l’analisi dei requisiti del cliente, la firma di un Non Disclosure Agreement (NDA), di una manleva e di un contratto vero e proprio che prevede regole di ingaggio, la definizione del perimetro dei test, l’identificazione degli stakeholder e specifiche modalità di esecuzione dei test: in Black Box (BB), in White Box (WB) o Grey Box (GB).
Il fornitore a seconda del tipo di test concordato (WB, BB, GB) avvisa sugli orari di inizio e fine dei test, sul perimetro di svolgimento dell’analisi ovvero sull’ambiente digitale, che può variare tra l’ambiente di esercizio e quello di produzione e si stabilisce il tipo di PT da eseguire: se sul codice oppure su infrastruttura. Si procede con uno studio dell’infrastruttura o sul codice, ma sempre per capire il potenziale impatto di un attacco.
Nei casi di test White Box ci si accorda sia per gli orari sia per ricevere gli accessi e le informazioni che abilitano al test. Invece nel caso Black Box l’assessment di VA/PT si svolge “di sorpresa” ovvero gli ethical hacker incaricati dei test non conoscono l’infrastruttura da testare e talvolta può accadere che anche gli operativi aziendali siano all’oscuro se l’intento del board del management è mettere alla prova anche le procedure e l’organizzazione interna.
Ma, in generale, è raro che gli operativi non sappiano di inizio e fine attività. Nei test di tipo Grey Box si hanno solo alcune informazioni quali ad esempio alcune password utente, ma non quelle da amministratore dei sistemi. Le regole fra le parti costituiscono dei veri e propri codici di condotta professionale.
I maggior “challenge” correlati alle attività di VA/PT richiedono competenze e skill specifici professionali per evitare danni all’azienda cliente. Giulio Patisso chiarisce che “la sfida è eseguire le attività in orari che non impattano il business e a seconda del perimetro e tipo di test si possono richiedere back up preventivi o la replica di un ambiente di test oppure si può concordare in anticipo su quali porzioni dell’infrastruttura eseguire le verifiche proprio per evitare danni accidentali a quei dati più sensibili. Un’ulteriore criticità riguarda la conoscenza dei tipi di vulnerabilità, a causa degli impatti potenziali di un suo sfruttamento. In generale se si usano script presi dal web e di cui non si conosce il comportamento e l’impatto, si esegue un’analisi preventiva antecedente l’utilizzo per comprenderne esattamente gli effetti”.
Armando Cavallo, Cybersecurity Analyst di THUX, spiega che “La professionalità di ogni analista è fondamentale ed è necessaria una formazione continua. Ogni Pentester ha un suo set di tool da usare per testare l’infrastruttura o il codice. Nel mio quotidiano, ad esempio, ho la necessità di settare, aggiornare e modellare i miei strumenti per adattarli alle minacce sempre nuove e rendere il servizio al cliente più affidabile e preciso.” Giulio Patisso aggiunge che “Un’attenzione particolare è richiesta nell’interazione con la parte legal interna che solitamente è la prima interfaccia della relazione con il cliente e normalmente è con questa struttura che si chiariscono le condizioni del test e chiudono gli accordi contrattuali. L’esperienza delle figure professionali nella nostra azienda copre oltre 20 anni. Si sa che oggi tutti offrono servizi di VA/PT ma usare prodotti di mercato senza “calare” il prodotto sull’ambiente per i test, può generare falsi positivi o purtroppo anche falsi negativi”. In qualche modo, il challenge maggiore è distinguersi nella professionalità”.
Credenziali e competenze per i professionisti
Chi vuole cimentarsi in una professione di analisi delle vulnerabillità e di penetration testing può considerare di certificarsi secondo diverse tipologie tra le quali le più note sono la Comptia Security, la CEH, OSTTMM, OSCP (Offensive Security Certified Professional).
Tuttavia, come spesso avviene anche in altri contesti lavorativi, la pratica e l’esperienza, la casistica incontrata in diverse occasioni, permettono di praticare correttamente l’attività professionale. Non esiste un tempo predefinito per diventare un professionista preparato e coscienzioso, anche perché ci si può specializzare su ambienti o su linguaggi di programmazione diversi.
In questo caso, Giulio Patisso consiglia: “Serve una preparazione informatica molto forte e una formazione specifica di almeno un anno per gli assessment, se già in possesso di una consistente base tecnica, e non meno di tre anni per i PT. In generale lo studio delle VA è il punto di partenza ma per capire lo sfruttamento delle vulnerabilità è necessario comprendere il lavoro fatto da altri ed aggiungere modus operandi proprio. Si deve considerare che dipendentemente dagli ambienti di test si potrebbero avere risultanze diverse. Voglio dire che un ethical hacker è soprattutto un artista che capisce come sfruttare un varco, per comprendere come si può verificare un danno. La maggior parte delle tecniche da utilizzare sono conosciute e con diversi livelli di specializzazioni. Quindi occorre apertura mentale e interesse continuo per restare aggiornati”.
Contributo editoriale sviluppato in collaborazione con Thux