Sicurezza: le aziende possono davvero essere “sicure”?

Indice

Parliamo di sicurezza: dopo l’attacco ad Host.it, del quale è stato riportato la comunicazione ufficiale e anche qualche perplessità, ho ricevuto una serie di mail molto e messaggi molto interessanti aventi, più o meno tutte, lo stesso quesito: un’azienda può davvero proteggersi da un attacco massivo come quello avvenuto ad Host.it?

È fondamentale capire che l’approccio alla cyber-security deve cambiare sia che si tratti di una piccola azienda, che di un provider. Deve cambiare il criterio che sta alla base delle politiche di difesa. Fino a 2015 si riteneva fondamentale salvaguardare l’integrità del sistema in quanto questo era il bersaglio preferito di hacker e virus. Sono ormai diversi anni che il target si è modificato radicalmente: il target degli attacchi sono i dati poiché questi rappresentano l’unico vero valore di un’azienda ( o di un privato).

Difendere un sistema operativo richiede alcune strategie, difendere i dati ne richiede delle altre e quindi le azioni messe in campo per contrastare gli attacchi, non possono essere le medesime. Le aziende non possono essere davvero sicure. La sicurezza è una pericolosa utopia che rende le persone arroganti: è necessario comprendere che ogni sistema è vulnerabile (lo ripetiamo spesso) e che gli anelli della catena soggetti ad un attacco sono essenzialmente 4:

  • Persone: le persone sono soggette a vari tipi di pericoli. Che si tratti di sabotaggio casuale, volontario, di ignoranza nell’impiego dello strumento, la risorsa umana è l’unico vero rischio (ma anche l’unica vera soluzione) che un sistema può avere. Sono la risorsa impiegata per respingere gli attacchi e sono, quando non ottimamente formate, i cavalli di troia più pericolosi che esistano. Ricordate la faccenda delle chiavette USB nell’ospedale americano?
  • Reti: le informazioni viaggiano sulla rete. Se la rete viene attacca le informazioni possono essere: distrutte, rubate, manipolate. Ognuna di queste azioni ha un impatto sull’attività dell’azienda. La manipolazione non è più rischiosa della distruzione per alcune attività commerciali. Vi ricordo, ad esempio, che la manipolazione di un segnale GPS può comportare portare le persone verso morte certa.
  • Sistemi: chiaramente i sistemi sono il bersaglio preferenziale in quanto elementi che incamerano e gestiscono dati e altro (reti, altri sistemi, etc…). La corretta gestione del sistema dovrebbe comportare un costante mantenimento dello stato di sicurezza e quindi una scarsa capacità di essere attaccato ma il sistema è tanto vulnerabile quanto lo sono le persone che lo gestiscono. Di conseguenza il sistema è subordinato, nella classe di rischio, ad alcuni fattori extra-sistema (ad es: esperienza dell’utilizzatore, regole dell’azienda, etc…). Un sistema “sicuro” consente vincere un conflitto con una richiesta da parte della persona, dove la richiesta della persona comporta un abbassamento dei livelli di sicurezza standard.
  • Dati: negli ultimi anni i ransomware hanno dimostrato come la reale vulnerabilità ed efficacia di un attacco non consista nell’alterazione di un sistema o della sua rete ma dei dati che esso gestisce e memorizza. Difendere i dati e contemporaneamente reti e sistemi è difficile perchè i 3 elementi necessitano di politiche differenti.

È quindi un errore pensare che l’azienda sia sicura e ve ne faccio un esempio lampante: per settimane un’organizzazione ha ritenuto di essere sotto attacco da parte di un hacker specifico in quanto periodicamente si manifestavano problematiche di varia natura. Da un esame dettagliato è emerso che l’azienda era sì sotto attacco, ma gli attacchi erano differenti poiché differenti erano le cause. Uno dei dipendenti, infatti, aveva ripetutamente aperto file dannosi che si trasmettevano anche alla parte server. Tale parte, per necessità operative, non poteva essere opportunamente schermata (gli addetti ai lavori si fidino sulla parola per favore), producendo continue falle nella sicurezza.

Questo è quanto avviene in un contesto reale che, come potete notare, è ben lontano dal mondo ideale rappresentato nelle riviste più accreditate. È con il mondo reale che lo staff tecnico deve rapportarsi ed è per questo che le strategie più efficaci sono quelle che tengono conto dell’effettiva corruzione del sistema. Non la pensa, evidentemente, così il Los Angeles Hospital che, non avendo una politica adeguata di difesa dei dati, si è trovato a dover pagare un riscatto di 17.000 dollari in bitcoin a qualche hacker, come ampiamente narrato dal “The Guardian” (l. articolo).

The FBI said it was investigating the breach but it is unclear what role, if any, it played in the decision to pay off the hackers.

Poi è chiaro che il pagamento di tali riscatti spesso può indurre a pensare che vi sia un secondo fine tra cui: un accordo tra gli hacker e qualcuno del personale interno oppure una negligenza del personale tecnico da coprire con il pagamento (ad esempio la mancanza totale di backup che, in una struttura sanitaria, non è accettabile).

Quanto sono utili i report di sicurezza?

I report di sicurezza emessi da aziende come, ad esempio Kaspersky, sono particolarmente utili per avere una chiara di quale sia il trend di attacco in termini di numeri, di area geografica e soprattutto di tipologia di minaccia ma spesso questi report si concludono (logicamente) sponsorizzando un prodotto. Non mi stancherò mai di dire che un prodotto non è la soluzione a tutti i mali e questo, spesso, traspare all’interno di questi report. Kaspersky, presente in molti enti governativi internazionali, svolge una profonda campagna di sensibilizzazione verso la formazione del personale e la corretta adozione ed uso degli strumenti. Vi segnalo questo link proprio per supportare quanto appena scritto e no, Kaspersky non mi ha pagato per scrivere queste cose.

La verità è che siamo entrati in un’epoca in cui il danno della minaccia è sproporzionata rispetto alla semplicità di contrazione della stessa e leggere i report serve a poco se non si impara la prima regola: come difendersi.

 

Una nuova generazione di sistemi operativi

È necessario ripensare il concetto di sistema operativo: il paradigma UNIX è sicuramente la strada corretta. È necessario isolare il kernel dal resto del sistema ed evitare che modifiche al perimetro possano penetrare nel kernel al punto da manometterlo. È necessario che le politiche di gestione dati siano più efficaci della mera copia shadow effettuata con Windows.

Vi racconto un aneddoto breve per farvi capire la gravita della situazione in cui vertiamo in questi mesi. Una macchina Windows subisce un attacco pesante e va giù ma il responsabile dei sistemi informativi, avendo affidato a Windows Backup il salvataggio di dati e sistema attraverso un clone, decide di stare tranquillo e tenta un ripristino. Il ripristino fallisce per un errore del sistema operativo: per l’esattezza questo.

Windows backup: errore uefi

Windows cannot restore a system image to a computer that has different firmware. The system image was created on a computer using EFI/BIOS and this computer is using BIOS/EFI.

La cosa veramente assurda di questo caso è che la macchina in questione non ha mai subito cambi hardware e la modalità legacy BIOS non è presente di default sulla scheda madre, di conseguenza l’errore di Windows che ne impedisce il ripristino è ingiustificato. Il sistema operativo deve essere dotato di strumenti sicuramente funzionanti anche in condizioni di ripristino potenzialmente avverse. Questo significa che affidare al sistema operativo il salvataggio della macchina, deve comportare avere la garanzia che il sistema di ripristino funzioni senza problemi.

Perchè non sviluppare un doppio sistema di restore? Uno per BIOS e l’altro per EFI? Sulla stessa macchina, in realtà, era attivo un secondo sistema di salvataggio che ha protetto il sistema dalla perdita dei dati.

Tutta questa storia per descrivere come oggi il sistema operativo sia semplicemente “pensato male”. Il sistema operativo dovrebbe essere come una banca, i dati dovrebbero essere contenuti all’interno di uno spazio protetto, in grado di resistere concretamente agli attacchi e il cui accesso da parte di persone, applicazioni, servizi o flussi dati , dovrebbe essere filtrato adeguatamente.

La parte core, poi, andrebbe suddivisa in elementi concentrici di priorità: un po’ come avviene per la planimetria del Pentagono. Più si va verso il centro e più credenziali sono necessarie per operare direttamente. In tal senso ci si sta muovendo verso i WebOs, ossia i sistemi operativi che lavorano sul web e permettono all’utente di salvare dati online distribuendoli su più server (CDN) ma tali sistemi operativi presentano delle problematiche piuttosto ovvie:

  1. Sicurezza dei dati personali all’interno della CDN.
  2. Indisponibilità della connessione ad internet.
  3. Reale inalterabilità dei propri dati e delle proprie informazioni (leggermente differente dal punto 1).

La risposta non può essere quindi un “ripiego sull’online” ma deve essere necessariamente qualcosa di differente. Linux, in tal senso, ha molto da insegnare agli altri vendor e non è un caso che sia considerato estremamente sicuro.

Ripensare l’informatica

Infine è giusto anche notare una cosa: stiamo tornando ad un’informatica anni ’80. Quella in cui solo i più esperti resistono. I ransomware hanno improvvisamente dato un forte schiaffo a tutti quelli che “credevano di possedere un’esperienza” nel campo ma, in realtà, non ne avevano più di tanti altri. Sono veramente pochi quelli in grado, oggi, di mantenere operativa un’infrastruttura in modo adeguato e con tempi e strategie di disaster recovery e business continuity adeguate.

È necessario ripensare l’informatica dividendo il livello di gestione da quello di uso e manutenzione. In un’ottica a micro-servizi (quella che sta andando per la maggiore anche in termini di virtualizzazione) ci si può occupare

  • della gestione dell’intero livello di servizio;
  • o della gestione di ogni aspetto del livello di servizio.

È chiaro che il primo caso richiede meno competenze specifiche del secondo ma è altrettanto chiaro che il secondo sarà più soggetto ad attacchi perchè più nevralgico rispetto al primo. Oggi il livello è semplicemente “unico” ed è rappresentato da un concetto che sta diventando obsoleto, ossia il “sistema operativo”, una piattaforma unica in grado di offrire una serie di servizi concatenati tra loro.

Non ci sarebbe niente di male in questo se non fosse che attaccando uno di questi servizi, si rischia di inquinare anche gli altri e mentre il mondo dei virus si è evoluto in tal senso, quello dei sistemi operativi no. Un chiaro esempio è rappresentato dal Blaster, seguito dal virus Sasser che alteravano il servizio Remote Procedural Call di Windows. Parliamo di minacce studiate per alterare il normale funzionamento della piattaforma Microsoft e renderla fondamentalmente inservibile. Ora siamo arrivati a non attaccare il sistema operativo: non direttamente. Siamo arrivati ad attaccare direttamente i dati, manomettendo di riflesso il sistema operativo che mantiene gran parte delle funzionalità di avvio ma perde la capacità di relazionarsi con l’utilizzatore finale.

Conclusioni

È necessario che l’informatica rielabori il concetto di sistema operativo inteso non più come unica piattaforma di servizi ma come segmenti di micro servizi indipendenti con logiche di protezione e funzionamento separate. In tal senso è interessante lo sforzo fatto dalla Apple per iOS: tenere separate le applicazioni ma favorendo l’interazione tra queste. È un concetto mutuato dal mondo Unix ma portato all’estremo opposto che, almeno all’inizio, ha creato molti malumori nell’opinione pubblica.

I più esperti hanno commentato con un laconico “voglio avere il controllo del dispositivo che acquisto” e non è sbagliato come ragionamento ma è altrettanto vero che il termine “esperto” andrebbe ridimensionato ed inserito all’interno di un contesto più ristretto. È esperto chi conosce l’informatica o chi ha davvero studiato quel particolare sistema operativo?

L’architettura a micro servizi sta andando per la maggiore perchè riesce ad essere più opportunamente isolata, gestita e scalata, rendendo il dispositivo tanto sicuro quanto “integrabile”. Ecco quindi che la sicurezza non riguarderebbe l’intera piattaforma ma i singoli componenti il cui colloquio e la cui interazione sarebbe sicuramente molto più sicura e “gestibile”. Staremo a vedere cosa ci riserverà il futuro ma di sicuro fino a quel momento credo che saranno in pochi a poter dichiarare le aziende “al sicuro” dalle recenti tipologie di attacco.