Detecting Unknown Encrypted Malicious Traffic in Real Time via Flow Interaction Graph Analysis 论文精读
Detecting Unknown Encrypted Malicious Traffic in Real Time via Flow Interaction Graph Analysis 论文精读
雨霁[TOC]
作者 | 阅读进度 | 期刊 | 类型 | 发表时间 | doi |
---|---|---|---|---|---|
Chuanpu Fu | 70% | NDSS(CCF-A) | 会议报告 | 2023.03 | 10.14722/ndss.2023.23080 |
笔记日期:2023_12_19
引言
问题
由于低速率、多样化的流量模式,加密恶意流量检测没有得到很好的解决。基于深度数据包检测(DPI)方法的传统签名在加密有效载荷的攻击下无效。
现在的加密流量监测方法是有监督的,即依赖已知攻击的先验知识,并且只能检测具有已知流量模式的攻击。
总之,现有的方法无法实现无监督检测,并且不能检测具有未知模式的加密恶意流量。特别的,加密的恶意流量具有隐身行为,这些方法无法捕获。
突破口
检测这种攻击流量仍然是可行的,因为这些攻击涉及攻击者和受害者之间具有不同流交互的多个攻击步骤,这与良性流交互模式不同
作者提出的解决方法
- 设计出 HyperVision ,一个实时检测系统,通过分析流之间的交互模式来捕获加密恶意流量足迹。
- 为了捕获各种流交互模式,开发了集中算法来构建内存图。
- 设计了一种轻量级的无监督图学习方法,通过图特征检测加密流量。
- 开发了一个由信息论建立的理论分析框架,以表明该图捕获了接近最优的交通交互信息。
- 对HyperVision进行了原型设计,并使用各种真实世界加密恶意流量进行了大量实验,以验证其准确性和效率。
HyperVision模型图
图构建
数据采集与分类
- 开发了一个 流分类算法 对流量进行分类
- 它维护一个计时器TIME_NOW和一个hash表,hash表使用Hash(SRC, DST, SRC_PORT, DST_PORT)作为键,将收集到的流(根据其每个数据包的特征序列表示)作为值。
- 根据TIME_NOW每JUDGE INTERVAL秒遍历哈希表,当最后一个数据包在TIME NOW的PKT_TIMEOUT秒之前到达时,判断流完成。如果流具有比FLOW_LINE多的数据包,则将其分类为长流,否则为短流。剔除超时的数据。
流聚合
- 短流
- 如果使用传统的四元组流作为边,则图将非常密集,这类似于起源分析中的依赖爆炸问题。
- 大多数短流具有几乎相同的每包特征序列。因此,我们执行短流聚合表示相似的流使用一个边缘后的分类。作者设计了一个 聚合短流算法 (减少存储开销),当满足所有以下要求时,可以聚合流的集合:
- 流具有相同的源和/或目的地地址,这意味着从地址生成的类似行为。
- 流具有相同的协议类型。
- 流的数量足够大,即,当短流的数量达到阈值AGG_LINE时,其确保流足够重复。
- 接下来,我们为短流构造边,其保留一个特征序列(即,协议、长度和到达间隔)以及它们的四元组。
- 结果,在图上存在与短流相关联的四种类型的边,即,源地址聚合、目的地地址聚合、两个地址聚合和不聚合。
- 长流
- 使用直方图来表示长流的每个包的特征分布,这避免了保留长的每个包的特征序列,因为长流中的特征是集中分布的。
- 维护一个哈希表来构建每个长流中每个数据包特征序列的直方图。(数据包长度和到达间隔为10字节和1毫秒,以平衡之间的拟合精度和开销)
- 将每个数据包的特征除以桶宽度来计算哈希码,并增加由哈希码索引的计数器。最后,将散列代码和相关计数器记录为直方图。
流交互图
- 将处理后的数据流制作成流交互图
日期:2023_12_20
图的预处理
连通性分析
- 通过深度优先搜索(DFS)来获得连通分量,并将图按分量进行分割。
- 为连通分量中统计数据中较高的部分进行聚类,以捕获异常分量,这些异常分量比正常分量具有超过一个数量级聚类损失的作为聚类离群值。
- 提取 五个特征 来分析分量:
- 长流的数量
- 短流的数量
- 表示短流的边的数量
- 长流中的字节数
- 短流中的字节数
- 执行最小-最大归一化并使用基于密度的聚类来获取中心,即,DBSCAN
- 对于每个分量,我们计算其到最近中心的欧几里得距离。基于我们的经验研究,当该分量距离超过所有距离的第99个百分位数时,我们检测其为异常分量。
边预聚类
为了利用稀疏性,我们使用 DBSCAN 执行预聚类,该DBSCAN利用 KD树 进行有效的本地搜索,并选择所识别的聚类的中心来表示每个聚类中的所有边,以减少图形处理的开销。
分别为与短流和长流相关联的边提取八个和四个图结构特征。
短流:
数据类型 描述 bool 表示具有相同源地址的短流 bool 表示具有相同源端口的短流 bool 表示具有相同目的地址的短流 bool 表示具有相同目的端口的短流 int 连接的源顶点的入度 int 连接的源顶点的出度 int 连接的目标顶点的入度 int 连接的目标顶点的出度 长流:
数据类型 描述 int 连接的源顶点的入度 int 连接的源顶点的出度 int 连接的目标顶点的入度 int 连接的目标顶点的出度
异常交互检测
关键顶点检测
- 不直接对所有边进行聚类,而是对连接到关键顶点的边进行聚类
- 对于每个连通分支,我们根据以下条件选择连通分支中所有顶点的一个子集作为临界顶点:
- 分支中每条边的源顶点和/或目的顶点都在该子集中,这保证了所有边都连接到一个以上的临界顶点并且至少聚类一次
- 最小化子集中所选顶点的数量,其目的是最小化聚类的数量以减少图学习的开销。
- 找到这样的顶点子集是一个优化问题,等价于顶点覆盖问题。该问题已被证明是NP完全(NPC)的。我们选择每个组件上的所有边和所有顶点来解决问题。
- 我们将问题重新表述为可满足性模理论(SMT)问题,可以使用Z3 SMT求解器有效解决。由于我们对大量边缘进行了预聚类并降低了问题的规模,因此NPC问题可以实时解决。
日期:2023_12_21
交互模式聚类
- 对连接到每个关键顶点的边进行聚类,以识别异常的交互模式。
- 使用边预聚类时的图结构特征,以及从短流的每包特征序列或长流的拟合特征分布中提取的流特征。使用 轻量级的K-Means算法 分别对短流和长流的边缘进行聚类,并计算聚类损失,以指示恶意流检测的恶意程度。
- K是所获得的聚类中心的数目
- C_i是第i个中心
- f(edge)是特征向量,C(edge)包含通过预聚类产生的边缘的聚类中的所有边缘,并且TimeRange计算由边缘表示的流所覆盖的时间范围
理论分析
略(没读懂v_v)
实验评估
实验装置
装置 & 试验台
略(代码、编译、模块等信息)
数据集
- 使用2020年1月至6月日本东京AS 2500的WIDE MAWI项目[80] vantage-G的真实骨干网络流量数据集作为背景流量。
- Vantage使用连接到其IXP(DIX-IE)的10 Gb/s光纤将流量从/向其BGP对等体和提供商传输,并使用端口镜像收集流量。
- 我们根据现有研究定义的规则,在背景流量数据集中删除具有明显模式的攻击流量。
- 我们通过构建真实的攻击或在我们的测试床中重放现有的痕迹来生成恶意流量。
- 将实验中使用的80个新数据集分为四组,其中三组是加密的恶意流量:
- traditional attrack:传统攻击(不加密)
- Encrypted flooding traffic:加密洪泛流量
- Encrypted web malicious traffic:加密网页恶意攻击
- Malware generated encrypted traffic:恶意软件生成的加密流量
基线
- 使用五种最先进的通用恶意流量检测方法作为基线
- Jaqen:基于采样的记录、基于签名的检测。
- FlowLens:基于采样的记录、基于ML的检测。
- Whisper:流级特征、基于ML的检测。
- Kitsune:数据包级特征、基于DL的检测。
- DeepLog:基于事件的记录、基于DL的检测。
指标
主要使用AUC和F1评分
超参数选择
- 进行了四次交叉验证,以避免过度拟合和超参数偏差
- 数据集被等分成四个子集。每个子集被用作验证集一次,以通过实证研究调整超参数,其余三个子集被用作测试集。最后,对四个结果求平均,得到最终结果。
原创Detecting Unknown Encrypted Malicious Traffic in Real Time via Flow Interaction Graph Analysis 论文精读
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 雨霁小站!
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果