Un indicatore di compromissione che gira dentro un PDF o nel corpo di una mail non lo legge nessuna macchina: tocca trascriverlo a mano in un IDS (Intrusion Detection System) o in un foglio Excel, con gli errori di copiatura che ne seguono. MISP â Malware Information Sharing Platform â risolve il problema trasformando gli indicatori in una struttura dati interrogabile e sincronizzabile tra organizzazioni. Il progetto, pubblicato come open source nel 2013, viene da uno strumento interno chiamato CyDefSIG (Cyber Defence Signatures), avviato nel 2011 da Christophe Vandeplas alla Difesa belga, e oggi lo sviluppa e mantiene soprattutto il CIRCL, il Computer Incident Response Centre del Lussemburgo.
Contesto
Tra i CERT europei gli indicatori girano per lo piĂš su canali non strutturati: mail, allegati di testo, fogli di calcolo. Ogni team riceve gli stessi indirizzi IP, gli stessi domini e gli stessi hash da fonti diverse, e ognuno se li reinserisce a mano nei propri sistemi di rilevamento. A un workshop di analisi malware del 2012 piĂš gruppi si accorsero di aver analizzato lo stesso campione ciascuno per conto proprio: lo stesso lavoro rifatto in parallelo, senza che nessuno sapesse cosa stavano facendo gli altri.
Il problema sta nella forma dei dati, prima ancora che nella quantità . Un hash MD5 scritto dentro un report è informazione per una persona; lo stesso hash in un campo tipizzato, con timestamp, attribuzione e flag di esportazione, è qualcosa che un sistema legge da solo, senza che nessuno intervenga. MISP serve a far passare gli indicatori dal primo stato al secondo.
Architettura
MISP è unâapplicazione web in PHP costruita su CakePHP, con MySQL come archivio. Il modello dati ruota attorno a due entitĂ .
Un evento rappresenta un incidente, una campagna o unâanalisi: porta una data, lâorganizzazione di origine, un livello di rischio e unâimpostazione di distribuzione. A ogni evento appartengono uno o piĂš attributi: gli indicatori veri e propri, tipizzati per categoria (indirizzo IP sorgente o destinazione, dominio, hash di file MD5/SHA1, URL, indirizzo email, nome file, chiave di registro). Ogni attributo porta un flag che dice se va esportato verso un sistema di rilevamento â una distinzione che tiene separato il contesto investigativo dagli indicatori su cui si agisce.
Su questo modello MISP costruisce tre meccanismi.
La correlazione confronta in automatico gli attributi tra eventi: se lo stesso dominio compare in due incidenti caricati da organizzazioni diverse, MISP li collega e lo segnala. Salta fuori una sovrapposizione che altrimenti sarebbe rimasta chiusa in due silos separati.
Lâexport verso IDS genera le regole per Snort e Suricata a partire dagli attributi di rete marcati come esportabili. La piattaforma produce anche altri formati pronti da dare in pasto ai sistemi di rilevamento, di rete e di host.
La sincronizzazione collega istanze MISP distinte: unâorganizzazione fa girare il proprio server e si aggancia a quelli dei partner di cui si fida, scaricando i loro eventi secondo le regole di distribuzione che la fonte ha deciso. Non câè un repository centrale obbligatorio; la topologia se la disegnano le organizzazioni tra loro.
Formati e interoperabilitĂ
MISP importa ed esporta OpenIOC, lo schema XML che Mandiant ha pubblicato nel 2011 per descrivere indicatori host. Sul versante degli standard di scambio, STIX (Structured Threat Information Expression), curato da MITRE, ha rilasciato la versione 1.0 nellâaprile 2013 come linguaggio per rappresentare in modo strutturato osservabili, indicatori e contesto di minaccia; TAXII (Trusted Automated Exchange of Indicator Information), la cui prima bozza è del 2012, definisce i protocolli di trasporto per spostare contenuti STIX in modelli hub-and-spoke o peer-to-peer.
Conviene tenere distinti i ruoli. STIX descrive cosa si condivide, TAXII come lo si trasporta, OpenIOC e il formato nativo di MISP come si rappresenta un indicatore dentro una certa piattaforma. Câè giĂ anche IODEF (RFC 5070, 2007), il formato IETF per scambiare dati sugli incidenti tra CSIRT (Computer Security Incident Response Team). Nessuno di questi formati ha ancora vinto: convivono, e una piattaforma di scambio vale per quante conversioni regge senza perdere semantica per strada.
Il punto difficile
La parte difficile della condivisione è la fiducia, molto piĂš del formato. Un IoC condiviso si porta dietro unâasserzione implicita â âquesto è malevoloâ â che chi lo riceve non può verificare e in base alla quale potrebbe comunque bloccare del traffico. Un falso positivo propagato per sincronizzazione automatica diventa un disservizio replicato su tutte le istanze a valle.
MISP affronta la cosa con i livelli di distribuzione per evento (solo la propria organizzazione, una community, condivisibile a catena, pubblico) e con il Traffic Light Protocol, la convenzione introdotta dal britannico NISCC (National Infrastructure Security Co-ordination Centre) nei primi anni 2000 e ormai standard di fatto tra i CSIRT: quattro etichette (rosso, giallo, verde, bianco) che dichiarano fin dove unâinformazione può essere ridistribuita. Restano però convenzioni sociali fatte applicare da uno strumento tecnico: niente impedisce a chi riceve di violare il TLP o di propagare un dato sbagliato. La piattaforma abbassa lâattrito della condivisione; non sostituisce la fiducia tra le organizzazioni che la usano.
Limiti
A oggi MISP è uno strumento giovane, con un solo sviluppatore principale a tempo pieno e unâadozione concentrata nellâambiente CERT da cui è nato â Difesa belga, CIRCL, qualche organizzazione che ci è arrivata passando per la NATO. Il modello dati regge bene gli indicatori atomici (IP, domini, hash) ma è meno espressivo per le relazioni complesse tra entitĂ , proprio il terreno che STIX 1.0 si propone di coprire. La sincronizzazione chiede alle organizzazioni di mettersi dâaccordo su topologia e regole di distribuzione: un investimento organizzativo che la piattaforma abilita ma non risolve da sĂŠ.
Resta il fatto verificabile: un IoC che prima viaggiava come testo in una mail, una volta entrato in MISP diventa un record tipizzato â correlato, esportabile in una regola Suricata e sincronizzabile verso chi ha diritto di vederlo. Ă un passo piccolo e concreto, ed è esattamente il passo che mancava.
- https://github.com/MISP/MISP
- https://www.circl.lu/services/misp-malware-information-sharing-platform/
- https://stix.mitre.org/language/version1.0/
- https://www.first.org/tlp/
- https://tools.ietf.org/html/rfc5070
- https://www.noze.it/insights/misp-threat-intel/
Immagine di copertina: Schermata di un editor esadecimale che mostra il dump del Master Boot Record infettato dal virus Stoned, con colonne di byte⌠â schermata di Ralf Roletschek, pubblico dominio â https://commons.wikimedia.org/wiki/File:Stoned-virus-hexacode.jpg