
3206
Journal of Software 软件学报 Vol.29, No.10, October 2018
Crowds
[3]
、DC-Net
[4]
、P5
[5]
、I2P
[6]
等匿名通信网.目前应用最广泛、关注度最高的是美国海军创建的第一个低
时延匿名通信网 Tor(the onion routing).截至 2017 年 11 月 1 日,Tor 的全球 Tor relay 用户达到 3 000 000,使用传
输插件(pluggable transport,简称 PT)的 Tor Bridge 用户有 43 000.在虚拟专用网方面,VPN 因其部署简单、性能
较高等特点而被广泛应用.目前市场上 VPN 产品种类繁杂,国外知名的有 lantern
[7]
、Psiphon
[8]
等 30 多款,国内
有 Snap VPN
[9]
、极速安全 VPN
[10]
、蝙蝠 VPN
[11]
等 40 多款.据著名市场研究机构 Global WebIndex 2017 年调
查报告估测,亚洲 VPN 用户占上网用户的 31%
[12]
,中国 VPN 用户多达 9 000 万
[13]
.
审查规避系统若被用于从事商业犯罪和政治犯罪等活动会给社会造成严重的负面影响.据中国互联网违
法和不良信息举报中心资料显示,利用境外服务器、VPN 等网络资源向中国境内网民实施网络犯罪已成为当前
网络犯罪的突出动向
[14]
.ISIS 恐怖分子经常使用匿名通信网络内运行的 Mail2Tor 和 SIGAINT 邮件服务工具,
通常难以追踪
[15]
.为了规范网络空间秩序,加强网络安全治理,很多国家、组织和公司纷纷出台审查制度,部署相
关审查系统.2012 年,Twitter 宣布将根据不同国家要求部署用户信息审查技术
[16]
.2017 年,我国工信部发布了《工
业和信息化部关于清理规范互联网网络接入服务市场的通知》,在全国范围内对互联网非法网站和 VPN 开展
清理规范工作
[17]
.相应地,审查规避系统也得以迅速发展.
为了提高审查规避能力,审查规避系统利用流量混淆技术将非正常流量隐藏于正常流量中,难以区分.审查
规避系统通常在接入匿名通信网的第 1 跳或连接 VPN 代理节点之前引入混淆技术.流量混淆技术的不断升级
也增强了审查规避系统的抗审查能力.以 Tor 匿名通信网络为例,它以传输插件的形式将混淆技术集成到 Tor 浏
览器,将 HTTP 报文混淆处理后发送出去.VPN 则在 VPN 客户端将报文混淆处理后发往 VPN 代理节点.早期审
查规避系统简单地依赖加密报文负载隐藏信息,但是审查者依靠 IP 地址、服务端口号等特征可以轻易识别
[18]
.
为此,审查规避系统依靠加密、转换、填充等随机化方法来隐藏指纹信息、长度分布等特征,如 Dust
[19]
、
Obfs
[2022]
、Scramble Sui
[23]
等.考虑到随机化方法难以抵御基于熵测试和启发式检测的组合攻击,有研究者提出
了协议拟态技术,通过流量整形使非正常流量具备普通流量的指纹、格式等特征,如 FTE
[24]
伪装成基于 HTTP
的密文格式、CensorSpoofer
[25]
模拟加密的 Vo IP 会话、SkypeMorph
[26,27]
模仿 Skype 视频流量等.即便如此,审查
者仍可通过统计分析报文中的 URL 熵值或长度特征识别拟态混淆流量.隧道技术是一种更强的流量混淆技术,
直接将非正常数据加密封装进普通协议报文中,达到规避审查的目的,如 CloudTransport
[28]
、Meek
[29]
、Decoy-
Routing
[30]
.研究发现,隧道技术可以依靠流量分析等技术加以识别.本文深入分析了流量混淆技术,总结其混淆
框架并分析其相应的隐蔽性.
对混淆流量的识别技术按照识别特征和方法分为深度包检测技术和基于机器学习的流量识别技术.深度
包检测技术针对 3 种混淆技术分别总结相应识别技术:随机化混淆流量的识别方法主要依靠某字段或报文的
熵作为识别依据(如一条 Obfs 流前 2048 字节的熵
[31]
);拟态混淆流量的识别方法可以依靠识别特征字符(如
StegoTorus 传输 PDF 文件时的 xref 关键字
[31]
)和某字段或报文的熵(如 FTE URI 的熵
[31]
);隧道混淆流量的识别
方法比较丰富,包括基于协议字段(如 Meek 的 TLS 加密套件
[32]
)、基于长度(如基于 SSL 的 Tor 报文长度
[18]
)、
基于熵(如 Meek 报文间隔分布相对熵
[33]
)、基于行为模式(如 Tor 的 Circuit 建立过程状态转换
[34]
).本文将基于
机器学习的流量识别技术按 3 类混淆技术进行划分:随机化混淆流量和拟态混淆流量可采用 kNN、朴素贝叶斯
和 CART 算法利用已知特征识别(如 Obfs、FTE);隧道混淆流量可采用 SVM、聚类、决策树等机器学习算法依
据提取特征识别和深度神经网络直接依据流量数据识别(如 Meek、Tor).本文分析了深度包检测、机器学习两
类流量识别技术根据混淆特征识别混淆流量,对比相互间识别精度并汇总了混淆流量识别技术.
流量追踪技术可以进一步地发现非正常流量的发送者和接收者.流量追踪技术分为被动关联技术和主动
关联技术.被动关联技术通过对采集的流量进行分析来关联具有相似特征的流量,达到流量追踪的目的.虽然操
作简单,但是数据采集量大,计算开销大.主动关联技术包括流水印技术和渗透技术.流水印技术在疑似混淆流
量中嵌入标记信息并在潜在接收端检测流量,如果检测出标记信息,表明追踪成功.主要包括基于流速特征(如
DSSS
[35]
)和时间特征(如 ICBW
[36]
)的流水印嵌入方法.虽然简单、高效,但不同的流水印技术抵御丢包、乱序、
篡改等干扰的能力参差不齐,对多流攻击(multi-flow attack,简称 MFA)
[37]
和均方自相关攻击(mean-square
评论