Le applicazioni software costituiscono l’anima dell’operatività aziendale, quali strumenti di lavoro di tutte le linee di business. Tuttavia, in varie circostanze, possono celare alcune insidie dal punto di vista della sicurezza informatica, che i cybercriminali sono sempre più bravi a sfruttare per colpire i sistemi IT e soprattutto i dati conservati al loro interno, con le conseguenze che leggiamo ogni giorno sulle pagine di cronaca.

La valutazione delle vulnerabilità del software dovrebbe essere una delle attività prioritarie nella cybersecurity aziendale, cercando soprattutto di interpretarla e svolgerla in maniera corretta e realmente utile alla causa comune. Svolta una tantum, servirebbe a poco, così come non avrebbe alcun senso entrare nel panico di fronte a qualsiasi alert.

Il vulnerability assessment (VA) richiede competenze, cultura e buon senso nel valutare le situazioni. Doti che derivano in gran parte dalla quotidiana esperienza sul campo, a diretto contatto con i sistemi IT aziendali.

Vediamo quali punti fondamentali su cui le aziende dovrebbero riflettere quando si parla di vulnerabilità delle applicazioni, per capire come conoscerle e valutarle nel dettaglio, con l’obiettivo di difendersi in maniera più consapevole dagli attacchi informatici che cercano di sfruttare in maniera malevola le falle del software.

Le vulnerabilità del software tra rischi teorici e pratici

La valutazione delle vulnerabilità (vulnerability assessment) delle applicazioni avviene mediante una fase di scansione, operata grazie ad opportuni software, che consentono monitorare continuamente i sistemi aziendali ai fini di ottenere insight e report dettagliati, utili a valutare le azioni da intraprendere e le priorità attraverso cui si prevede la loro esecuzione.

Ci sono infatti vulnerabilità molto diffuse ma che presentano rischi relativamente bassi per i sistemi IT anche qualora dovessero essere violate. Così come ci sono vulnerabilità potenzialmente devastanti ma difficili da sfruttare, dal momento che richiedono una coincidenza di fattori improbabile.

All’atto pratico, un processo di scansione delle vulnerabilità potrebbe rilevare migliaia di potenziali criticità, ma non è assolutamente necessario cercare di risolverle tutte. È tuttavia indispensabile conoscere quanto accade sui nostri sistemi ai fini di essere consapevoli dei rischi e mantenere il totale controllo sulla gestione delle applicazioni.

Conoscere le vulnerabilità software: il programma CVE

Una buona pratica di cyber threat intelligence serve proprio a questo e un utilissimo punto di riferimento è dato dal CVE Program nato con l’obiettivo di identificare, definire e catalogare pubblicamente le vulnerabilità note nella cybersecurity.

Attraverso il lavoro che viene sistematicamente svolto per aggiornare il CVE Record, è possibile rendersi conto della tipologia di rischio che può essere correlabile ad una determinata vulnerabilità.

Le vulnerabilità vengono infatti catalogate a seguito di un processo molto rigoroso, che prevede ben sei fasi, attraverso cui viene associato un ID specifico con la sintassi CVE-YYYY-NNNN, dove le Y equivalgono all’anno in cui la vulnerabilità stessa è stata scoperta, mentre le N si riferiscono alle cifre che consentono di renderla univocamente riconoscibile.

Il CVE Record è il risultato della descrizione della vulnerabilità associata all’ID di riferimento, e viene puntualmente certificato ed aggiornato dal CNA (CVE Numbering Authority), che lo rende disponibile per la conservazione e il download attraverso vari formati.

Ogni CVE Record è il risultato di un’operazione di intelligence che associa alla descrizione delle vulnerabilità anche tutta la documentazione nota a riguardo, come i report e degli advisory che consentono di provvedere alla loro risoluzione.

Particolarmente utile, ai fini di individuare le priorità d’azione nei confronti delle minacce informatiche è il CVSS (Common Vulnerability Scoring System), uno standard promosso dalla FIRST (Forum of Incident Response and Security Teams) che mira ad offrire un valore numerico in grado di esprimere l’effettiva criticità in termini di minaccia.

Tale operazione viene svolta grazie ad una metodologia nota come CVSS Calculator, continuamente aggiornata dalla divisione NVD (National Vulnerability Database) della NIST, l’istituto degli standard e delle tecnologie del dipartimento del commercio americano.

Sulla base di quanto enunciato sulle fonti ufficiali, CVSS, giunto alla versione 3.0, offre

un modo per descrivere le principali caratteristiche di una vulnerabilità e produrre un punteggio numerico che rifletta la sua gravità, nonché una rappresentazione testuale di tale punteggio. Il punteggio numerico della criticità può quindi essere qualitativamente tradotto in “bassa”, “media”, “alta” e “critica”, per aiutare le organizzazioni a valutare correttamente e dare priorità ai loro processi di gestione delle vulnerabilità”.

Quando e come svolgere il vulnerability assessment

La prima attività da svolgere in funzione della valutazione delle vulnerabilità delle applicazioni equivale ad un solido progetto di conoscenza, che consenta di comprendere e valutare al meglio tutte le criticità che possono derivare dalle falle di sicurezza della nostra infrastruttura software.

Per raggiungere tale obiettivo, appare evidente come si renda auspicabile un’azione di monitoraggio continuo delle vulnerabilità. Un singolo processo di scansione scatta un’istantanea della situazione, attuale soltanto nel momento in cui viene svolta. Lo snapshot ottenuto ci offre la conoscenza di quel dato momento, ma non risolve la miopia nell’osservazione delle dinamiche evolutive, che sono di gran lunga le più rilevanti, sia per la costante cinetica delle applicazioni e dei flussi di dati, che per quanto riguarda la continua evoluzione delle minacce informatiche che vi gravitano intorno.

Anche quando l’applicazione non viene interessata dal rilascio di un aggiornamento, tale ad esempio da far temere una vulnerabilità di tipo zero day, potrebbero infatti variare le sue interazioni con altre applicazioni o sistemi con cui è chiamata a collaborare all’interno dell’intera infrastruttura hardware-software dell’azienda. Ad ogni variazione, ed in particolar modo quelle che a cui si riferiscono le configurazioni a livello IT, corrisponde una potenziale vulnerabilità.

Anche se alcune normative predispongono un vulnerability assessment ogni anno, è evidente come tale circostanza possa rivelarsi funzionale soltanto in un numero di contesti piuttosto limitato, ma del tutto insufficiente nella maggioranza delle situazioni oggi effettive.

La valutazione delle vulnerabilità delle applicazioni dovrebbe pertanto diventare un processo continuo e ricorrente, utile a garantire il monitoraggio in tempo reale della sicurezza del software attivo sui sistemi aziendali, nell’ottica di una strategia proattiva basata sul miglioramento continuo della cybersicurezza aziendale. A livello operativo si parla in questo caso di continuous scanning e coincide con il processo in grado di generare effettivamente valore da un’attività di vulnerability assessment.

Correlando tale aspetto con le riflessioni enunciate in precedenza, appare evidente come il successo di una buona strategia di VA risiede nella capacità di informare i SoC e i team di Incident Response affinché sappiano sempre giocare in anticipo rispetto ai cybercriminali.

Il fattore tempo rappresenta dunque la variabile cruciale, quella che potrebbe decidere le sorti della partita ancor prima che venga giocata. Se l’attaccante può infatti sfruttare a proprio vantaggio l’effetto sorpresa, al tempo stesso può accorgersi di una vulnerabilità soltanto mediante una scansione, esattamente come farebbe il difensore, che ha dalla sua il fatto di disporre di una conoscenza di dettaglio delle applicazioni da proteggere. Quando si implementa una strategia efficace, diventa pertanto possibile ribaltare a favore della difesa il vantaggio comportamentale dell’attaccante.

La sicurezza delle applicazioni viene di buon grado garantita mediante la regolare applicazione delle patch di sicurezza ufficiali, unitamente alle prassi di buona condotta e igiene informatica dei dipendenti chiamate ad utilizzarle. Tale riflessione consente di rimarcare una volta di più l’importanza della formazione in fatto di cybersecurity e del controllo dei sistemi di autenticazione che consentono di accedere e utilizzare le applicazioni stesse.

Il penetration test, le supply chain e la strategia di miglioramento continuo per la cybersecurity aziendale

Quando si implementa il vulnerability assessment nell’ottica di un monitoraggio continuo delle applicazioni, diventa possibile rilevare una fotografia aggiornata in tempo reale, molto efficace nel far percepire i luoghi e l’entità delle possibili falle di sicurezza.

Quando si identificano situazioni particolarmente critiche è consigliato far eseguire un penetration test, che simula di fatto il procedimento che il cybercriminale di turno svolgerebbe nel tentativo di individuare e sfruttare una vulnerabilità per sferrare effettivamente il proprio attacco.

Mentre il vulnerability assessment, al di là degli oggettivi momenti di configurazione, può essere ormai automatizzato mediante l’adozione di appositi sistemi di monitoraggio, il penetration test, proprio in quanto cerca di simulare il comportamento del potenziale attaccante, prevede un impegno decisamente più elevato in termini di risorse umane, che devono disporre delle medesime competenze dei cybercriminali, non così semplici da reperire sul mercato per far fronte alla crescente domanda in fatto di sicurezza informatica.

Tale figura professionale corrisponde all’hacker etico (ethical hacker), un hacker che, anziché approfittare in maniera illegale delle vulnerabilità presenti nella rete, ha scelto di mettere a disposizione le proprie competenze per contrastare l’azione del lato oscuro.

Per via della sua complessità e dei costi che comporta, un penetration test non andrebbe svolto su tutta la rete, ma soltanto in quei frangenti laddove i report dei vulnerability assessment riconoscono una criticità meritevole di approfondimento.

Negli ultimi tempi sta diventando inoltre essenziale estendere la pratica del vulnerability assessment all’intera supply chain, in quanto le applicazioni vengono utilizzate da un numero sempre maggiore di stakeholder, che potrebbero non godere di adeguate misure tecnologiche e organizzative utili per garantire i requisiti minimi di sicurezza richiesti dalle progettualità in atto.

Quando si tratta di valutare la sicurezza di una catena, è fondamentale basarsi sul principio per cui la sua debolezza condizione alla sua condizione più vulnerabile, in quanto sarà sempre la prima su cui i cybercriminali andranno a collocare le proprie attenzioni.

Una continua azione di valutazione delle vulnerabilità software, l’esecuzione, ove strettamente necessario, dei penetration test e l’estensione di queste logiche all’intera supply chain costituiscono oggi gli elementi fondamentali su cui fondare una corretta strategia difensiva, nella prospettiva di un miglioramento continuo di cybersecurity aziendale.