Skip to main content
Risto Kokkonen - Unsplash
Risto Kokkonen - Unsplash

D3fendiamoci!

| Simona Venuti | cybersecurity
Articolo letto 494 volte

Da MITRE uno strumento molto utile, ma ancora poco noto a chi per mestiere difende una infrastruttura digitale

In cybersecurity e non solo, la miglior difesa è l’attacco, intendendo che per difendere dobbiamo aver chiare minacce, motivazioni, tecniche e tattiche di attacco dei malintenzionati, applicarle al proprio asset e sviluppare un adeguato threat model e analisi del rischio.

Un difensore ha bisogno di una visione d’insieme delle problematiche del DNS

Con la crescita esponenziale delle potenziali vulnerabilità e dei tipi di attacco, seguire come ciascuno di essi possa impattare sui nostri asset è diventato estremamente complesso: per questo sono nati vari framework che aiutano a schematizzare le forze in gioco, come Microsoft STRIDE, Cyber Kill Chain di Lockheed Martin, PASTA e il famoso MITRE ATT&CK. Sono strumenti molto potenti e utili, ma lunghi e complicati da configurare, adattare e popolare con i propri dati. Per far fronte a questa difficoltà è nato uno strumento che affronta il problema di fare threat modeling e analisi del rischio dal punto di vista del difensore: si tratta di MITRE D3fend. D3fend, che abbrevia “Detection, Denial and Distruption Framework Empowering Network Defense”, è un framework sviluppato da MITRE nel 2021, meno noto della matrice di attacco ATT&CK, ma più semplice da applicare in grado di ottenere risultati tangibili più in fretta, soprattutto per strutture medie e piccole.

A prima vista la matrice D3fend è simile alla matrice ATT&CK, suddivisa in “macro categorie” di tattiche: model, harden, detect, isolate, deceive ed evict. Queste categorie guidano l’utente in una panoramica ad alto livello di tutto ciò che può fare per difendersi, orientata a categorie e azioni da compiere sui sistemi piuttosto che a specifici tool o prodotti.

Nella matrice possiamo anche ricercare tattiche specifiche: ad esempio, nella categoria “Harden”, sotto “Credential Hardening” possiamo trovare Strong Password Policy, D3-SPP : ci vengono offerte spiegazioni dettagliate sul tipo di tattica, il suo funzionamento, gli aspetti da tenere in considerazione nell’implementarla (ad esempio che password troppo complicate portano a scriverle sui foglietti, che non va bene), gli artefatti su cui impatta (in questo caso, password e user account), i possibili attacchi , ereditati dalla matrice ATT&CK, e specifiche o brevetti dei vari vendor che trattano di questo tema e sono stati usati come fonte.

Guardando qualche tattica più “succosa”, per esempio in Detect – Platform monitoring – Operating system Monitoring (D3-OSM), troviamo risposte alla domanda che ci facciamo quasi tutte le mattine: quali sono le tattiche per il monitoraggio di un sistema operativo?

Ognuna delle sottoclassi elencate, contiene informazioni specifiche, per esempio System Daemon Monitoring, D3-SDM, ci dice cosa è, su quali artefatti impatta, le tattiche di attacco e come i vendor riescano a riconoscere questo tipo di attività.

Gli usi di D3fend sono molteplici: possiamo utilizzarlo come una chek-list, un promemoria, una mappa per sapere dove siamo e dove stiamo andando, ma anche per capire quali siano gli skill che ci mancano e gli aspetti da approfondire.

Tutto gira intorno all’artefatto

Un modo più approfondito di utilizzare D3fend ruota attorno al concetto di artefatto, inteso come qualsiasi oggetto informatico creato apposta per fare qualcosa: non solo quindi gli ovvi file di log, ma anche dispositivi, applicazioni, link, persino gli utenti (che potrebbero essere spoofati e diventare vittime di furto di identità). l’ontologia di tutti gli artefatti analizzati da D3fend si trova qui: https://d3fend.mitre.org/dao/

Vediamo come possano esserci utili nella ricerca di tattiche difensive, tornando all’esempio di Operating system Monitoring (D3-OSM). Nella pagina dedicata, oltre alle rilevanti tattiche di difesa, troviamo anche uno schema delle relazioni fra esse e i relativi artefatti su cui impattano.

Possiamo vedere per esempio tutte le tattiche per proteggere l’artefatto “input device”, sia per individuare un eventuale problema di sicurezza (Detect) che isolarlo (Isolate). In questo caso vediamo che possiamo identificare questo tipo di problemi analizzando il device, e possiamo isolarlo filtrando l’utilizzo I/O di quel device. Ogni contromisura è cliccabile e ulteriormente spiegata. Un’altra cosa utile, per chi ha dimestichezza con la matrice ATT&CK, è vedere nella stessa schermata le tattiche di attacco utilizzate per prendere il controllo di un input device, in questo caso cattura audio, video e keylogging.

L’artefatto è quindi il punto di congiunzione fra la matrice di attacco e quella di difesa.

In D3fend possiamo quindi cercare tattiche non solo per categoria, ma anche per difendere i singoli artefatti. Ad esempio, volendo sapere tutte le tattiche per difendere i singoli messaggi di posta, posso selezionare l’artefatto “e-mail ” e vedere tutte le possibili tattiche che implicano l’hardening, la detection e l’eviction dei problemi ad essi relativi e, senza conoscere in modo preciso il mio threat model, né il funzionamento della matrice ATT&CK, posso scoprire immediatamente i possibili attacchi ai messaggi. Inoltre, seguendo i link delle singole tattiche (Dynamic Analysis, Emulated File Analysis etc) posso conoscere i vari strumenti di difesa a mia disposizione.

I casi d’uso avanzati di D3fend possono esserci di aiuto nello stilare il nostro threat model o analisi del rischio: vediamo, come esempio, lo sfruttamento del servizio DNS, un servizio fondamentale per il funzionamento delle nostre reti, che quindi non può semplicemente essere bloccato per protezione. D3fend può aiutarci a capire i problemi di sicurezza che potrebbero insorgere, come rilevarli e risolverli.

Se ci approcciamo a questo problema iniziando dalla matrice di attacco, vediamo che ci sono infiniti modi per abusare del DNS e che molte tattiche si sviluppano in sotto-tecniche difficili da enumerare - e dopo averle enumerate resta da capire come individuarle nella nostra rete. Ogni tecnica può avere obiettivi e modalità molto diversi e, non potendo conoscerli tutti, un difensore ha bisogno di una visione d’insieme delle problematiche del DNS.

Apriamo la matrice. Già nelle categorie troviamo tre voci che ci interessano: DNS Traffic Analysis in detection, e DNS Allowlisting e DNS Denylisting in isolate. Possiamo quindi individuare e isolare i problemi. Possiamo poi cercare gli artefatti che impattano sul DNS: nella lista che ci viene restituita scegliamo, per esempio scegliamo “Outbound Internet DNS Lookup Traffic”.

Il traffico DNS in uscita viene toccato da numerose contromisure che si possono adottare in altri campi: ad esempio contare il rapporto fra i byte in download e upload di un host nel traffico generico di rete. Un passo ulteriore è esaminare le tecniche di attacco, per esempio Dynamic Resolution: la schermata che ci viene proposta riassume le tecniche di difesa in relazione a questo problema e le relative sottocategorie, come Fast Flux Domain. Questa schermata è la vera forza di D3fend, perchè in un unico punto possiamo vedere tutte le tecniche di difesa relative ad un problema: in questo caso, possiamo osservare che per difendere il Dynamic Resolution del DNS, non basta agire sul servizio DNS, ma è necessario adottare una serie di contromisure e controlli sulla rete, sui protocolli, sulla geolocalizzazione dei login...

Riusciamo quindi a dividere un sistema molto complesso, come la sicurezza del DNS, in una serie certa di tattiche semplici e atomiche.

Va notato che D3fend non si limita a mettere in relazione biunivoca le forme di attacco con le relative forme di difesa, ma nasce con una logica strutturale e architetturale ben precisa: è facile notare come le categorie di D3fend siano in stretta relazione con i principi di Zero Trust Architecture.

Lo strumento è potente e completo, ma (unica nota dolente) al momento perlopiù manuale. D3fend è però ancora abbastanza giovane e i vendor di strumenti di sicurezza sembrano aver capito l’importanza di automatizzarlo e ci stanno lavorando, per poterlo aggiungere all’automazione di ATT&CK, già piuttosto matura. Un esempio già pronto dell’integrazione automatizzata di D3fend è Sentinel2D3FEND, OpenSource che partendo dalle regole di Microsoft Azure Sentinel, ricavate dalla matrice ATT&CK, genera automaticamente le regole per difendersi. Un altro strumento OpenSource che rende automatiche le contromisure di D3fend nel campo Cloud e Containers è Falco.

Tutte le tattiche di D3fend

Model o “modellazione”, descrive nel modo più generale possibile le cose da difendere: include l’inventario degli asset, la mappatura della rete, la mappatura

Harden: include le tecniche per limitare al massimo l’impatto di eventuali attacchi, rendendo l’attacco più “costoso” dal punto di vista dell’attaccante. Le sotto-categorie riguardano applicazioni, credenziali, messaggi, sistemi e SO.

Detect: si occupa del rilevamento dei problemi, l’aspetto più interessante per un analista di sicurezza. Le sotto-categorie includono l’ analisi dei file, di altri artefatti (IP reputation, DNS, URL, file HASH), dei messaggi di posta, del traffico di rete, dei sistemi, dei processi e dei comportamenti degli utenti

Isolate: si occupa di filtrare, isolare o creare barriere davanti alla risorsa da difendere. Sue sotto-categorie sono l’isolamento dell’ambiente di esecuzione e della rete.

Deceive: si occupa di inganni ed è suddivisa in 2 sotto-categorie: “ambiente ingannevole” (honeynet) e “oggetti ingannevoli” (file, account, persone, credenziali create appositamente fake)

Evict: è la tattica per eliminare definitivamente un avversario dai nostri sistemi. Contiene le sotto-categorie credential eviction (azioni su credenziali/account), file eviction e process eviction.

Ti è piaciuto questo articolo? Faccelo sapere!
Dai un voto da 1 a 5, ne terremo conto per scrivere i prossimi articoli.

Voto attuale:
Cybersecurity Month 2023

Archivio GARR NEWS