
Nelle ultime settimane gli eventi relativi a un rischio di pandemia del coronavirus hanno stimolato la mia attenzione. Mi sono trovato spesso a commentare con amici e colleghi i fatti e le notizie fornite dai mezzi di stampa e dalle dichiarazioni di ministri della salute e primi ministri. Spesso, la reazione alla mia analisi e disanima di tali informazioni ha generato un’ondata di reazioni del tipo “ma tu che ne sai di certe cose? Non sei mica un medico”. Nasce da queste domande il desiderio di scrivere questo articolo.
È vero, il mio background professionale è lungi da essere quello di virologo o medico, ma il mio mestiere inerente la sicurezza informatica ed ai SOC (Security Operation Center) in particolare è strettamente inerente alla costante validazione, correlazione di eventi alla ricerca di anomalie e alla definizione di soluzioni a problemi. Per poter fare questo, una base informativa corretta è sempre indispensabile.
L’analogia che mi è sembrata subito ovvia è quella relativa ad un’infezione da malware. Il malware è un software che viene inoculato (n.b. non è un termine solo medico ma anche informatico) in sistemi e parte di essi per compiere il suo scopo nel modo più invisibile ma più efficace possibile. Per arrivare ad essere inoculato, ha bisogno di vettori e modalità specifiche. Contro questo tipo di attacco, i classici antivirus sono inefficaci da molti anni, in quanto non in grado di seguire abbastanza velocemente la complessità e la variabilità estrema di tali patogeni. I malware hanno tempi di incubazione, compiti e ruoli diversi. Alcuni sono anche in grado di aggiornarsi con strumenti più adatti al loro scopo e alla situazione che si trovano di fronte, quando analizzano il computer infettato. Sono in grado cioè di adattarsi, mutando.
Sono sicuro che l’attento lettore avrà già cominciato a capire che anche solo la similitudine della terminologia offre molti ponti logici tra i due tipi di infezioni a cui questo articolo si riferisce…
Passiamo ora dall’analisi dell’oggetto software all’interazione col mondo esterno a lui. Chi ha avuto modo di assistere ad un’infezione dal vivo, in quanto monitorante infrastrutture informatiche attaccate da malware, mi seguirà meglio di altri, ma cercherò di essere il più chiaro e semplice possibile a beneficio di tutti.
Un malware di questo tipo ha spesso un comportamento tipico: viene inoculato, comincia ad agire, infetta altri computer. La velocità di queste singole fasi dipende da molti fattori ambientali oltre che alla tipologia e scopo del malware stesso: la presenza di barriere naturali, la predisposizione degli apparati, i controlli messi in atto per la prevenzione di tali attacchi, la capacità di monitoraggio di questi eventi, l’architettura cosiddetta di segregazione degli ambienti, la capacità di reazione attiva e passiva agli eventi stessi.
In una rete non ben organizzata, i malware si propagano da una macchina ad un’altra al ritmo di centinaia di infezioni al secondo. In reti ove i consulenti esterni si collegano alla stessa rete dei dipendenti interni col loro laptop e poi vanno in un’altra azienda a continuare il loro lavoro, il malware si trasmette ad aziende diverse utilizzando come portatore il consulente stesso. Le frontiere geografiche o politiche non rappresentano un limite per tali malware in queste condizioni. Passare dagli uffici situati in Italia alle catene di produzione situate all’estero è questione di minuti o di ore.
Se non si è stati previdenti (prima) con piani di compartimentazione e procedure operative altamente efficaci e testati, non si può fare altro che contare i danni e spegnere l’intera azienda (pc per pc e sistema per sistema) per un periodo da settimane a mesi per permettere la riconfigurazione, pc per pc, di tutti i sistemi.
Le aziende esposte a questo tipo di attacco devono organizzarsi innanzi tutto culturalmente, spiegando ai propri dipendenti le modalità di infezioni ed i relativi comportamenti a rischio da evitare. Poi si deve passare ad un’analisi preventiva attenta dei sistemi attraverso cui tali infezioni possono entrare in azienda (email server, proxy server, client, sistemi accessibili dall’esterno ecc.) ed ad una loro protezione opportuna con le soluzioni offerte dal mercato.
Un’opportuna segmentazione della rete è sempre uno strumento di controllo e prevenzione valido, sempre che sia attivamente ed opportunamente controllato in tempo reale. Inutile il controllo appena espresso, se non si sposa con una serie di procedure operative da mettere in atto in caso di sospetta infezione. Tali procedure devono essere definite (non nella mente di qualcuno), testate intensivamente e condivise, ovviamente nel rispetto delle competenze di ognuno, a tutti i livelli aziendali. Ad esempio, l’ufficio IT avrà dettagli operativi tecnologici su come operare (tools, script, attività sistemistiche), gli impiegati sapranno che nel momento della segnalazione dovranno operare in modalità differente perché alcuni servizi aziendali potrebbero essere spenti, i dirigenti saranno tenuti informati per le opportune attività da svolgere nei confronti del mondo esterno e dei fornitori o clienti, le comunicazioni intra e infra-aziendali ecc.
Il lettore avrà, a questo punto, capito bene il perché, nelle settimane scorse, ero diventato parte di quell’ampio stuolo di “commentatori informati” e che tanto mi ritrovavo da dire in merito alla ingenuità della gestione di questa emergenza da parte degli organismi competenti.
Innanzi tutto, bisogna essere organizzati, poi informati sul proprio nemico. Questo coronavirus è parte della famiglia delle influenze che ogni anno ci infastidiscono, quindi presenta sintomi simili. A livello di sistemi internazionali di controllo della sanità (e non a livello di sedi di partito), eminenti virologi (da noi li chiameremo “forensic analizer”) avevano già decretato che:
- Si può essere infetti e non avere febbre
- Si può essere infettivi e non avere febbre
- Si può essere negativi a certi controlli medici specifici ma sviluppare lo stesso l’infezione nell’arco di una finestra temporale di 15 giorni
- Durante il periodo in cui l’infezione non si rende evidente, la capacità di essere infettivi verso gli altri cambia solo di probabilità, ma permane.
Questi punti applicati in ambito informatico non appaiono sconvolgenti. Senza essere medico, mi sembra che l’unica prassi che possa porre sotto controllo questa pandemia fosse la quarantena e quindi l’isolamento.
In un sistema informatico, l’applicazione delle metodologie e dei modelli di cui sopra sarebbe stata la scelta migliore, oltre che l’applicazione delle migliori “best practice” definite dall’ONS (oltre che gli enti che si occupano di cybersecurity come ISO e NIST).
I nostri manager hanno deciso di impiegare volontari agli aeroporti a misurare temperature con termometri laser, mentre si provvedeva al trasporto in unità di biocontenimento in aereo militare di un ragazzo che ancora è in isolamento in una struttura apposita di quarantena.
Un ministro della nostra Repubblica è andato in TV a dire a tutti gli italiani che quanto riportato dai virologi mondiali, e che ho riassunto nei 4 punti precedenti, erano fake news a cui non credere, che si stava facendo “tutto il possibile” e che il virus non era entrato quindi in Italia.
Meno di quindici giorni dopo da questa dichiarazione, i primi sei casi accertati sono scoppiati in Lombardia. Dimostrando l’assoluta fallacità (dolosa o colposa, non lo sapremo mai) del sistema posto in essere.
Nell’ arco di un solo giorno di monitoraggio, venti paesi sono stati messi sotto osservazione (per un totale di centinaia di migliaia di persone), migliaia di verifiche sono finalmente state fatte e qualche centinaio di persone sono state potenzialmente identificate per essere messe sotto quarantena.
Quando finalmente si è smessa di negare l’evidenza, il sistema ha cominciato a reagire e vedremo dove porterà. Nel frattempo, possiamo solo notare che stiamo evidentemente inseguendo i famosi buoi scappati dal recinto lasciato aperto. Questo, anche informaticamente, si poteva ampiamente prevenire e mitigare.
In campo informatico, la negazione non è mai una scelta efficiente e, al contrario, si cerca di rendere tutti consapevoli, come prima frontiera attiva a tali eventi. In secondo luogo, si cerca di prevenire anche il non prevedibile e stabilire linee di difesa diversificate, attive e passive e costantemente monitorate.
Mi domando, se questo a cui stiamo assistendo è l’approccio metodologico, cosa succederà in caso di attacchi coordinati e continuati verso le nostre “infrastrutture critiche”? Vorremo davvero fermare un attacco informatico con i tempi di iter legislativi o con elezioni di “nuovi” governi? O magari stanziando fondi che nel giro di 15 anni forniranno (forse) nuovi strumenti di analisi e prevenzione da adottare?