La sicurezza parte dalla mentalità. Lo spiega Microsoft

La sicurezza parte dalla mentalità. Lo spiega Microsoft

Abbiamo parlato con Cyril Voisin, consigliere capo della sicurezza in Microsoft, riguardo come l'approccio di Microsoft sia cambiato nel corso degli anni e di come l'azienda guardi al futuro, tra IA e lavoro da remoto, in un contesto in continuo cambiamento e che richiede investimenti massicci nella sicurezza, nonché un cambio di mentalità

di pubblicato il nel canale Security
Microsoft
 

Nel settembre 2001 c'è stato un attacco che ha a tutti gli effetti cambiato la storia: il 18 settembre 2001 ha infatti cominciato a diffondersi Nimda, un worm che ha infettato un enorme numero di server aziendali. Nimda ha funzionato come il "fischio del treno" di pirandelliana memoria per Microsoft, che decise di avviare la sua azione di tutela della cybersicurezza in maniera più strutturata e complessa rispetto a prima. Un'iniziativa i cui risvolti sono visibili ancora oggi, nei prodotti Microsoft e oltre.

Microsoft e la cybersicurezza: una storia lunga quasi vent'anni

Nimda era un worm e, in quanto tale, si auto-propagava: i worm infettano un computer e sfruttano poi questo per replicarsi e infettarne altri. Il suo nome è "admin" letto al contrario e la sua origine sta nel modo in cui Microsoft configurava IIS(o Internet Information Services, il server Web di Microsoft).

Cyril Voisin

"All'epoca la filosofia era quella di far sì che il software fosse semplice da usare e, quindi, veniva consegnato ai clienti con molte funzionalità abilitate in via predefinita, così che erano attive che uno lo volesse o meno", spiega Cyril Voisin, consigliere capo della sicurezza in Microsoft. "Questa scelta fu presa per far sì che la barriera d'ingresso all'avere un proprio sito Web fosse molto bassa. Quello che successe è che c'era una vulnerabilità nel software di Microsoft, preinstallato dovunque, e quindi un worm aveva vita facile a diffondersi ovunque."

Da questa esperienza Microsoft ha tratto un'importante lezione: non basta creare sistemi facili da usare e che fanno quello che si desidera, bisogna creare sistemi che siano anche sicuri. Per questo l'azienda fermò completamente lo sviluppo dei propri prodotti nel febbraio del 2002: tutti gli sviluppatori dovettero fare formazione nel campo della sicurezza.

Voisin lo spiega così: "alla fine cos'è il software sicuro? È software che fa quello che dovrebbe fare e non fa nient'altro, così che nessuno possa sabotarlo per fargli fare qualcosa che non era stato pianificato. E a un certo punto ci siamo resi conto che dovevamo integrare la sicurezza nella fase di ingegnerizzazione dei nostri prodotti. È a questo punto che abbiamo creato il Security Development Lifecycle, che è un processo per integrare la sicurezza nel software."

SDL è ora uno standard ISO, il 27034 per la precisione, ed è ampiamente utilizzato nel mondo dello sviluppo del software. Può essere visto come una prima forma di quello che oggi viene chiamato l'approccio security by design: la sicurezza di un prodotto viene considerata già in fase di progettazione e fa parte integrante di quest'ultima. Oggigiorno questa è ritenuta la strategia più efficace nel creare nuovi prodotti.

La sicurezza oggi: non fidarsi di nessuno è vitale

A essere cambiato è anche l'approccio generale alla sicurezza. Voisin paragona il modello dell'epoca a un castello: forte difese esterne, come un firewall, ma nessun controllo di quello che è presente all'interno. Come in un castello, si dà per scontato che i nemici siano fuori delle mura e che dentro siano presenti solo entità fidate. "Come dice Bret Arsenault, però, questo approccio è insufficiente perché abbiamo imparato che non è vero. Oggi gli attaccanti non distruggono più le mura del castello. Semplicemente fanno il login come qualcuno che fa parte della forza lavoro, rubano l'identità di un utente. E a quel punto non sono più riconoscibili."

Il modello più usato oggi è quello della città: non esiste più soltanto il perimetro esterno, ma c'è un perimetro interno che è distribuito ovunque. Come sempre, però, sono presenti difficoltà nel passare al nuovo modello e ci vorrà del tempo prima che questo si diffonda capillarmente. Con questo modello si è poi evoluto anche l'approccio alla sicurezza.

"L'approccio in termini di networking si era evoluto nel Network Access Control, ovvero: si verifica che la macchina sia nota prima di farla connettere alla rete aziendale o a una VPN. Ma nel 2010 Forrester ha coniato il termine "zero trust" [zero fiducia, letteralmente]. L'idea era che abbiamo bisogno di andare oltre il dare implicitamente fiducia alla rete aziendale, o a qualunque rete, e dobbiamo dare per scontato che ogni cosa non sia degna di fiducia fino a che non si dimostra il contrario."

Un approccio che arriva davvero a non fidarsi di niente e di nessuno, perché ormai si è capito che gli attacchi sono all'ordine del giorno e che tutti, prima o poi, ne saranno vittime. "In Microsoft sosteniamo un approccio chiamato "assume breach" [dai per scontato che ci siano falle], che riconosce che quello che importa non è se ti attaccheranno, ma quando ti attaccheranno con successo."

Ci sono tre principi dietro l'approccio "zero trust":

  • verifica esplicitamente: ogni accesso va verificato e confrontato con i precedenti per individuare anomalie;
  • accesso col minimo privilegio (least privileged access): questo aspetto è ben noto ed è già utilizzato da tempo sui computer: l'utente comune non ha accesso con i permessi di amministrazione (o di root sui sistemi UNIX-like), ma con privilegi ridotti. Allo stesso modo bisogna dare agli utenti il minimo accesso richiesto per svolgere le proprie funzioni in qualunque ambito;
  • dai per scontato che ci siano falle (assume breach): bisogna dare per scontato che ci siano falle nella difesa che gli attaccanti stanno sfruttando attivamente e regolare di conseguenza la propria attività, limitando le informazioni a cui possono avere accesso.

Un esempio di applicazione di queste regole è la creazione di tante piccole reti, ciascuna con accesso a risorse specifiche, invece che una sola grande rete. Prendendo l'esempio di Microsoft, non ha senso che il personale dell'amministrazione acceda al codice sorgente di Windows o che gli ingegneri accedano ai documenti legali: le due cose vanno separate creando reti differenti. In questo modo si dà per scontato che qualcuno possa entrare nella rete, ma a quel punto le sue opzioni sono limitate.

Il futuro tra intelligenza artificiale, cloud e assenza di password

Il futuro della sicurezza, però, non è (più) fatto solo dalle persone. L'intelligenza artificiale sarà un tassello fondamentale del puzzle e renderà possibile reagire meglio agli attacchi e alle esigenze del mondo di oggi.

"Oggigiorno un analista di sicurezza lavora in maniera produttiva solo per il 30% del tempo. Il 70% del tempo lo passa su compiti che non danno valore aggiunto, che potrebbero essere fatti da un macchina. È in questo contesto che vogliamo che entri in gioco l'intelligenza artificiale, per due motivi: il primo è che vogliamo eliminare il rumore, quelle informazioni inutili che vengono raccolte e che generano allerte senza, però, costituire alcunché di significativo. La seconda è la capacità di rilevare [le minacce]: usiamo decine di algoritmi per rilevare le nuove minacce e offriamo questa capacità ai nostri clienti. Le nostre soluzioni parlano fra di loro, così che se arriva un allegato malevolo, un PC con Windows è in grado di riconoscerlo anche se questo non arriva tramite la posta elettronica."

Questo approccio, che potremmo definire olistico, alla sicurezza vale anche per il cloud. Microsoft investe circa 1 miliardo di dollari l'anno per la sicurezza del suo cloud e questo sforzo ha fatto sì che Deutsche Bank la riconoscesse come "il più grande fornitore di soluzioni di sicurezza al mondo". "Non sono sicuro che sia vero", dice Voisin, "ma sempre di più i clienti e i partner ci riconoscono come un riferimento. Gartner e Forrester dicono che Microsoft è un vendor di sicurezza, e questo conferma che la percezione al riguardo sta cambiando".

Secondo Voisin non torneremo alla situazione pre-pandemia - "e non dovremmo, per me" - ma questo porta a nuove sfide nel campo della sicurezza: "quello che mi preoccupa ora è che potremmo scoprire qualche compromesso che è stato fatto durante il passaggio dal lavoro in ufficio a quello da casa; allora l'obiettivo era semplicemente far funzionare le cose, e la sicurezza era più che altro un pensiero lontano. Ma il lavoro da remoto richiede addestramento. E cambiamento da parte delle aziende nel proporre i servizi e le applicazioni riducendo lo sforzo necessario agli utenti ma massimizzando la sicurezza."

Abbiamo chiesto a Voisin se in futuro ci sarà più attenzione al togliere peso dalle spalle degli utenti, ad esempio superando il concetto di cambio continuo delle password. "È una cosa a cui stiamo puntando. Il problema più grande oggi sono gli organi regolatori: se vai da un ispettore e gli dici che non usi le password perché usi altri fattori di autenticazione, di solito non sono molto contenti. Ma le cose stanno cambiando in questa direzione [per superare le password]. Per il resto, non direi che non ci sarà del peso sugli utenti perché in fin dei conti, la sicurezza è l'insieme di tre ingredienti: le persone, i processi e le tecnologie. E le persone sono molto importanti. Una persona può essere sempre manipolata, anche se non si usano le password. Per questo un ruolo chiave sarà sempre svolto dalle persone, ma sono d'accordo che se possiamo rendere loro la vita più semplice, non chiedendo loro la password continuamente, dovremmo farlo."

10 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
nx-9925 Giugno 2020, 10:53 #1
Sì, la sicurezza che con il closed source non poi sapere cosa esegue il tuo device.
jepessen25 Giugno 2020, 12:02 #2
Originariamente inviato da: nx-99
Sì, la sicurezza che con il closed source non poi sapere cosa esegue il tuo device.


Neanche con l'open source se e' per questo. Voglio vedere quanti utilizzatori di software open source vanno ad analizzare il codice per capire quello che fanno. Il bachi infatti sono presenti anche li, con in piu' il fatto che essendo open source stanno li fin quando qualcuno non si prende la briga di risolverli, invece di avere un supporto tecnico a cui puoi segnalare i problemi.

Ho segnalato diversi problemi su netbeans ed eclipse e sono ancora li. Ho segnalato dei problemi con visual studio e li risolvono quasi sempre nelle release incrementali.
WarDuck25 Giugno 2020, 12:49 #3
Originariamente inviato da: nx-99
Sì, la sicurezza che con il closed source non poi sapere cosa esegue il tuo device.


Edit: correggo il tiro.

Questo è vero _solo parzialmente_, puoi sempre disassemblare il binario, anzi paradossalmente è l'unico modo per capire cosa sta eseguendo realmente il tuo device.

In ogni caso è solo un tassello della questione. Heartbleed ti dice niente?

In generale poi seguendo un approccio globale no-trust, dovresti farti l'hardware in casa.
najmarte25 Giugno 2020, 13:45 #4
con zero password si intende usare il biometrico o analisi comportamento? O combinazioni di queste e altre strategie?
pachainti25 Giugno 2020, 18:53 #5
Originariamente inviato da: nx-99
Sì, la sicurezza che con il closed source non poi sapere cosa esegue il tuo device.


Essere open source è una condizione necessaria, ma non sufficiente, per avere trasparenza, certezza e sicurezza del funzionamento.
Inoltre, occorrono reproducible builds e possibilmente audit del codice sorgente.
Riccardo8226 Giugno 2020, 08:56 #6
@jepessen cazzo non dirglielo che poi la gente come lui non dorme la notte.. ;-)

uno dei luoghi comuni che avrò sentito 1213123 volte.

Ed il brutto che in università spesso ste idee trovano terreno fertile poi si va a lavorare e cucù ....

good night..



Slater9126 Giugno 2020, 11:11 #7
Originariamente inviato da: najmarte
con zero password si intende usare il biometrico o analisi comportamento? O combinazioni di queste e altre strategie?


Tendenzialmente accesso tramite dati biometrici, ma non solo. La verità è che nessuno ha bene idea di come cambiare le cose, ci sono un po' di proposte ma nulla di più concreto (sia chiaro: le tecnologie ci sono, semplicemente non c'è accordo su cosa usare).
WarDuck26 Giugno 2020, 14:16 #8
Originariamente inviato da: pachainti
Essere open source è una condizione necessaria, ma non sufficiente, per avere trasparenza, certezza e sicurezza del funzionamento.
Inoltre, occorrono reproducible builds e possibilmente audit del codice sorgente.


Essere open source rende le cose accessibili a tutti ed in generale facilita nel fare quello che dici.

In ambito mission critical non ti basterebbe, così come non ti basterebbero anche i soli audit del codice sorgente. Ad esempio i compilatori potrebbero (come spesso fanno per altro) alterare il tuo codice per tentare di renderlo più veloce e violare alcune assunzioni di fondo del codice che hai scritto. Quindi hai bisogno anche di controllare i compilatori e il codice generato.

In generale il codice che un programmatore scrive NON è il codice che viene eseguito. Senza contare che poi entra in gioco anche DOVE questo viene eseguito. Lo stesso identico processore che esegue lo stesso identico binario, potrebbe non girare nella stessa maniera, ad esempio se il microcodice alla base della CPU è diverso (certo, si può questionare filosoficamente se sia lo stesso identico processore ).

Comunque, gli audit del codice possono essere fatti anche per codice "closed" al pubblico. Che è un po' quello che avviene in ambienti mission critical.

In generale il solo fatto che un codice sia "closed" non è indice di nulla in termini di security, né in bene né in male. Puoi solo affermare che sia closed, e cioè non accessibile al pubblico.
cdimauro27 Giugno 2020, 16:11 #9
Esatto. Peraltro il codice closed è almeno "sicuro" quanto quello open.

Quella del software open "più sicuro" di quello closed è soltanto una favola che circola da tempo, ed è dimostrato essere sbagliata.
zbear30 Giugno 2020, 09:28 #10
"Voisin lo spiega così: "alla fine cos'è il software sicuro? È software che fa quello che dovrebbe fare e non fa nient'altro" DOPO aver fatto quella mostruosità che è Windows 10, infarcito di tutto quello che non serve (tranne che a M$)? Ipocriti .....

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^