As the scope and impact of cyber threats have expanded, analysts utilize audit logs to hunt threats and investigate attacks. The provenance graphs constructed from kernel logs are increasingly considered as an ideal data source due to their powerful semantic expression and attack historic correlation ability. However, storing provenance graphs with traditional databases faces the challenge of high storage overhead, given the high frequency of kernel events and the persistence of attacks. To address this, we propose Dehydrator, an efficient provenance graph storage system. For the logs generated by auditing frameworks, Dehydrator uses field mapping encoding to filter field-level redundancy, hierarchical encoding to filter structure-level redundancy, and finally learns a deep neural network to support batch querying. We have conducted evaluations on seven datasets totaling over one billion log entries. Experimental results show that Dehydrator reduces the storage space by 84.55%. Dehydrator is 7.36 times more efficient than PostgreSQL, 7.16 times than Neo4j, and 16.17 times than Leonard (the work most closely related to Dehydrator, published at Usenix Security'23).
- ID Articolo: 2501.00446
- Titolo: DEHYDRATOR: Enhancing Provenance Graph Storage via Hierarchical Encoding and Sequence Generation
- Autori: Jie Ying, Tiantian Zhu*, Mingqi Lv, Tieming Chen (Università Tecnologica di Zhejiang)
- Classificazione: cs.CR (Crittografia e Sicurezza)
- Rivista di Pubblicazione: IEEE Transactions on Information Forensics and Security
- Link Articolo: https://arxiv.org/abs/2501.00446
Con l'espansione della portata e dell'impatto delle minacce informatiche, gli analisti utilizzano i registri di audit per tracciare le minacce e investigare gli attacchi. I grafi di provenienza costruiti dai registri del kernel sono sempre più considerati come fonti di dati ideali grazie alla loro forte capacità di espressione semantica e alla capacità di associare la storia degli attacchi. Tuttavia, a causa dell'alta frequenza degli eventi del kernel e della persistenza degli attacchi, l'archiviazione tradizionale dei grafi di provenienza in database affronta la sfida di elevati costi di archiviazione. Per affrontare questo problema, questo articolo propone DEHYDRATOR, un sistema efficiente di archiviazione di grafi di provenienza. Per i registri generati da framework di audit, DEHYDRATOR utilizza la codifica di mappatura dei campi per filtrare la ridondanza a livello di campo, la codifica gerarchica per filtrare la ridondanza a livello strutturale, e infine apprende una rete neurale profonda per supportare query in batch. Valutato su sette dataset con un totale di oltre un miliardo di voci di registro, i risultati sperimentali mostrano che DEHYDRATOR riduce lo spazio di archiviazione dell'84,55%, è 7,36 volte più efficiente di PostgreSQL, 7,16 volte più efficiente di Neo4j e 16,17 volte più efficiente di Leonard.
- Aumento delle Minacce Informatiche: A maggio 2024, si sono verificati 9.478 incidenti di violazione dei dati, con l'evento MOAB di gennaio 2024 che ha esposto 26 miliardi di record
- Importanza dei Grafi di Provenienza: I grafi di provenienza, come strutture di grafi diretti, hanno nodi che rappresentano entità di sistema (processi, file, socket) e archi che rappresentano eventi di sistema, con forte capacità di espressione semantica e di associazione della storia degli attacchi
- Sfide di Archiviazione: Quattro fenomeni causano difficoltà di archiviazione:
- Crescita Irreversibile: Per mantenere l'integrità dei dati, si aggiungono solo dati senza eliminarli
- Espansione Rapida: Ogni macchina genera registri a livello di GB al giorno
- Durata Prolungata: Le intrusioni vengono scoperte in media dopo 188 giorni
- Esigenze di Query: È necessario supportare query su larga scala per la caccia alle minacce e l'analisi causale
I sistemi esistenti di archiviazione efficiente di grafi di provenienza (ESSPGs) si dividono in due categorie:
- Metodi Basati su Potatura (come LogGC, CPR, NodeMerge, DPR): Compressione con perdita, che può causare falsi negativi nei componenti di livello superiore
- Metodi Basati su Codifica (come SEAL, SLEUTH, ELISE, Leonard): O non supportano query, oppure i componenti ausiliari occupano grandi quantità di spazio di archiviazione
I metodi esistenti non riescono a soddisfare simultaneamente tre requisiti critici:
- Contenuto Senza Perdita: Conservare tutti i dati per evitare falsi negativi
- Efficienza di Archiviazione: Minimizzare i costi di archiviazione
- Supporto di Query: Gestire esigenze di query su larga scala
- Proposta del Sistema DEHYDRATOR: Un sistema efficiente di archiviazione di grafi di provenienza che supera le limitazioni dei metodi esistenti, utilizzando la codifica di mappatura dei campi per filtrare la ridondanza a livello di campo, la codifica gerarchica per filtrare la ridondanza a livello strutturale, e una rete neurale profonda per supportare query in batch
- Costruzione di un Prototipo e Valutazione su Larga Scala: Valutazione su sette dataset (totale di oltre un miliardo di voci di registro), con riduzione dello spazio di archiviazione dell'84,55%, efficienza 7,36 volte superiore a PostgreSQL, 7,16 volte superiore a Neo4j e 16,17 volte superiore a Leonard
- Valutazione Completa e Analisi: Esplorazione dell'impatto dei componenti, scenari applicabili e limiti di prestazione, definizione della metrica del rapporto di archiviazione della latenza (LSR) per bilanciare i costi di archiviazione e la latenza
Input: Registri kernel grezzi raccolti da framework di audit
Output: Grafo di provenienza archiviato in modo efficiente, che supporta le esigenze di query dei componenti di livello superiore
Vincoli: Contenuto senza perdita, efficienza di archiviazione, supporto di query
DEHYDRATOR adotta un framework a tre fasi:
- Analisi dei Registri: Utilizzo di espressioni regolari per estrarre campi chiave dai registri grezzi
- Costruzione del Grafo di Provenienza: Costruzione della tabella dei nodi NT (IdentiID, Name, Type) e della tabella degli archi ET (SrcID, DstID, TimeStamp, Operation)
- Codifica di Mappatura dei Campi: Gestione di tre classi di ridondanza a livello di campo
- Valori Unici: Sostituzione con caratteri numerici più brevi
- Valori Ripetuti: Sostituzione con indici
- Valori Incrementali: Sostituzione con offset
Codifica Gerarchica:
- Modellazione del grafo di provenienza come grafo diretto gerarchico
- Per ogni nodo v, registrazione di tutti i nodi sorgente e le informazioni degli archi in ingresso
- Costruzione della tabella di mappatura unita MMT e della tabella degli archi gerarchici EThi
- Struttura di liste annidate: Operation: timeOffset: nodeOffset
Addestramento del Modello:
- Selezione di un Transformer con solo decoder a strato singolo
- Modellazione del compito di archiviazione come compito di generazione di sequenze
- Utilizzo della codifica char2vec, generazione autoregressiva
- Costruzione della tabella di correzione degli errori ECT per gestire gli errori di previsione del modello
- Informazioni sui Nodi: Ottenimento dell'indice tramite la tabella di mappatura MT, recupero delle informazioni sui nodi
- Informazioni sugli Archi: Inserimento dell'indice nel modello DNN, generazione della sequenza, correzione degli errori tramite ECT, decodifica gerarchica per ottenere informazioni leggibili
- Design della Codifica Gerarchica:
- Basato sulle caratteristiche di query inversa dell'analisi causale
- Compressione di più archi paralleli in forma di codifica compatta
- Aumento della densità di informazione, accelerazione dell'addestramento del modello
- Selezione del Modello DNN:
- Transformer con solo decoder a strato singolo al posto di LSTM multi-strato
- Migliore capacità di parallelizzazione e capacità di estrazione delle caratteristiche
- Adatto al riconoscimento di modelli di basso livello ripetitivi del compito di archiviazione
- Meccanismo di Correzione degli Errori:
- La tabella ECT registra la posizione e il carattere corretto
- Garantisce contenuto senza perdita supportando al contempo la compressione DNN
Sette dataset, totale di oltre un miliardo di voci di registro:
- G1-G4: Gruppi CADETS, THEIA, TRACE di DARPA TC E3
- G5-G6: Gruppo TRACE di DARPA TC E4
- G7: Sottoinsieme del dataset DEPIMACT
- Numero medio di archi: 17.754.566 (9,6 volte più grande di Leonard)
- Costo di Archiviazione: BPpre (pretrattamento) e BPpost (post-trattamento) in byte
- Latenza di Archiviazione: Costo di tempo Ts
- Rapporto di Archiviazione della Latenza: LSR = (BPpre - BPpost)/Ts
- PostgreSQL: Database relazionale
- Neo4j: Database a grafo
- Leonard: Sistema di archiviazione basato su DNN (Usenix Security'23)
- Ambiente: Python 3.9, PyTorch 1.13.1, processore AMD EPYC 7513, GPU RTX A6000
- Iperparametri: Dimensione batch 4096, ottimizzatore Adam, tasso di apprendimento 0,001, numero massimo di epoche di addestramento 5
| Sistema | Costo Medio di Archiviazione (MB) | Latenza Media (s) | Miglioramento Relativo a DEHYDRATOR |
|---|
| PostgreSQL | 1.818 | 45 | 7,36× |
| Neo4j | 1.770 | 21 | 7,16× |
| Leonard | 3.991 | 30.233 | 16,17× |
| DEHYDRATOR | 247 | 3.205 | - |
Nei test di query BFS a diverse profondità:
- Neo4j ha le migliori prestazioni (~4,92s)
- DEHYDRATOR è secondo (~32,02s)
- PostgreSQL ha le peggiori prestazioni (~32,08s)
Analisi del Contributo dei Componenti:
- Grafo Originale: 1.598,69 MB
- Dopo Codifica di Mappatura dei Campi: 405,2 MB (25,3%)
- Dopo Codifica Gerarchica: 75,98 MB (4,7%)
- Dopo Addestramento del Modello: 192,42 MB (12%)
Impatto della Codifica Gerarchica:
- Con Codifica Gerarchica: EThi 20,19M, tempo di addestramento 660,69s, ECT 50,79M
- Senza Codifica Gerarchica: EThi 268,31M, tempo di addestramento 5.814,42s, ECT 1.064,25M
- La Codifica Gerarchica riduce il tempo di addestramento di 8,8 volte, riduce la dimensione di ECT di 20,95 volte
La derivazione teorica dimostra che la codifica gerarchica è efficace quando il grado medio davg ≥ 3
Verifica sperimentale: La codifica gerarchica è efficace su dataset con gradi 3, 4, 5
- Metodi Euristici: HOLMES, SLEUTH, Poirot e altri costruiscono regole di corrispondenza basate su MITRE ATT&CK
- Rilevamento di Anomalie: Streamspot, Unicorn, KAIROS e altri rilevano intrusioni identificando deviazioni dal comportamento normale
- Sistemi come RapSheet, HERCULE, NODOZE eseguono valutazione delle minacce e analisi causale
- DEPIMPACT, ATLAS e altri eseguono analisi delle dipendenze e identificazione di modelli di attacco
- Metodi con Perdita: Tecniche di potatura come LogGC, CPR, NodeMerge, DPR
- Metodi Senza Perdita: Tecniche di codifica come SEAL, ELISE, Leonard
- DEHYDRATOR risolve con successo le tre sfide principali dell'archiviazione di grafi di provenienza: contenuto senza perdita, efficienza di archiviazione, supporto di query
- La codifica gerarchica è l'innovazione chiave, gestendo efficacemente la ridondanza a livello strutturale
- Il Transformer a strato singolo è più adatto di LSTM multi-strato per il compito di archiviazione
- Prestazioni significativamente superiori ai metodi esistenti su dataset su larga scala
- Latenza di Archiviazione Elevata: Media di 3.205 secondi, che rappresenta il 13,29% dell'intervallo di tempo del dataset
- Efficienza di Query: La generazione autoregressiva causa elevata latenza di query per sequenze lunghe
- Selezione della Capacità del Modello: Mancanza di guida teorica per determinare la capacità ottimale del modello η
- Ambito di Applicabilità: Principalmente adatto a scenari di archiviazione fredda, non supporta proprietà ACID
- Utilizzo di tecnologie di accelerazione AI per migliorare l'efficienza di addestramento e inferenza
- Analisi teorica della selezione della capacità ottimale del modello
- Estensione ad applicazioni di database a grafo universale
- Ottimizzazione degli algoritmi di query per ridurre la latenza
- Importanza del Problema: Risolve un punto critico reale nel campo della sicurezza informatica
- Innovazione del Metodo: La codifica gerarchica combina abilmente le caratteristiche del dominio con i vantaggi delle DNN
- Completezza Sperimentale: Verifica su dataset su larga scala, esperimenti di ablazione completi e analisi comparativa
- Valore Ingegneristico: Significativo miglioramento dell'efficienza di archiviazione, forte praticità
- Problema di Latenza: La latenza di archiviazione e query rimane elevata, limitando le applicazioni in tempo reale
- Analisi Teorica: Mancanza di guida teorica per la selezione della capacità del modello
- Ambito di Applicabilità: Principalmente orientato a scenari specifici di grafi di provenienza, generalizzabilità limitata
- Confronto di Base: L'implementazione di Leonard potrebbe avere confronti iniqui
- Contributo Accademico: Fornisce un nuovo percorso tecnologico per l'archiviazione di grafi di provenienza
- Valore Pratico: Significato importante per l'infrastruttura di sicurezza informatica
- Riproducibilità: Impegno a rendere open source il codice e i dati
- Estensibilità: Il metodo è estendibile ad altri scenari di archiviazione di grafi
- Sicurezza Informatica: Sistemi EDR, caccia alle minacce, investigazione di attacchi
- Archiviazione Fredda: Archiviazione e analisi di dati storici
- Dati di Grafi su Larga Scala: Archiviazione di strutture di grafi ad alto grado e alta ridondanza
- Query in Batch: Scenari di applicazione che richiedono grandi quantità di query parallele
L'articolo cita 93 lavori correlati, coprendo importanti lavori in più campi tra cui sicurezza informatica, compressione di grafi e apprendimento profondo, fornendo una base teorica solida per la ricerca.