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).
academicDEHYDRATOR: Enhancing Provenance Graph Storage via Hierarchical Encoding and Sequence Generation
- 论文ID: 2501.00446
- 标题: DEHYDRATOR: Enhancing Provenance Graph Storage via Hierarchical Encoding and Sequence Generation
- 作者: Jie Ying, Tiantian Zhu*, Mingqi Lv, Tieming Chen (浙江工业大学)
- 分类: cs.CR (Cryptography and Security)
- 发表期刊: IEEE Transactions on Information Forensics and Security
- 论文链接: https://arxiv.org/abs/2501.00446
随着网络威胁范围和影响的扩大,分析师利用审计日志来追踪威胁和调查攻击。从内核日志构建的溯源图因其强大的语义表达能力和攻击历史关联能力,越来越被视为理想的数据源。然而,由于内核事件的高频率和攻击的持久性,使用传统数据库存储溯源图面临高存储开销的挑战。为解决这一问题,本文提出了DEHYDRATOR,一个高效的溯源图存储系统。对于审计框架生成的日志,DEHYDRATOR使用字段映射编码过滤字段级冗余,分层编码过滤结构级冗余,最后学习深度神经网络支持批量查询。在总计超过10亿条日志条目的七个数据集上进行评估,实验结果显示DEHYDRATOR将存储空间减少了84.55%,比PostgreSQL高效7.36倍,比Neo4j高效7.16倍,比Leonard高效16.17倍。
- 网络威胁激增:截至2024年5月,已有9,478起数据泄露事件,其中2024年1月的MOAB事件泄露了260亿条记录
- 溯源图的重要性:溯源图作为有向图结构,节点代表系统实体(进程、文件、套接字),边代表系统事件,具有强大的语义表达和攻击历史关联能力
- 存储挑战:四个现象导致存储困难:
- 不可逆增长:为保持数据完整性,只添加不删除数据
- 快速扩展:每台机器每天产生GB级日志
- 持续时间长:入侵平均持续188天才被发现
- 查询需求:需要支持威胁猎杀和因果分析的大规模查询
现有的高效溯源图存储系统(ESSPGs)分为两类:
- 基于剪枝的方法(如LogGC、CPR、NodeMerge、DPR):有损压缩,可能导致上层组件产生假阴性
- 基于编码的方法(如SEAL、SLEUTH、ELISE、Leonard):要么无法支持查询,要么辅助组件占用大量存储空间
现有方法无法同时满足三个关键要求:
- 内容无损:保留所有数据避免假阴性
- 存储高效:最小化存储开销
- 查询支持:处理大规模查询需求
- 提出DEHYDRATOR系统:一个高效的溯源图存储系统,克服现有方法局限性,使用字段映射编码过滤字段级冗余,分层编码过滤结构级冗余,深度神经网络支持批量查询
- 构建原型系统并大规模评估:在七个数据集(总计超过10亿条日志)上评估,存储空间减少84.55%,比PostgreSQL、Neo4j、Leonard分别高效7.36倍、7.16倍、16.17倍
- 全面评估分析:探索组件影响、适用场景和性能下界,定义延迟存储比(LSR)指标平衡存储开销和延迟
输入:审计框架收集的原始内核日志
输出:高效存储的溯源图,支持上层组件的查询需求
约束:内容无损、存储高效、查询支持
DEHYDRATOR采用三阶段框架:
- 日志解析:使用正则表达式从原始日志提取关键字段
- 溯源图构建:构建节点表NT(IdentiID、Name、Type)和边表ET(SrcID、DstID、TimeStamp、Operation)
- 字段映射编码:处理三类字段级冗余
- 唯一值:用较短数字字符替换
- 重复值:用索引替换
- 增量值:用偏移量替换
分层编码:
- 将溯源图建模为分层有向图
- 对每个节点v,记录所有源节点和入边信息
- 构建合并映射表MMT和分层边表EThi
- 嵌套列表结构:Operation: timeOffset: nodeOffset
模型训练:
- 选择单层仅解码器Transformer
- 将存储任务建模为序列生成任务
- 使用char2vec编码,自动回归生成
- 构建错误校正表ECT处理模型预测错误
- 节点信息:通过映射表MT获取索引,检索节点信息
- 边信息:输入索引到DNN模型,生成序列,ECT纠错,分层解码获取可读信息
- 分层编码设计:
- 基于因果分析的反向查询特性
- 将多个并行边压缩为紧凑编码形式
- 增加信息密度,加速模型训练
- DNN模型选择:
- 单层解码器Transformer替代多层LSTM
- 更好的并行化能力和特征提取能力
- 适合存储任务的低级重复模式识别
- 错误校正机制:
- ECT表记录位置和正确字符
- 保证内容无损的同时支持DNN压缩
七个数据集,总计超过10亿条日志:
- G1-G4:DARPA TC E3的CADETS、THEIA、TRACE组
- G5-G6:DARPA TC E4的TRACE组
- G7:DEPIMACT数据集子集
- 平均边数:17,754,566(比Leonard大9.6倍)
- 存储开销:BPpre(预处理)和BPpost(后处理)字节数
- 存储延迟:Ts时间成本
- 延迟存储比:LSR = (BPpre - BPpost)/Ts
- PostgreSQL:关系数据库
- Neo4j:图数据库
- Leonard:基于DNN的存储系统(Usenix Security'23)
- 环境:Python 3.9, PyTorch 1.13.1, AMD EPYC 7513处理器, RTX A6000 GPU
- 超参数:批大小4096,Adam优化器,学习率0.001,最大训练轮数5
| 系统 | 平均存储开销(MB) | 平均延迟(s) | 相对DEHYDRATOR提升 |
|---|
| PostgreSQL | 1,818 | 45 | 7.36× |
| Neo4j | 1,770 | 21 | 7.16× |
| Leonard | 3,991 | 30,233 | 16.17× |
| DEHYDRATOR | 247 | 3,205 | - |
在不同深度的BFS查询测试中:
- Neo4j表现最佳(~4.92s)
- DEHYDRATOR次之(~32.02s)
- PostgreSQL最差(~32.08s)
组件贡献分析:
- 原始图:1598.69MB
- 字段映射编码后:405.2MB(25.3%)
- 分层编码后:75.98MB(4.7%)
- 模型训练后:192.42MB(12%)
分层编码影响:
- 有分层编码:EThi 20.19M,训练时间660.69s,ECT 50.79M
- 无分层编码:EThi 268.31M,训练时间5814.42s,ECT 1064.25M
- 分层编码使训练时间减少8.8倍,ECT大小减少20.95倍
理论推导证明:当平均度数davg ≥ 3时,分层编码有效
实验验证:在度数为3、4、5的数据集上分层编码均有效
- 启发式方法:HOLMES、SLEUTH、Poirot等基于MITRE ATT&CK构建匹配规则
- 异常检测:Streamspot、Unicorn、KAIROS等通过识别正常行为偏差检测入侵
- RapSheet、HERCULE、NODOZE等系统进行威胁评分和因果分析
- DEPIMPACT、ATLAS等进行依赖性分析和攻击模式识别
- 有损方法:LogGC、CPR、NodeMerge、DPR等剪枝技术
- 无损方法:SEAL、ELISE、Leonard等编码技术
- DEHYDRATOR成功解决了溯源图存储的三大挑战:内容无损、存储高效、查询支持
- 分层编码是关键创新,有效处理结构级冗余
- 单层Transformer比多层LSTM更适合存储任务
- 在大规模数据集上显著优于现有方法
- 存储延迟较高:平均3205秒,占数据集时间段的13.29%
- 查询效率:自回归生成导致长序列查询延迟较高
- 模型容量选择:缺乏理论指导确定最优模型容量η
- 适用范围:主要适用于冷存储场景,不支持ACID属性
- 利用AI加速技术提升训练和推理效率
- 理论分析最优模型容量选择
- 扩展到通用图数据库应用
- 优化查询算法减少延迟
- 问题重要性:解决了网络安全领域的实际痛点
- 方法创新性:分层编码巧妙结合了领域特性和DNN优势
- 实验充分性:大规模数据集验证,全面的消融实验和对比分析
- 工程价值:显著的存储效率提升,实用性强
- 延迟问题:存储和查询延迟仍然较高,限制了实时应用
- 理论分析:缺乏对模型容量选择的理论指导
- 适用范围:主要针对特定的溯源图场景,泛化性有限
- 基线对比:Leonard的实现可能存在不公平对比
- 学术贡献:为溯源图存储提供了新的技术路径
- 实用价值:对网络安全基础设施具有重要意义
- 可复现性:承诺开源代码和数据
- 推广性:方法可扩展到其他图存储场景
- 网络安全:EDR系统、威胁猎杀、攻击调查
- 冷存储:历史数据归档和分析
- 大规模图数据:高度数、高冗余的图结构存储
- 批量查询:需要大量并行查询的应用场景
论文引用了93篇相关文献,涵盖了网络安全、图压缩、深度学习等多个领域的重要工作,为研究提供了坚实的理论基础。