Strategia di Patching per la sicurezza nazionale

La crescente esposizione dell’Italia agli attacchi informatici ha reso indispensabile l’individuazione di misure utili alla protezione di reti e sistemi dalle nuove minacce. La gestione delle patch di sicurezza del software è una pratica volta a prevenire lo sfruttamento delle vulnerabilità del software. Una disciplina legislativa sul patching e sui metodi basati sull’intelligence potrebbe essere un punto di partenza per garantire uno standard di sicurezza sufficiente ad allineare il quadro normativo e le dinamiche di sviluppo legate all’innovazione tecnologica.

La crescente esposizione dell’Italia agli attacchi informatici e alle minacce alla sicurezza ha reso indispensabile l’individuazione di misure normative utili alla protezione di reti e sistemi dalle nuove vulnerabilità e le diverse tipologie di attacchi. L’Italia ha recepito la direttiva Network and Information Security (NIS), n. 1148 dell’8 luglio 2016, nel D.lgs n. 65 1 del 18 maggio 2018 che impone agli Stati membri dell’Unione Europea di adottare misure di sicurezza a livello nazionale.

La direttiva NIS ha lasciato a ogni Stato membro la possibilità di individuare la strategia più adatta per conformarsi ai nuovi parametri individuati. Tuttavia, a differenza degli altri Stati membri, l’Italia si è limitata a recepire nel D.lgs 65/2018 quanto già stabilito dalla Direttiva NIS.

A seguito dell’adozione del D.lgs sopra citato, la normativa italiana in materia di sicurezza informatica è stata rafforzata con l’istituzione del “Perimetro nazionale di sicurezza informatica”, con il D.L. n. 105 del 21 settembre 2019, convertito nella Legge n. 133 del 18 novembre 2019, con successive modifiche e integrazioni.

In estrema sintesi, il D.L. 105/2019 evidenzia le modalità procedurali e i criteri per l’individuazione di tutti i soggetti da includere nel Perimetro (quali, ad esempio, pubbliche amministrazioni, enti pubblici e privati) e le misure di sicurezza che questi ultimi devono adottare per proteggere le proprie reti e i sistemi informativi.

Le finalità del Perimetro di Sicurezza Nazionale sono, in primo luogo, quelle di rafforzare lo standard di sicurezza delle reti, dei sistemi e dei servizi informatici dei soggetti all’interno del Perimetro, nonché di garantire la “continuità” di tutti quei servizi, ritenuti essenziali, la cui interruzione, anche parziale, potrebbe causare un danno alla sicurezza nazionale.

La maggior parte di questi elementi è stata affrontata, a livello normativo nazionale, nella cosiddetta “Strategia Nazionale di Cyber Security”, delineata in precedenza nella Direttiva NIS e al D.lgs 65/2018 nel cosiddetto Quadro Strategico Nazionale per la Cyber Space Security adottato il 27.1.2014, ulteriormente sviluppato dal Piano nazionale per la protezione cibernetica e la sicurezza informatica del 31.3.2017 (tuttora in vigore).

Considerando che le minacce informatiche sono notevolmente cambiate rispetto al 2018, la Commissione Europea ha presentato una proposta di revisione della Direttiva NIS (futura “NIS 2”). Sarà quindi necessario aggiornare l’attuale strategia di sicurezza con i prossimi nuovi dettami comunitari.

Dopo aver descritto l’attuale quadro normativo, sia nazionale che internazionale, è evidente che oggi manca una disciplina standard e omogenea della sicurezza delle informazioni, almeno a livello europeo. In attesa di ulteriori interventi legislativi, le best practice attualmente adottate dalle aziende pubbliche, private e dalle pubbliche amministrazioni rivestono un ruolo di primaria importanza. Il presente contributo si propone di esaminare uno dei principali profili di vulnerabilità, il patching, aspetto primario considerando i recenti eventi che hanno visto diverse violazioni di dati, soprattutto nel settore sanitario Italiano.

Una disciplina legislativa sul patching potrebbe costituire uno dei punti di partenza a garanzia di uno standard di sicurezza sufficiente a consentire un allineamento tra il quadro giuridico normativo e le dinamiche di sviluppo legate all’innovazione tecnologica. Le vulnerabilità del software rimangono infatti uno dei rischi critici per le imprese e le infrastrutture critiche.

L’applicazione di patch, che sono letteralmente “pezzi di codice sviluppati per risolvere i bug individuati all’interno del software”, continua ad essere la strategia più efficace e ampiamente riconosciuta per proteggere i sistemi informatici e contro specifici attacchi. Tuttavia, nonostante il rapido rilascio di patch di sicurezza che risolvono le vulnerabilità del software, la maggior parte degli attacchi vengono comunque portati a buon fine grazie allo sfruttamento delle suddette vulnerabilità note anche se è già stata rilasciata la patch.

Nel corso del tempo, questa costante negligenza ha causato conseguenze devastanti a livello finanziario e perdite di reputazione dovute alla violazione della riservatezza, dell’integrità dei dati aziendali e all’indisponibilità del software. Questo è dovuto principalmente ai complessi problemi inerenti all’applicazione delle patch di sicurezza negli ambienti organizzativi.

Il termine “Patching” indica l’applicazione di patch sulle criticità di sicurezza presenti nei software e nei sistemi implementati negli ambienti IT/OT di un’organizzazione. Vengono identificate le vulnerabilità esistenti nei sistemi e acquisite, testate, installate e controllate le patch di sicurezza del software. L’esecuzione di questi compiti comporta la gestione delle dipendenze tra più stakeholders e decisioni “socio-tecniche” che rendono l’amministrazione delle patch del software un problema complesso. Questo problema è aggravato dal bisogno di trovare un equilibrio tra la rapidità di applicazione di una patch di sicurezza e la necessità di farlo su una miriade di applicazioni aziendali e governative.

Nonostante la risaputa criticità legata alla gestione delle patch di sicurezza del software nell’industria, questa rimane ancora un’area emergente, di crescente interesse per la ricerca, che necessita di maggiore attenzione. Gli aspetti “socio-tecnici” (un processo organizzativo che riguarda la gestione delle competenze, delle risorse e l’interazione delle persone con le soluzioni tecniche, in cui le interazioni umane e le tecnologie sono strettamente legate) della gestione delle patch hanno goduto di un’attenzione relativamente limitata. Essa dipende in modo significativo dalla collaborazione efficace degli esseri umani con gli attuali sistemi automatici di rilevamento delle vulnerabilità. La comprensione degli “aspetti socio-tecnici” è essenziale per identificare i problemi predominanti e migliorare l’efficacia del processo di controllo delle patch di sicurezza del software.

La suddetta gestione della sicurezza del software è una pratica di garanzia progettata per prevenire in modo proattivo lo sfruttamento delle vulnerabilità all’interno del software (e talvolta dell’hardware) di un’organizzazione. In generale, un processo efficace di gestione delle patch di sicurezza del software è essenziale per mantenere la riservatezza, l’integrità e la disponibilità (CIA) dei sistemi informativi. Tale processo è uno sforzo di collaborazione tra più parti interessate: team IT, responsabili della sicurezza, ingegneri e amministratori di sistema, fornitori di software di terze parti, arrivando fino ai clienti e agli utenti finali.

Pertanto, la mancanza di collaborazione, coordinamento e comunicazione tra le varie parti interessate rappresenta uno dei principali ostacoli al mantenimento della sicurezza dei sistemi software. Inoltre, la necessità di bilanciare la conformità con organismi di governance eterogenei e il mantenimento della salvaguardia del software sono riconosciute come le sfide chiave della sicurezza del software.

Il rapido aumento del numero e della diversità delle aree di attacco ha portato ad un incremento del tasso di patch, sconvolgendo i processi esistenti. Inoltre, i limiti degli strumenti esistenti sono stati considerati un ostacolo significativo al raggiungimento degli obiettivi di gestione. Tra questi, la mancanza di una piattaforma standard per integrare gli strumenti eterogenei utilizzati per la gestione delle patch, la mancanza di accuratezza e la mancanza di scalabilità nella progettazione/architettura degli strumenti, che creano difficoltà nel patching di più sistemi che lavorano con sistemi operativi diversi.

A causa della maggiore complessità, della natura dinamica della gestione delle patch del software e dei limiti delle attuali tecnologie utilizzate per il patching, la necessità di competenze umane risulta inevitabile. Tuttavia, a causa del coinvolgimento umano nelle attività di esecuzione e nelle decisioni, i tempi di applicazione delle patch sono aumentati prestandosi così a numerosi attacchi. Il rischio di ritardi aumenta ulteriormente a causa della mancanza di risorse in termini di competenze e conoscenze, linee guida per i processi e supporto per l’automazione dei processi.

Un punto importante, evidenziato in letteratura riguardo alla mancanza di supporto per l’automazione dei processi, è che la maggior parte delle soluzioni esistenti si concentra solo sulla distribuzione delle patch, ma non fornisce soluzioni in grado di coprire l’intero processo.

Inoltre, esiste un divario significativo nelle competenze richieste per la gestione delle patch di sicurezza del software, soprattutto a causa della maggiore complessità delle stesse. Gli amministratori dei sistemi di IT sono costretti a passare ore monitorando le diverse fonti di informazioni a causa della mancanza di piattaforme centralizzate per il recupero e il filtraggio delle informazioni.

Le moderne fonti di informazione vanno dagli avvisi di sicurezza (78%), notifiche ufficiali dei fornitori (71%), mailing list (53%), forum online (52%), notizie (39%), blog (38%) e social media (18%). Inoltre, a causa della velocità di rilascio delle patch, della mancanza di convalida automatica, filtraggio e classificazione delle informazioni in base alle esigenze organizzative, vi è un ritardo nel rilascio delle patch, che aumenta il rischio di attacchi one-day.

Uno dei fattori critici, relativo all’aumento dell’esposizione agli attacchi malevoli, è la mancanza di una soluzione di scansione completa, questa non riesce a comprendere il sistema in modo chiaro facendo sì che non vengano rilevate le vulnerabilità del software e causando una configurazione errata del sistema.

Gli approcci esistenti sono in genere univoci e creano difficoltà nel comprendere le diverse esigenze del contesto organizzativo richiedendo un notevole lavoro manuale, in particolare quando si applicano le patch in un ambiente virtuale. È sempre più necessario disporre di un insieme standard di metriche rigorose con informazioni quali le date di exploit delle patch, poiché gli scanner di vulnerabilità esistenti dipendono da informazioni pubbliche sulle vulnerabilità, comprese le date di divulgazione delle stesse. Inoltre, il divario di conoscenze tra il contesto tecnico e quello aziendale (ad esempio, la necessità di applicare le patch di sicurezza il prima possibile, dando priorità alla disponibilità del sistema) spesso porta a conflitti di priorità tra i diversi team.

Una delle sfide più significativa del patch testing moderno è una strategia di test automatizzata adeguata. La mancanza di test automatizzati può derivare da diverse ragioni, come la difficoltà di affrontare i problemi di dipendenza dalle patch e la notevole quantità di lavoro umano necessario per impostare un ambiente di test che simuli quello di “produzione”.

Tuttavia, la maggior parte dei patch test attuali viene eseguita manualmente per evitare il rischio di guasti imprevisti al sistema causati da patch dannose o maligne. La scarsa qualità dei test sulle patch manuali aumenta l’esposizione alle vulnerabilità, poiché spesso ritarda la successiva distribuzione.

Un’altra sfida importante riguarda la gestione dei vincoli organizzativi sui tempi di inattività dei sistemi. La mancanza di un’adeguata strategia di distribuzione delle patch in fase di esecuzione e di politiche organizzative che evitino i tempi di inattività del sistema rappresenta un grave problema per la loro installazione tempestiva. Ciò è particolarmente deleterio nel contesto delle infrastrutture critiche come la sanità e la pubblica amministrazione, per le quali i tempi di inattività possono creare significative effetti collaterali negativi. La maggior parte delle soluzioni di gestione delle patch di sicurezza presenti nei software esistenti non dispone di una strategia efficiente di verifica, fornendo una panoramica limitata dello stato delle patch del sistema.

Inoltre, la maggior parte delle attuali soluzioni di controllo delle patch prevedono un lavoro manuale dei team di IT nell’ispezionare l’applicazione alla ricerca di segni di attacco e nel riparare i danni qualora venga individuata una minaccia. Si tratta di un’attività lunga e impegnativa che non garantisce l’individuazione di eventuali intrusioni e l’annullamento di tutte le modifiche apportate dall’aggressore. La necessità di effettuare questa verifica, non appena viene distribuita la patch, si aggiunge alla complessa, laboriosa e lunga verifica manuale, sottolineando la mancanza di una strategia di verifica automatizzata efficace.

Nel corso degli anni sono stati fatti diversi tentativi per integrare l’automazione nella gestione delle patch di sicurezza del software. Deve esistere un delicato equilibrio tra l’intervento umano e l’automazione della gestione delle patch di sicurezza. L’automazione consente ai professionisti di godere dei vantaggi di un minore sforzo manuale. Allo stesso tempo però, l’esperienza umana è necessaria per prendere il controllo del processo decisionale e delle attività che non possono essere completamente automatizzate a causa della complessità delle patch e dei limiti attuali della tecnologia. Poiché le patch possono modificare la semantica di un programma, è probabile che sia sempre necessario il giudizio umano per determinare se le modifiche semantiche sono rilevanti.

Le organizzazioni utilizzano molti prodotti software (ad esempio sistemi operativi o OS, applicazioni software, strumenti e piattaforme), aumentando le sfide dell’eterogeneità delle patch. È stato inoltre notato che la maggior parte delle soluzioni analizzate sono compatibili solo con il sistema operativo Linux, forse perché è open-source, più accessibile da configurare rispetto ad altri sistemi operativi e perché le patch applicate a molte distribuzioni Linux comportano modifiche minori rispetto alle patch di Windows. Di conseguenza, cresce l’esigenza di una piattaforma orchestrata che si concentri su questi strumenti eterogenei.

In conclusione, disporre di piattaforme di intelligenza artificiale automatizzate e di una valutazione guidata dall’intelligence sulle minacce in base alle patch da distribuire, consentirebbe alle organizzazioni di aumentare le informazioni sulle minacce esterne attraverso indicatori che segnalano gli avversari e le aree di compromissione. L’uso di strumenti di intelligence su minacce specifiche, nella difesa di organizzazioni pubbliche e private, porterebbe a una valutazione più accurata delle priorità, modificando l’attuale piano di patch per dare precedenza ai sistemi che potrebbero essere attaccati in un determinato momento. Il risultato è una gestione delle patch guidata dall’intelligence che rafforza i processi di contrasto agli attacchi.

Purtroppo, la realtà è che la pubblica amministrazione italiana e parte del settore privato non hanno una visibilità al 100% dei propri asset e delle proprie vulnerabilità, per cui la mappatura dei dati sulle minacce esterne e degli indicatori interni, utile a perfezionare un piano di patch, potrebbe talvolta avere un valore parziale.

Tuttavia, la raccolta di informazioni dai feed delle minacce globali e da altre fonti di intelligence esterne ha un grande valore nel determinare se parti di un’organizzazione o di un governo stanno subendo un attacco specifico. Il framework MITRE ATT&CK è una di queste fonti.

L’inserimento dei dati MITRE ATT&CK in qualsiasi repository consente di partire da un punto di vista più elevato, con informazioni sugli avversari, sulle tattiche, tecniche e procedure associate. Si può adottare un approccio proattivo, partendo dal profilo di rischio di un’organizzazione, mappando tali rischi e associandoli a specifici avversari e alle loro tattiche, approfondendo le tecniche da essi utilizzate e successivamente indagando se potrebbero avere successo o se tali dati sono stati riscontrati all’interno dell’ambiente analizzato.

Continua a leggere o scarica il white paper gratuito “Quaderni di Cyber Intelligence #1

Articolo a cura di Cosimo Melella e Cecilia Isola

Profilo Autore

Cosimo Melella è ricercatore presso ITSTIME, cultore della materia in comunicazione e informazione per la sicurezza. Cosimo Melella ha conseguito un Master in Cybersecurity presso l’Università degli Studi di Milano. Ha frequentato corsi di specializzazione presso il NATO CCDCOE ed è certificato Cisco.

Profilo Autore

Cecilia Isola è avvocato specializzato in diritto commerciale e diritto delle nuove tecnologie e PhD candidate presso il centro di Security, Risk and Vulnerability del Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi dell’Università di Genova, curriculum Security&Law.

Condividi sui Social Network:

Articoli simili