Guerre di Rete - Facciamo Threat Modeling assieme

Un esercizio in autodifesa digitale

Guerre di Rete - una newsletter di notizie cyber
a cura di Carola Frediani
N.89 - 29 novembre 2020

Questa settimana non sono riuscita a scrivere di attualità e delle ultime notizie come al solito. Allora - come ho già sperimentato altre volte, ad esempio quando ho composto un elenco di libri recenti da leggere sul digitale - invece di non uscire proprio, ho deciso di pubblicare un breve approfondimento su un tema.

In questa edizione atipica della newsletter ho deciso di parlare di threat modeling. Anzi di fare quasi un workshop. Prima che scappino tutti i lettori meno tecnici, preciso subito che vorrei parlare di threat modeling (ora spiego cos’è) applicato alle persone, all’autodifesa digitale e alla security awareness. Ovvero se vi sentite poco o nulla esperti in materia, questo testo è indirizzato a voi. Se invece siete esperti di sicurezza e pure maghi del threat modeling, il taglio e il contenuto saranno per voi semplici e probabilmente lacunosi.

Cos’è il threat modeling
È un processo con cui identificare potenziali minacce e vulnerabilità, valutare quanto sono serie/probabili nel caso specifico, metterle in una scala di priorità, e ridurre il rischio che si avverino prendendo delle contromisure. In genere lo si fa per sistemi/software/prodotti, e al riguardo c’è una discreta letteratura in materia (ad esempio, Threat Modeling: Designing for Security di Adam Shostack, un manuale fondamentale, e piuttosto tecnico, rivolto soprattutto a sviluppatori ecc).
Ma lo si può applicare anche a organizzazioni e persone, sebbene qui la disciplina sia meno sistematizzata e nel caso delle persone tenda a sovrapporsi alle misure per mettere in sicurezza le proprie attività online (denominate operation security o opsec).

Qui in particolare ci interessa l’applicazione alle persone. In questa accezione, tutti noi già facciamo threat modeling (le donne poi lo fanno tantissimo). Quando valutiamo che via prendere per tornare la sera, quanto è sicura, quanto ci espone tornare a piedi da soli, che mezzi abbiamo eventualmente per evitare (o difenderci da) una aggressione. Questo è threat modeling di strada.
Siamo invece meno abituati ad applicarlo nella nostra vita digitale.
Eppure imparare a farlo aiuta molto di più della solita lista di consigli, che finiscono con l’essere indicazioni generiche e inascoltate. Il threat modeling invece è alla base di una cultura della sicurezza, anche individuale.
Dunque proviamo a fare un esercizio assieme. Partiamo dal grafico sottostante.

(Se non vedete l’immagine sottostante o non volete abilitare la visualizzazione immagini ho twittato lo stesso qua, immagine a sinistra).

Potremmo considerarlo un frammento di una attività di threat modeling per una persona. Un frammento (semplificato qua al massimo) che parte da uno dei suoi asset più importanti, la mail (ho preso per comodità Gmail, vista la sua diffusione).
Nel grafico troverete che ogni freccia indica un percorso (o un pezzetto di percorso) per accedere alla vostra casella Gmail. Ovvero YOU (TU) detentore dell’account ci accedi di solito usando un pc, uno smartphone e un tablet (almeno nella nostra simulazione). Ognuno di questi usa a sua volta una app o un browser (e una connessione, ad esempio un punto d’accesso Wi-Fi). Che si connette a Gmail.
Ma anche Google può accedere a Gmail (che lo faccia o meno non importa, interessa la possibilità per ora).
E anche un attaccante che abbia le credenziali (semplificate qui con password).
E anche un attaccante che non abbia le nostre credenziali ma riesca a infilarsi nel nostro percorso per accedere a Gmail (ad esempio, usando uno dei nostri apparecchi o software. Anche qua il termine usare è volutamente vago: si va dall’infezione con un trojan veicolata navigando col browser su un sito malevolo a qualcuno che acceda fisicamente al nostro tablet incustodito). Ma l’attacco potrebbe anche essere direttamente contro di noi: qualcuno che ci prenda il telefono di mano fisicamente; o ci inganni con una operazione di social engineering per farsi consegnare la password; o ci minacci fisicamente per avere la password.

Ora il threat modeling sarà:
- fare una lista delle possibilità di attacco/vulnerabilità dato questo schema che contempla i modi in cui noi o altri accediamo al nostro Gmail;
- valutare quelli che per noi sono gli attacchi/vulnerabilità più probabili, scartare quelli improbabili o comunque quasi impossibili da rimediare, e su tutti gli altri applicare dei rimedi - in gergo si dice che applichiamo dei controlli, ovvero delle contromisure contro questi attacchi, e le contromisure possono essere tecniche (ad esempio, cifratura) o procedurali (non rivelo la password a uno al telefono che si finge MrBigGoogle, ogni riferimento a Carrie è puramente casuale).

Detto altrimenti (usando l’aiuto da casa di Andrew Lee-Thorp in questa presentazione video sul threat modeling):

  • costruisci il modello, una rappresentazione del sistema

  • poniti delle domande sul sistema (essenzialmente: cosa potrebbe andare storto?)

  • identifica come mettere a posto i difetti trovati

Tutto chiaro? Iniziamo.
Ripartiamo dall’elenco di ciò che dobbiamo analizzare perché può portare, direttamente o indirettamente, al nostro Gmail. Agevolo grafico. Ognuna di queste caselle/riquadri colorati richiederebbe una analisi a se stante probabilmente. Inoltre ce ne potrebbero essere molte altre a seconda delle preferenze d’uso dell’utente (esempio: usa un servizio cloud per il backup delle mail? Usa un password manager? ecc ecc)

(Se non vedete l’immagine sottostante o non volete abilitare visualizzazione immagini ho twittato lo stesso qua, immagine a destra).

Ora immaginiamo solo alcune situazioni (non tutte ok?).

ATTACCANTE CON LA PASSWORD
Per la maggior parte di voi (di noi) l’attacco più probabile sarà quello dell’attaccante con password, cioè che è già in possesso della nostra password (vedi riquadro YOUR PASSWORD nel grafico). Quindi dovremo lavorare per evitare che questo accada. Normalmente un attaccante ha la nostra password perché:
1) gliela abbiamo detta noi (rivelandola a ex convivente, collega ecc, scrivendola su un post-it ecc)
2) è una password che può essere indovinata da un umano (è il nome del nostro gatto molto amato e instagrammato seguito dal nostro anno di nascita, appena celebrato con compleanno e torta su Facebook) o da un programma (che prova tutte le parole esistenti ecc)
3) è una password difficile da indovinare ma non è unica, la usiamo anche sul forum di vattelapesca, sul sito degli scacchi cui ci siamo appena iscritti trascinati dall’entusiasmo per una serie Netflix, sul sito di dating per cuori spezzati dal Covid. Se uno di questi viene “bucato” da qualcuno e non protegge adeguatamente la password, l’attaccante potrà provare a usarla sul nostro Gmail (la pratica esecrabile di usare la stessa password su più account si chiama password reuse, e vi assicuro che ci sono ancora più leak in circolo figli del password reuse che virologi in tv).
4) password unica e difficile ma poi nelle opzioni recupero password ho risposto alle domande di sicurezza che mi chiedono il nome dell’asilo che frequentavo mettendo davvero quello (ma come fate a ricordarvelo poi?), e un attaccante motivato ha scoperto la risposta giusta da inserire.
5) gli esempi possono essere sempre più complessi: se usiamo un password manager (uno strumento che ti fa salvare tutte le password in un posto solo) e sopra ci salviamo anche la nostra password di Gmail dobbiamo sapere che la sicurezza di Gmail dipenderà dalla sicurezza della password con cui entriamo nel password manager (che probabilmente dovremmo aggiungere da qualche parte nel grafico sopra, essendo un’ulteriore via di accesso al nostro Gmail).
(PS: il password manager, se usato bene, è uno dei principali strumenti per alzare le vostre difese (insieme all’autenticazione a due fattori). Ce ne sono di vari tipi (qua una lista con pro e contro - PC Mag). Inoltre una volta che si inizia a usarlo scoprirete che è estremamente comodo.)

Ok, ora che abbiamo visto sopra alcuni casi (i vari 1,2, 3, 4, 5) applichiamo subito per ognuno delle contromisure che potranno essere tecniche o procedurali (mentre in contemporanea valutiamo la priorità da dare alla varie minacce in base al nostro profilo):
1) decidiamo che non dobbiamo rivelare la password a nessuno, se lo abbiamo fatto la cambiamo (procedurale)
2) cambiamo la password facile mettendone una lunga e difficile, con mix di lettere, numeri e caratteri speciali (tecnico). PS: la password P@ssw0rd! non vale eh
3) facciamo in modo che la nostra password Gmail sia unica (procedurale)
4) non rispondiamo in modo veritiero a domande di sicurezza che possono essere indovinate/ricostruite da altri (procedurale)
5) sulla 5, ma in generale a rinforzo anche delle altre, aggiungiamo l’autenticazione a due fattori. Così anche se qualcuno avrà la nostra password dovrà avere anche un codice generato dal nostro telefono per accedere. Scegliamo dunque di usare una app per generare i codici del nostro secondo fattore. Riduciamo il rischio che qualcuno possa usare il nostro telefono con la app bloccandolo con un pin (con la cifratura). 

Se invece immaginiamo per qualche motivo di dover usare solo l’autenticazione a due fattori via sms (e non tramite app), alla nostra analisi dovremo aggiungere una serie di rischi/attacchi connessi al ricevimento dell’sms: l’operatore telefonico (o un suo dipendente) potrebbe essere compromesso/ingannato e permettere un cambio di SIM - SIM swap - richiesto dagli attaccanti che così a quel punto riceverebbero loro l’sms; o l’sms potrebbe essere “intercettato” con attacchi SS7 che sfruttano una nota vulnerabilità del protocollo usato nelle reti telefoniche. (Sul rischio SIM swap, prevalente negli Stati Uniti e in altri Stati, e alcune possibilità per mitigarlo vedi questo articolo di Cybersecurity360).

ATTACCANTE SENZA PASSWORD
SCENARIO A

Lo scenario A è il più diffuso e probabile. È quello in cui l’attaccante cercherà di farsi dare la password da voi senza che ve ne accorgiate. Quindi sarete attaccati direttamente voi (vedi riquadro YOU nel grafico).
Il metodo più diffuso e probabile sarà social engineering, ovvero l’inganno:
1) mail di phishing (finta notifica sicurezza di Gmail che dice che dovete cambiare subito la password perdiana!)
2) sms/messaggio o telefonata di phishing (in gergo, smishing o vishing)
3) altri metodi creativi

La contromisura sarà procedurale:
- non clicco su link sospetti, non inserisco le mie credenziali se non sono sicura che sia Gmail, non vado a cambiare la password da un link nella mail, non mi fido di sconosciuti al telefono anche se assicurano di essere un helpdesk, non accetto caramelle ecc
E tecnica:
- uso autenticazione a due fattori (è vero che il social engineering può riuscire ad aggirarla, ma se ad esempio adotto una chiavetta hardware tipo Yubikey come metodo di autenticazione diventa molto più dura se non impossibile).

SCENARIO B
L’attaccante cercherà di farsi dare la password minacciandovi fisicamente o legalmente (vedi riquadro YOU).
Contromisura procedurale per la minaccia legale:
- un buon avvocato se siete in uno Stato di diritto
Se non siete in uno Stato di diritto, dovete accettare il rischio di dover consegnare la password. Potete minimizzarlo riducendo i dati sensibili presenti sulla vostra mail. O viaggiare (se lo Stato è estero) senza i vostri usuali dispositivi e/o metterci sopra un Gmail secondario. O altro ancora. Ma questa è una soluzione estrema, e se il vostro threat model è quello di comuni mortali probabilmente lo scarterete o comunque sarà in fondo alle vostre priorità.

SCENARIO C
L’attaccante cercherà di accedere direttamente al vostro Gmail passando fisicamente dai vostri apparecchi, ergo tenterà di mettere le mani sui vostri telefoni, tablet, computer (vedi riquadro PC, SMARTPHONE, TABLET).
Contromisura tecnica:
- cifratura disco su tutto
Contromisura procedurale:
- non lascio i miei apparecchi incustoditi, specie se accesi; faccio in modo di inserire il blocco se mi allontano per poco, spengo (per attivare cifratura) se mi allontano di più o se lo trasporto.
(Questo scenario sarà ovviamente in cima alla vostra lista se lavorate in aree condivise, e dovete spesso allontanarvi dal pc per vari motivi; se non vi fidate di chi ha accesso ai vostri spazi; se viaggiate per lavoro, ecc)

SCENARIO D
L’attaccante prova a ottenere le vostre credenziali o comunque a leggervi la posta entrando da remoto nei vostri dispositivi. Può farlo in vari modi:
1) con un link in una mail/messaggio che vi farà installare un trojan
2) con una finta app da scaricare che invece è malevola
3) con una vulnerabilità del vostro software
4) con un aggiornamento malevolo di un software autentico
5) dirottando la vostra navigazione su un sito malevolo senza che ve ne accorgiate
….e in altri modi che non sto ad elencare…
(vedi riquadro SMARTPHONE, TABLET, PC intesi come sistema operativo ma anche BROWSER, APP ecc)

Contromisure tecniche e procedurali:
1) installate un antivirus, non cliccate su link di cui non siete sicuri, aprite allegati all’interno di applicazioni/ambienti sicure
2) non scaricate app e software a caso
3) aggiornate sempre i software, non visitate siti sconosciuti, non col computer su cui volete proteggere dati sensibili
4) in questo caso l’attaccante ha compromesso la supply chain, è di alto livello, sperate di non rientrare in questo threat model e comunque di essere solo un target casuale
4) tendenzialmente, idem come sopra

(Tenete però presente che se il vostro threat model include qualcuno che voglia entrare con un malware nel vostro pc quasi SOLO per leggervi la posta - invece che per cifrare tutto con un ransomware e chiedervi un riscatto, o per entrare nell’internet banking, siete in una alarm zone, in cui dovrete prendere molte altre contromisure… Una parte di giornalisti può essere inclusa in questa categoria, così come alcuni avvocati, legali, consulenti, politici ecc ).

Prendiamo ora ad esempio solo il riquadro TABLET e invertiamo l’ordine del ragionamento.
Avete adottato tutte le contromisure di cui sopra, password forte, autenticazione a due fattori, sul telefono avete una passphrase, il computer è cifrato… ma cosa altro potrebbe andare storto considerato che volete difendere la casella mail? Magari dal tablet vi eravate loggati su Gmail per controllare un giorno la posta mentre eravate chissà dove e di fretta, poi ve ne eravate quasi dimenticati, e il vostro tablet (che usate solo per la didattica a distanza dei figli) non ha PIN di sorta. Un giorno vostro figlio se lo porta a scuola e poi lo dimentica su un muretto. Oppure lo lasciate voi per errore in un bar o su un treno. Se aveste fatto threat modeling, avreste invece considerato che il tablet era uno dei modi per accedere al vostro Gmail e avreste potuto decidere di blindarlo con un PIN o passphrase, o meglio ancora, visto che andava in giro in mano ad altri, di togliere del tutto Gmail dallo stesso.

Ancora, vediamo la casella GOOGLE, ovvero la possibilità di una RICHIESTA STATALE E/O di un ATTACCANTE STATALE.
La maggior parte delle persone probabilmente non avrà questa preoccupazione in cima alla sua lista (specifico che per richiesta e/o attacco statale intendo qualsiasi Stato, non solo il vostro; e che la prima può essere una ingiunzione o altra richiesta legale nell’ambito di una giurisdizione, mentre con attacco intendo un accesso illegale fatto a insaputa della stessa azienda, in genere da parte di una intelligence). Tuttavia se invece vi considerate a rischio dovrete trovare il modo di cifrare le vostre mail sensibili (ce ne sono diversi, qua un elenco di opzioni; e qua un altro). Vale anche per lo scenario in cui non vi fidiate di Google (ma allora fate prima a non usare proprio i suoi servizi).

Bene, abbiamo finito questa prima analisi. Ora andate avanti voi: elencate la vostra lista di asset (di beni per voi preziosi in quanto contenenti vostre info o accessi alle stesse), e provate a esaminare per ognuno chi e come può accedere. E dove potete applicare contromisure. Se alla fine di questo esercizio non vi è salita almeno un po’ di paranoia, allora l’esperimento non è andato a buon fine.

In generale, ricordo ancora che ci si può concentrare: 1) sugli asset (i vostri beni digitali/tecnologici); 2) sugli entry point; 3) sugli attaccanti, e che comunque è qualcosa che in realtà sapete già fare, sempre per citare Shostack. E che la domanda principale da porsi resta: cosa può andare storto?

Ecco qualche risorsa da consultare:

SALUTI E CONTATTI
Se qualcuno vuole contattarmi in modo anonimo (o, quanto meno, con una maggiore probabilità di privacy e senza dover passare per una casella email o un account legato a un telefono) può farlo andando su https://contact.carolafrediani.org/#/ via Tor Browser (se da dentro la newsletter non si apre link basta riscriverlo nel browser).
È una piattaforma open source creata da Globaleaks (che ringrazio! in particolare un grande grazie a Giovanni Pellerano) che permette a giornalisti, media e organizzazioni (qua ce ne sono alcune) di ricevere segnalazioni e a chi segnala di proteggere la propria privacy (qui un articolo in inglese su chi sono, che fanno).
Oppure potete scrivermi una mail con PGP. O contattarmi solo su Signal +14783944294. O, se non avete particolari esigenze di privacy, molto semplicemente, rispondere a questa newsletter.

Ti è piaciuta la newsletter? Inoltrala a chi potrebbe essere interessato!
E’ gratuita, indipendente, senza sponsor, mandanti o agende altrui, e si diffonde col passaparola dei suoi stessi utenti.
Come viene fatta questa newsletter (e come leggerla)
Per iscriversi: https://guerredirete.substack.com/
Buona domenica!