《Detecting Unknown Encrypted Malicious Traffic in Real Time via Flow Interaction Graph Analysis》阅读笔记

时间:2023年 Network and Distributed System Security
作者:Chuanpu Fu、Qi Li、Ke Xu
下载地址:https://www.ndss-symposium.org/wp-content/uploads/2023/02/ndss2023_s80_paper.pdf

摘要

  1. 提出HyperVision,一种基于无监督机器学习的实时的恶意流量检测系统。(无监督、机器学习、实时)
  2. 图捕获的是图结构特征表示的流交互模式,不是已知攻击的特征。
  3. 利用了图的连通性、稀疏性和统计特征。使用的是紧凑图。
  4. 建立了一个信息模型证明图保存的信息接近理想的理论界限。

一、 引言

  1. 互联网上的大多数流都很短,而大多数数据包都与长流相关联。
  2. HyperVision主要分为四类:
    • 分析图的连通性;
    • 预聚类边;
    • 使用Z3 SMT求解器提取重要点;
    • 聚类每一个重要的点。
  3. flow recording entropy model :一个框架,理论分析系统现有数据源保留的信息量。
  4. 贡献:
    • 第一个使用流交互图对具有未知模式的加密恶意流量进行实时 无监督检测。
    • 开发了几种算法来构建内存图,来准确捕获各种流之间的交互模式。
    • 设计了一个轻量级的无监督图学习方法,通过图特征检测加密流量。
    • 建立了一个基于信息论的理论分析框架,来证明图捕获了接近最优的流量交互信息。
    • 构建HyperVision原型,在真实世界中检验其有效性。

二、威胁模型和设计目标

  1. 威胁模型
    (1)流量来源:路由器通过端口镜像复制流量,并转发给检测系统。因此检测系统不会干扰良性流量的转发。
    (2)攻击类型:主动攻击。

  2. 设计目标
    (1)可以完成常规检测:是否是加密流量。
    (2)实时高速地处理流量:以低延迟识别恶意流量。
    (3)无监督的:不需要知道恶意流量的先验知识,可以识别零日攻击。

三、HyperVision概述

  1. 图的构建(Graph Construction):使用网络流构建图。
    • 流分类:为了减少图密度,将流分为短流和长流。
    • 短流聚合成边:将大量相似的短流聚合到一起,形成一条边(图中的意思是将一组具有相同发送方,不同接收方的相似短流构建为一条边)。
    • 长流拟合特征分布
  2. 图的预处理(Graph Pre-Processing)
  3. 基于图的恶意流量检测(Malicious Traffic Detection Based on the Graph):识别关键点,以确保以最少的聚类数处理所有边。通过计算聚类的损失函数,来识别异常边。

疑问&思考:

  1. 点是什么?边是什么?
    点应该是发起或接收流的地址。
    边是流交互模式
  2. 流交互模式是什么?
    流交互模式会代表流特征和结构特征
  3. 聚类如何检测出只有良性交互模式的部分?
    根据聚类损失判断,如果聚类损失超过某个阈值就判断其是恶意的。
  4. 图的特征是什么?
    图的特征包括边的特征,点的特征,整体的特征。这里利用了点的出入度,边的条数等结构特征。

四、图的构建(图是流交互图)

  1. 流分类:将流分为短流和长流。
    (1)原因:所有流中,大多数流是短流,而长流的占比较少;大多数的数据包在长流中。
    (2)分类特征:提取每个数据包的源IP地址、目的IP地址、源端口号、目的端口号、协议、长度和到达时间间隔(即时间戳)。
    (3)分类算法:参考附录

  2. 短流聚合:一个顶点可以表示一个地址,也可以表示一组地址。
    (1)原因:大多数短流具有相同的数据包特征序列,为了减少图的密度,避免流之间的依赖关系爆炸,减少存储开销对短流进行聚合。

    (2)聚合条件:以下三个条件必须同时满足。

    • 相同的源地址或目的地址,且产生了相似的行为(这里的行为指的是什么呢?)。
    • 相同的协议。
    • 流的数量达到了阈值AGG_LINE。

    (3)聚合算法:参考附录

  3. 长流特征分布拟合:使用直方图来表示每条流的数据包特征序列。
    (1)原因:避免使用过长的序列。
    (2)拟合特征:数据包长度,到达时间间隔、协议。
    (3)拟合方法:记录每条流中每个不同特征值出现的次数。

疑问&思考:

  1. 如何定义短流与长流?利用每个数据包的时间戳进行流分类,所以是使用时间的长短定义的长短流。
  2. 为什么使用直方图代替特征序列?
    因为长流的数据包特征是集中分布的,也就是一个特征值可能出现多次,而如果使用特征序列,则需要针对每个数据包记录一个值;如果使用直方图,就可以记录每个值出现的次数。
  3. bucket size,buckets指的是什么?
    bucket size相当一个区间的大小,buckets就是共有几个bucket size。
    例:bucket size=10B, 一条流有4个数据包组成pk1,pk2,pk3,pk4,他们的长度分别为1B,13B,5B,22B。那么就有3个bucket,其中pk1和pk3属于第一个bucket,pk2属于第二个bucket,pk4属于第三个bucket。
  4. 每一条流有3个直方图,每个直方图代表一条流的一个特征,直方图表示流中该特征的值在某一区间中出现的次数。

五、图的预处理

  1. 连通性分析(连通性、统计特征
    (1)数据集:MAWI
    (2)判断连通性:depth-first(DFS)算法,发现大多数子图有相似交互模式的边。
    (3)聚类:对连通的子图进行聚类,将超出正常子图聚类损失一个数量级的子图归为异常部分。

    • 算法:density based clustering (DBSCAN)
    • 目的:将所有连接正常子图的边归为正常流量;筛选连接异常子图的边。

    (4)使用特征:

    • 子图中长流的数量;
    • 子图中短流的数量;
    • 子图中表示短流的边数;
    • 子图中长流的字节数;
    • 子图中短流的字节数。
  2. 边的预聚类:

    • 算法:使用DBSCAN算法对异常子图的边进行分类。(稀疏性
    • 特征:提取了短流的8个图结构特征,长流的4个图结构特征。

六、恶意流量检测

  1. 识别重要的点:对于每个恶意连通子图,选择所有点的子集作为重要点,使用Z3-SMT求解器解决顶点覆盖问题。
    (1)满足条件:
    • 子图中每条边的源点/目的点都在重要点的子集中。
    • 子集中的顶点数,是满足条件的最小集合。
  2. 聚类连接到重要点的边
    (1)算法:K-Means
    (2)计算聚类损失:当总的损失值大于阈值时,则被认定为恶意流量。

七、理论分析

我太菜了,看不懂(ㄒoㄒ)

  1. 目的:分析图所保留的信息。
  2. 基于信息熵的分析:利用discrete-time Markov chain计算信息量、数据规模、信息密度。对比基于采样、基于事件和基于图的记录模型的这三个指标。
  3. 实验结果分析:
    (1)与现有方法相比,HyperVision使用图保留了更多的信息
    (2)HyperVision使用图保留接近最优的信息
    (3)与现有方法相比,HyperVision具有更高的信息密度

疑问&思考:

  1. 记录模式是什么意思?
    我的理解就是输入模型中训练数据的形式,这些数据往往是原始数据经过处理后得到的,所以需要评估它所保有的原始数据的信息量。?

八、实验评估

  1. 源代码下载地址https://github.com/fuchuanpu/HyperVision
  2. 数据集:作者在真实环境中收集的重放攻击流量、Kitsune、CICDDoS2019 datasets、、CIC-IDS2017等。
  3. 恶意流量类型:传统的暴力破解流量、加密泛洪流量、加密网络恶意流量、恶意软件产生的加密流量。
  4. 对比方案:
    • Jaqen:基于采样的记录、基于签名的检测。
    • FlowLens:基于采样的记录、基于ML的检测。
    • Whisper:流级特征、基于ML的检测。
    • Kitsune:数据包级特征、基于DL的检测。
    • DeepLog:基于事件的记录、基于DL的检测。
  5. 评价指标:AUC、F1 score。
  6. 实验结果表明重要的点表示主要的活跃的流,例如web服务器、DNS服务器和扫描仪。
  7. Whisper缺点:
    • 不能有效检测有僵尸网络缠手的低速的加密流量。
    • 不能高效检测所有场景下的低速TCP Dos攻击。
  8. 性能分析:
    (1)吞吐量:图构建28.21Gb/s,检测121.14Gb/s。
    (2)延迟:图构建1.04s~1.09s,其中流分类、短流聚合、长流分布拟合分别占50.95%、35.03%和14.0%。检测延迟0.83s,其中预聚类占75.8%。
    (3)资源消耗:1.78GB保存流交互模式,1.452~1.619GB进行学习算法。

论文总结

  1. 为了解决什么问题:进行实时检测未知的恶意加密流量。

  2. 提出什么方案:通过流交互图,通过学习图的结构特征检测恶意流量。
    (1)图构建:以IP地址为顶点,流的交互模式为边构建流交互图。然后,根据时间对流进行分类,分为短流和长流。

    • 短流聚合:根据IP地址和行为特征、协议类型和流的数量进行聚合;
    • 长流特征分布拟合:根据数据包长度、协议和到达时间间隔构建直方图,进行特征分布拟合。

    (2)图预处理:根据连通性分割图,使用DBSCAN算法分类子图。然后对含有恶意流量的子图进行预聚类。

    • 连通性分析:使用DFS算法进行连通性判别,使用DBSCAN算法分类良性子图和恶意子图。
    • 边的预聚类:使用DBSCAN算法对异常子图的边进行分类,选出

    (3)恶意流量检测:选择一些点作为重要点。

    • 选择重要顶点:保证所有的边的源、目的都在重要顶点集中,且集合包含的顶点数量最小。
    • 边特征聚类:使用K-Means算法对边进行聚类,检测恶意流量。
  3. 达到那些效果:四类恶意流量的检测效果AUC到达0.97以上,F1得分0.92以上。

  4. 创新点是什么:可以实时(即高准确率、低延迟)检测未知的(即检测算法是无监督的)恶意加密流量。

你可能感兴趣的:(论文阅读笔记,加密流量,聚类,恶意流量)