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).
- Paper-ID: 2501.00446
- Titel: DEHYDRATOR: Enhancing Provenance Graph Storage via Hierarchical Encoding and Sequence Generation
- Autoren: Jie Ying, Tiantian Zhu*, Mingqi Lv, Tieming Chen (Zhejiang University of Technology)
- Klassifizierung: cs.CR (Kryptographie und Sicherheit)
- Veröffentlichtes Journal: IEEE Transactions on Information Forensics and Security
- Paper-Link: https://arxiv.org/abs/2501.00446
Mit der Ausweitung des Umfangs und der Auswirkungen von Cyber-Bedrohungen nutzen Analysten Audit-Protokolle zur Verfolgung von Bedrohungen und Untersuchung von Angriffen. Herkunftsgraphen, die aus Kernel-Protokollen konstruiert werden, werden zunehmend als ideale Datenquelle angesehen, da sie starke semantische Ausdrucksfähigkeit und die Fähigkeit zur Verfolgung von Angriffshistorien bieten. Aufgrund der hohen Häufigkeit von Kernel-Ereignissen und der Persistenz von Angriffen stellt die Verwendung traditioneller Datenbanken zur Speicherung von Herkunftsgraphen jedoch eine Herausforderung mit hohem Speicheraufwand dar. Um dieses Problem zu lösen, wird DEHYDRATOR, ein effizientes Speichersystem für Herkunftsgraphen, vorgestellt. Für von Audit-Frameworks generierte Protokolle verwendet DEHYDRATOR Feldmappings-Kodierung zur Filterung von Feldebenen-Redundanz, hierarchische Kodierung zur Filterung von Strukturebenen-Redundanz und trainiert schließlich tiefe neuronale Netze zur Unterstützung von Batch-Abfragen. Die Evaluierung auf sieben Datensätzen mit insgesamt über einer Milliarde Protokolleinträge zeigt, dass DEHYDRATOR den Speicherplatz um 84,55% reduziert, 7,36-mal effizienter als PostgreSQL, 7,16-mal effizienter als Neo4j und 16,17-mal effizienter als Leonard ist.
- Zunahme von Cyber-Bedrohungen: Bis Mai 2024 gab es 9.478 Datenschutzverletzungen, wobei das MOAB-Ereignis im Januar 2024 26 Milliarden Datensätze offenlegte
- Bedeutung von Herkunftsgraphen: Herkunftsgraphen als gerichtete Graphstrukturen, bei denen Knoten Systementitäten (Prozesse, Dateien, Sockets) darstellen und Kanten Systemereignisse darstellen, bieten starke semantische Ausdrucksfähigkeit und Verfolgung von Angriffshistorien
- Speicherherausforderungen: Vier Phänomene führen zu Speicherschwierigkeiten:
- Irreversibler Wachstum: Zur Wahrung der Datenvollständigkeit werden Daten nur hinzugefügt, nicht gelöscht
- Schnelle Expansion: Jede Maschine generiert täglich GB-Protokolle
- Lange Dauer: Eindringungen werden durchschnittlich nach 188 Tagen entdeckt
- Abfrageanforderungen: Unterstützung großflächiger Abfragen für Threat Hunting und Kausalanalyse erforderlich
Bestehende effiziente Speichersysteme für Herkunftsgraphen (ESSPGs) fallen in zwei Kategorien:
- Pruning-basierte Methoden (z.B. LogGC, CPR, NodeMerge, DPR): Verlustbehaftete Kompression, kann zu falschen Negativen in übergeordneten Komponenten führen
- Kodierungsbasierte Methoden (z.B. SEAL, SLEUTH, ELISE, Leonard): Unterstützen entweder keine Abfragen oder Hilfskomponenten benötigen großen Speicherplatz
Bestehende Methoden können nicht gleichzeitig drei kritische Anforderungen erfüllen:
- Inhaltsverlustfrei: Beibehaltung aller Daten zur Vermeidung falscher Negative
- Speichereffizienz: Minimierung des Speicheraufwands
- Abfrageunterstützung: Verarbeitung großflächiger Abfrageanforderungen
- Vorstellung des DEHYDRATOR-Systems: Ein effizientes Speichersystem für Herkunftsgraphen, das Einschränkungen bestehender Methoden überwindet, indem es Feldmappings-Kodierung zur Filterung von Feldebenen-Redundanz, hierarchische Kodierung zur Filterung von Strukturebenen-Redundanz und tiefe neuronale Netze zur Unterstützung von Batch-Abfragen verwendet
- Konstruktion eines Prototypsystems und großflächige Evaluierung: Evaluierung auf sieben Datensätzen (insgesamt über eine Milliarde Protokolle), Speicherplatzreduktion um 84,55%, 7,36-mal, 7,16-mal bzw. 16,17-mal effizienter als PostgreSQL, Neo4j und Leonard
- Umfassende Evaluierungs- und Analysen: Erforschung von Komponentenauswirkungen, anwendbaren Szenarien und Leistungsgrenzen, Definition der Latenz-Speicher-Verhältnis (LSR)-Metrik zum Ausgleich von Speicheraufwand und Latenz
Eingabe: Von Audit-Frameworks erfasste rohe Kernel-Protokolle
Ausgabe: Effizient gespeicherte Herkunftsgraphen, die Abfrageanforderungen übergeordneter Komponenten unterstützen
Einschränkungen: Inhaltsverlustfrei, Speichereffizienz, Abfrageunterstützung
DEHYDRATOR verwendet ein dreistufiges Framework:
- Protokollanalyse: Verwendung regulärer Ausdrücke zur Extraktion von Schlüsselfeldern aus rohen Protokollen
- Herkunftsgraph-Konstruktion: Konstruktion von Knotentabelle NT (IdentiID, Name, Type) und Kantentabelle ET (SrcID, DstID, TimeStamp, Operation)
- Feldmappings-Kodierung: Behandlung von drei Arten von Feldebenen-Redundanz
- Eindeutige Werte: Ersetzung durch kürzere numerische Zeichen
- Wiederholte Werte: Ersetzung durch Indizes
- Inkrementelle Werte: Ersetzung durch Offsets
Hierarchische Kodierung:
- Modellierung des Herkunftsgraphen als hierarchischer gerichteter Graph
- Für jeden Knoten v werden alle Quellknoten und eingehende Kanteninformationen aufgezeichnet
- Konstruktion von Merge-Mapping-Tabelle MMT und hierarchischer Kantentabelle EThi
- Verschachtelte Listenstruktur: Operation: timeOffset: nodeOffset
Modelltraining:
- Auswahl eines einschichtigen Nur-Decoder-Transformers
- Modellierung der Speicheraufgabe als Sequenzgenerierungsaufgabe
- Verwendung von char2vec-Kodierung, autoregressive Generierung
- Konstruktion einer Fehlerkorrektur-Tabelle ECT zur Behandlung von Modellvorhersagefehlern
- Knoteninformationen: Abruf des Index durch Mapping-Tabelle MT, Abruf von Knoteninformationen
- Kanteninformationen: Eingabe des Index in das DNN-Modell, Sequenzgenerierung, ECT-Fehlerkorrektur, hierarchische Dekodierung zur Abruf lesbarer Informationen
- Hierarchische Kodierungsdesign:
- Basierend auf Rückwärts-Abfrageeigenschaften der Kausalanalyse
- Kompression mehrerer paralleler Kanten in kompakte Kodierungsform
- Erhöhung der Informationsdichte, Beschleunigung des Modelltrainings
- DNN-Modellauswahl:
- Einschichtiger Decoder-Transformer ersetzt mehrschichtige LSTM
- Bessere Parallelisierungsfähigkeit und Merkmalsextraktionsfähigkeit
- Geeignet für Erkennung von Wiederholungsmustern auf niedriger Ebene in Speicheraufgaben
- Fehlerkorrekturmechanismus:
- ECT-Tabelle zeichnet Position und korrektes Zeichen auf
- Gewährleistung von Inhaltsverlustfreiheit bei gleichzeitiger Unterstützung von DNN-Kompression
Sieben Datensätze mit insgesamt über einer Milliarde Protokollen:
- G1-G4: DARPA TC E3 CADETS, THEIA, TRACE-Gruppen
- G5-G6: DARPA TC E4 TRACE-Gruppen
- G7: Teilmenge des DEPIMACT-Datensatzes
- Durchschnittliche Kantenzahl: 17.754.566 (9,6-mal größer als Leonard)
- Speicheraufwand: BPpre (Vorverarbeitung) und BPpost (Nachverarbeitung) Bytes
- Speicherlatenz: Ts Zeitkosten
- Latenz-Speicher-Verhältnis: LSR = (BPpre - BPpost)/Ts
- PostgreSQL: Relationale Datenbank
- Neo4j: Graphdatenbank
- Leonard: DNN-basiertes Speichersystem (Usenix Security'23)
- Umgebung: Python 3.9, PyTorch 1.13.1, AMD EPYC 7513-Prozessor, RTX A6000 GPU
- Hyperparameter: Batch-Größe 4096, Adam-Optimierer, Lernrate 0,001, maximale Trainingsrunden 5
| System | Durchschnittlicher Speicheraufwand (MB) | Durchschnittliche Latenz (s) | Verbesserung gegenüber DEHYDRATOR |
|---|
| PostgreSQL | 1.818 | 45 | 7,36× |
| Neo4j | 1.770 | 21 | 7,16× |
| Leonard | 3.991 | 30.233 | 16,17× |
| DEHYDRATOR | 247 | 3.205 | - |
In BFS-Abfragetests unterschiedlicher Tiefe:
- Neo4j zeigt beste Leistung (~4,92s)
- DEHYDRATOR an zweiter Stelle (~32,02s)
- PostgreSQL am schlechtesten (~32,08s)
Komponentenbeitragsanalyse:
- Ursprünglicher Graph: 1.598,69 MB
- Nach Feldmappings-Kodierung: 405,2 MB (25,3%)
- Nach hierarchischer Kodierung: 75,98 MB (4,7%)
- Nach Modelltraining: 192,42 MB (12%)
Auswirkung hierarchischer Kodierung:
- Mit hierarchischer Kodierung: EThi 20,19M, Trainingszeit 660,69s, ECT 50,79M
- Ohne hierarchische Kodierung: EThi 268,31M, Trainingszeit 5.814,42s, ECT 1.064,25M
- Hierarchische Kodierung reduziert Trainingszeit um 8,8-fach, ECT-Größe um 20,95-fach
Theoretische Herleitung zeigt: Wenn durchschnittlicher Grad davg ≥ 3, ist hierarchische Kodierung wirksam
Experimentelle Validierung: Hierarchische Kodierung ist auf Datensätzen mit Grad 3, 4, 5 wirksam
- Heuristische Methoden: HOLMES, SLEUTH, Poirot und andere basieren auf MITRE ATT&CK-Matching-Regeln
- Anomalieerkennung: Streamspot, Unicorn, KAIROS und andere erkennen Eindringlinge durch Identifikation von Abweichungen vom normalen Verhalten
- RapSheet, HERCULE, NODOZE und andere Systeme führen Bedrohungsbewertung und Kausalanalyse durch
- DEPIMPACT, ATLAS und andere führen Abhängigkeitsanalyse und Angriffsmustererkennung durch
- Verlustbehaftete Methoden: LogGC, CPR, NodeMerge, DPR und andere Pruning-Techniken
- Verlustfreie Methoden: SEAL, ELISE, Leonard und andere Kodierungstechniken
- DEHYDRATOR löst erfolgreich die drei großen Herausforderungen der Herkunftsgraph-Speicherung: Inhaltsverlustfreiheit, Speichereffizienz, Abfrageunterstützung
- Hierarchische Kodierung ist die Schlüsselinnovation zur effektiven Behandlung von Strukturebenen-Redundanz
- Einschichtiger Transformer ist besser geeignet als mehrschichtiges LSTM für Speicheraufgaben
- Signifikante Überlegenheit gegenüber bestehenden Methoden bei großflächigen Datensätzen
- Hohe Speicherlatenz: Durchschnittlich 3.205 Sekunden, entspricht 13,29% des Datensatz-Zeitraums
- Abfrageeffizienz: Autoregressive Generierung führt zu hoher Latenz bei langen Sequenzabfragen
- Modellkapazitätsauswahl: Mangel an theoretischer Anleitung zur Bestimmung optimaler Modellkapazität η
- Anwendungsbereich: Hauptsächlich für Cold-Storage-Szenarien geeignet, unterstützt keine ACID-Eigenschaften
- Nutzung von KI-Beschleunigungstechniken zur Verbesserung von Trainings- und Inferenzeffizienz
- Theoretische Analyse zur Auswahl optimaler Modellkapazität
- Erweiterung auf universelle Graphdatenbank-Anwendungen
- Optimierung von Abfragealgorithmen zur Latenzreduktion
- Problemwichtigkeit: Löst praktische Schmerzpunkte im Bereich Cybersicherheit
- Methodische Innovativität: Hierarchische Kodierung kombiniert geschickt Domäneneigenschaften und DNN-Vorteile
- Experimentelle Vollständigkeit: Großflächige Datensatzvalidierung, umfassende Ablations- und Vergleichsanalysen
- Ingenieurwert: Signifikante Speichereffizienzbverbesserung, starke Praktikabilität
- Latenzbroblem: Speicher- und Abfragelatenz bleiben hoch, begrenzt Echtzeitanwendungen
- Theoretische Analyse: Mangel an theoretischer Anleitung zur Modellkapazitätsauswahl
- Anwendungsbereich: Hauptsächlich auf spezifische Herkunftsgraph-Szenarien ausgerichtet, begrenzte Verallgemeinerbarkeit
- Baseline-Vergleich: Leonard-Implementierung könnte unfaire Vergleiche aufweisen
- Akademischer Beitrag: Bietet neuen technischen Weg für Herkunftsgraph-Speicherung
- Praktischer Wert: Bedeutsam für Cybersicherheits-Infrastruktur
- Reproduzierbarkeit: Zusage zur Veröffentlichung von Code und Daten
- Förderungspotenzial: Methoden erweiterbar auf andere Graphspeicher-Szenarien
- Cybersicherheit: EDR-Systeme, Threat Hunting, Angriffsuntersuchung
- Cold Storage: Archivierung und Analyse historischer Daten
- Großflächige Graphdaten: Speicherung hochgradiger, hochredundanter Graphstrukturen
- Batch-Abfragen: Anwendungsszenarien mit großflächigen parallelen Abfrageanforderungen
Das Paper zitiert 93 relevante Literaturquellen, die wichtige Arbeiten in den Bereichen Cybersicherheit, Graphkompression und Deep Learning abdecken und eine solide theoretische Grundlage für die Forschung bieten.