概述
Effective Detection of Multimedia Protocol Tunneling using Machine Learning [USENIX 2018]
github地址: https://github.com/dmbb/MPTAnalysis
多媒体协议隧道可以通过将数据调制到流行的多媒体应用程序(如Skype)的输入中来创建隐蔽通道。为了有效,协议隧道必须是不可观察的,对手不能区分携带隐蔽信道的流和不携带隐蔽信道的流。然而,现有的多媒体协议隧道系统已经使用特别的方法进行了评估,这使人们对这些系统是否确实安全产生了怀疑,例如抗审查通信。
本文对当下最好的三个系统:Facet、CovertCast 和 DeltaShaper 的不可检测性进行了实验研究。工作揭示现有的关于这些工具产生的隐蔽通道的不可检测性存在缺陷,现有的机器学习技术,可以揭示绝大多数通道,同时产生相对较低的误报率。本文同时也探讨半监督和无监督机器学习技术的应用。研究结果表明人工标注的样本对成功检测隐蔽信道有重要影响。
一句话:基于机器学习方法做隐蔽信道系统Facet, CovertCast, Deltashaper的检测
方法 与 实验
目标系统
分析对象为三个最先进的多媒体协议隧道系统
Facet: 通过替换Skype视频通话的音频和视频源, 允许客户观看任意视频. 客户端向Facet服务器发送包含所需视频URL的消息. 服务器下载相应视频并将其内容提供给麦克风和摄像机模拟器传输给用户.
CovertCast: 抓取和调整网页内容为图像, 并通过YouTube等直播平台分发. CovertCast通过将web内容编码成彩色矩阵图像来调制web内容. 客户端抓取和解调通过实时流服务的图像, 提取所需的web内容.
DeltaShaper: 允许对任意TCP/IP流量进行隧道化. 通过调制隐蔽数据到通过双向传输的图像来实现的Skype视频通话.
对手模型(Adversary Model)
(1) 加密多媒体应用的提供者不与对手联合
(2) 对手不能控制用户端安装的应用程序
(3) 国内ISP与对手联合并给对手提供所有过境的数据流
(4) 对手需要权衡提高检测隐蔽信道的准确性和误封正常信道的代价
相似性分类(Similarity-based Classification)
- Pearson’s Chi-squared Test ( χ 2 \chi^2 χ2)
- Kullback-Leibler Divergence (KL)
- Earth Movers’s Distance (EMD)
结论
(1) 多媒体协议隧道系统所声称的不可检测性与所采取的检测方法密切相关
比如检测Facet s=50%系统, KL和EMD检测结果趋向于随机猜测, 而
χ
2
\chi^2
χ2检验准确率则高达74%
(2) χ 2 \chi^2 χ2检验在对Facet和Deltashaper做检测时产生较高误报率
(3) CovertCast 没有提供宣称的不可检测性
表1显示,
χ
2
\chi^2
χ2分类器可以正确地识别所有的CovertCast流, 而只会导致2%的误报率
决策树分类(Decision Tree-based Classification)
- Decision Trees
- Random Forests
- eXtreme Gradient Boosting (XGBoost)
统计学特性
采用包长度, 包抵达时间作为统计特征, 结果应用10折交叉验证
随机森林和XGBoost显著降低Facet和Deltashaper的隐蔽性
随机森林检测Facet的隐蔽信道AUC可以达到0.95, XGBoost有0.97
随机森林和XGBoost检测DeltaShaper (320 x 240) 的AUC分别有0.90, 0.96
基于统计学的检测可以在维持较低误报率的情况下有效识别隐蔽信道
改进: 采用包长频率分布 (quantized frequency distribution of packet lengths) 作为统计特性
效果相比summary statics有明显提升
非监督检测
- One-class SVMs: 在训练过程中, 通过在正态样本周围拟合一个函数, 定义正态样本与异常样本之间的判定边界
- Autoencoders: 一种人工神经网络, 它可以通过输入的压缩表示逼近恒等函数, 迫使算法学习数据中的底层结构
- Isolation Forest: 通过隔离异常样本进行异常检测. 为了隔离一个样本, 该算法首先选择一个随机特征, 并在其最小值和最大值之间选择一个分割
结果
- OCSVM在正确识别隐蔽流量方面的能力有限
- 自动编码器显示出有效识别隐蔽流量的性能
- 隔离森林对检测隐蔽信道能力有限
总结
本文用机器学习方法对三个隐蔽信道系统Facet, CovertCast, Deltashaper进行检测, 并在有监督学习算法上取得较好效果, 证明这三个(截止2018年)最好的隐蔽信道的隐蔽性存在缺陷
Insights
(1) 现有的隐蔽信道在监督学习检测方法下会被有效识别出来, 其中random forest和XGBoost方法有明显的优势
(2) 无监督学习做隐蔽信道检测效果没有明显优势, 最好能够结合隐蔽信道的特性来训练分类器
(3) 对于最新的protozoa隐蔽信道的检测可以参考使用监督学习训练分类器进行
(4) 针对视频流隐写的隐蔽信道也可以尝试有监督和无监督各类算法进行检测