第38卷第3期 计算机应用与软件
Vol 38No.32021年3月
ComputerApplicationsandSoftware
Mar.2021
网络环境自适应的流量特征拟态技术
施 帆 王轶骏 薛 质 姜开达
(上海交通大学网络空间安全学院 上海200240)
收稿日期:
2019-08-18。国家重点研发计划项目(2019QY0703)。施帆,硕士,主研领域:网络空间安全。王轶骏,讲师。薛质,教授。姜开达,高工。
摘 要 流量拟态技术将传输数据伪装成特定白名单协议以突破网络流量审查,实现隐蔽数据传输。随着检测对抗的愈加激烈,基于静态规则的混淆隐蔽传输技术局限性愈加突显,在混淆固有特征时容易形成新的网桥协议指纹。设计并实现基于
当前网络环境特征的自适应流量拟态协议网桥,通过对环境中正常HTTP流量的特征提取分析,预测生成拟态网桥采用的混淆特征。实验证明该自适应网桥能够动态生成拟态规则,生成流量与真实流量具有较高相似度,拟态所需的冗余数据在可接受范围内。同时论证了当前基于特征的流量协议检测技术在面临高复杂度的流量拟态时所存在的局限性。关键词 流量拟态 隐蔽传输 Tor网桥 流量识别
中图分类号 TP3 文献标志码 A DOI:10.3969/j.issn.1000 386x.2021.03.015
ASELF ADAPTIVETRAFFICFEATUREMIMICRYMETHOD
INNETWORKENVIRONMENT
ShiFan WangYijun XueZhi JiangKaida
(SchoolofCyberScienceandEngineering,ShanghaiJiaoTongUniversity,Shanghai200240,China)
Abstract Trafficmimicrytechniqueaimstodisguisedatatrafficascommon usedprotocolstobypasscensorshipandimplementhiddendatatransmission.Withtheanomalydetectionget
tingmorestrict,traditionaltrafficobfuscationmethodsbasedonstaticrulesarelimitedduetotheirownbridgefeaturegeneratedinobfuscation.Anewnetworkbridgewithself adaptivetrafficmimicrymethodisdesignedandimplementedinthispaper.ThisnetworkbridgewouldextractandanalyzefeaturesinrealHTTPtraffic,predictthenormaltrafficfeaturesincurrentenvironmentandgeneratethemimicrytraffic.Thetrafficgeneratedbythisbridgewasprovedtohaveahighsimilarityasnormaltrafficwithinacceptabledataredundancyintheexperiment.Thisworkalsoindicatedthatcurrentdetectionmodelsrequiredeeperinspectionintrafficaudittoexplorethehiddenabnormalcommunication.
Keywords Trafficmimicry Hiddentransmission Torbridge Trafficidentification
0 引 言
在网络普及带来便利的同时,一些非法的网络传输需要进行控制。为防止非法的信息传输造成信息泄密,监管者需要对异常的流量进行审查过滤,阻止非法信息的网络传输以保障信息安全。Tor是当前最常用的匿名通信网络之一,其通信协议具有强大的逆踪性
使得通信双方无法知晓对方的真实网络地址[
1]
,因此充斥着大量的非法信息资源,同时还能够被攻击者用
于建立与命令控制服务器的隐蔽传输信道[2]
。网络监
管方会对管理范围内的Tor网络流量进行识别和阻拦,一方面防止个人用户访问非法的网络资源,另一方面防止内网中可能存在的渗透行为发生或重要信息的泄露。
由于Tor没有将协议设计重点放在如何掩盖用户使用Tor网络的事实上,原生的Tor协议具有一定的显
著特征。何高峰等[3]提出了基于Tor的TLS指纹特征
第3期
施帆,等:网络环境自适应的流量特征拟态技术
95
和报文长度分布的检测方法,利用Tor的密码套件、证书序列号、起效时间和定长数据包等固定特征识别Tor
流量;Kwon等[4]
基于数据包往来特征和连接建立时
长,依据Tor通信协议特有的连接握手方式和链路切换进行检测。这些固有特征使得当前在工程上部署对Tor流量的检测识别已经较为成熟。
为了弥补Tor协议在上述方面的不足,Tor社区通过部署代理网桥节点以隐藏或破坏原始Tor协议的特征,通过对原始Tor流量的编码混淆以在技术上增加检测的难度。但是目前各网桥技术因存在一定局限性而被陆续挖掘出检测特征,文献[6,17,27]中归纳了Tor及相关隐蔽网桥的检测特征。
检测方在利用黑特征检测非法协议之外,一些企业网络管理员还会对TLS等加密连接的通信方证书进
行记录与校验,部署强制中间人审查[7]以及对通信方
的白名单规则过滤,使得直接向网桥建立TLS连接并使用加密信道转发Tor网络包易被监管者发现。一些企业安全管理人员因此认为白名单检测机制足以阻挡非法数据的传输。
本文设计并实现了能够自适应当前网络环境特征的拟态网桥(Self AdaptiveMimicryBridge,SAMB),能基于用户使用环境动态确定特征和拟态规则。SAMB采用当前常见的HTTP协议进行拟态混淆,其动态自适应拟态协议能够避免当前主流网桥协议静态特征被二次发现的问题,同时也将论证当前基于特征的对特定流量的检测技术,即使是使用白名单规则部署,也仍然存在一定的检测盲区和缺陷。
1 相关工作
当前Tor的网桥协议设计主要集中于传输层和应用层。尽管在隐蔽信道方面有部分工作聚焦在更底层
的协议或是字段时序上[
8-9]
,但是由于数据的携带效率较低而不适用较大数据量的隐蔽传输场景。
图1为Tor网桥部署架构,用户试图与访问目标即Tor的节点进行数据传输,管理者将在网络边界如网关上部署检测系统。网桥分为客户端与服务器两部分,分别位于检测者监管区域内和区域外。网桥的目标是在客户端上将用户发送的原始数据包执行编码混淆,并在服务器上进行译码恢复,以绕过检测者部署的检测系统,成功完成用户预期的隐蔽通信。当前主流的Tor网桥技术分为流量混淆、流量拟态、隧道技术三
大类型。
图1 Tor网桥部署架构
1.1 流量混淆技术
流量混淆技术将数据包内容加密混淆,使得处理后的数据包内容随机化,以此破坏原始协议的数据包内容特征。
当前已有实际工程部署的混淆技术有S
cramble Suit
[10]和Obfs4[11]
等,其中Obfs4作为Tor的主流网桥之一,能够在对数据包进行加密混淆的同时以拆分或填充的方式随机化包的长度,并在发送时随机化发送时间间隔。由于其加密混淆的实现原理为流异或运算,因此处理速度快、计算开销较低,针对单纯的黑名单规则检测非常有效。
Wang等[5]提出基于计算数据报文熵值的方法来
检测此类纯随机化混淆技术。被Obfs4等混淆技术随机化后的数据包杂乱程度远高于普通网络协议的数据包,而且混淆流量不具备TLS等加密协议应有的密钥交换与身份认证过程。混淆技术生成的随机化数据包由于不具备任何协议特征本身可以作为一个特征用于检测。
1.2 隧道传输技术
当前最有效的隧道传输技术之一是Tor网桥中的
Meek[12]
。Meek采用域前置技术,将受审查限制的
URL置于TLS协议的HTTPHostHeader字段,将TLS
中的前置SNI字段设置为可信任的域名,从而检测者能看到的仅是前置SNI字段中的受信任域名,而可信任服务器解析出真实URL后将数据包转发至真实通信目标地址。
Wang等[5]
在实验中论证基于ACK频率特征的方
法可以检测Meek协议流量。而另一方面,由于域前置技术经常被用于网络攻击等其他非法用途上,云服务器厂商正试图阻止域前置技术的被滥用。谷歌已于
2018年4月禁止了其云服务上的域前置技术[13]
,此类
传输技术因过于依赖服务提供商的特性而欠缺通用性,并在今后的适用空间会越加狭窄。
1.3 流量拟态技术
流量拟态是指将将黑名单协议伪装成其他协议以
绕过审查检测。FTE[13]是Tor曾经常用的流量拟态技
术之一,可以在最大长度允许的情况下将任意输入字
96
计算机应用与软件2021年
符序列转换成符合指定的正则表达式规则的字符串。通过将任意输入数据包基于HTTP数据包的正则规则伪装变形后输出,将Tor流量拟态成HTTP流量以试图绕过检测。
在实际应用中FTE生成的拟态流量与正常HTTP流量存在以下主要差异:
1)URL长度与熵值。FTE生成包中的URL因需携带实际负载,长度明显高于普通数据包;由于不具备可读特征,字符串的杂乱程度高于正常状况,导致字段熵值过高。Wang等[5]基于URI的熵识别的方法,在实验中达到了100%的识别率。
2)协议字段的不匹配性。由于FTE只是拟态了HTTP的正则规则特征,从而被拟态协议中多数字段都不具有实际意义。
3)协议的语义性。静态正则特征使得生成的拟态数据包都具有固定样式,例如客户端与服务器之间单一重复的Get请求与HTTP200响应来回并不符合正常的流量特征[20]。
Dyer等设计了可编程网络混淆系统Marionette[14]以优化上述问题。其在FTE拟态基础上使用状态机模拟HTTP的语义状态,增加拟态的灵活性,使生成流量在协议语义上具有一定随机变动而更接近真实情况。但是Marionette并没有将工作重点放在熵值对抗上,并且使用单一规则文件属于静态规则特征,在较长时间分析中仍能提取到检测特征。
1.4 当前混淆与检测技术小结
根据先前的工作研究,隐蔽传输技术的突破点如下:
1)增加混淆规则的动态性,避免在混淆时引入固定特征。Shahbak等[15]通过各网桥协议的专有指纹特征在实验中有效识别检测出了Tor的各常用网桥流量。提升混淆的变化性可有效加强检测难度。
2)提升特征拟态的深度。检测系统通常需要面向海量流量数据,采用的检测维度主要为直观浅显的特征。相对地,混淆方需要处理的数据少,通过少量的额外计算开销可以大幅提高检测所需的复杂度。
3)考虑混淆时网络环境的差异。部分检测系统采用白名单特征,通用的混淆方式难以适用于所有应用场景。例如用户主机中不同浏览器、访问目标系统语言等特征或不同主机中能够出现的正常网络协议的差异。
综上,隐蔽传输技术可以通过在客户端增加复杂性,依赖当前网络环境的流量特征自适应生成混淆特征,从而加大被检测的难度。本文设计基于网络环境自适应的动态规则特征拟态方法,将流量拟态伪装工作的核心聚焦在对当前网络环境的流量特征提取与学习上,取代当前单一静态规则的拟态或混淆方法。鉴于多数情况下各检测方案中存在如HTTP等白名单明文协议,本文将重点探讨与实现对此部分协议的自适应拟态伪装,以试图绕过当前检测机制。
2 网桥总体架构
SAMB基于当前网络环境中的真实流量特征预测该环境下正常数据包的特征,并以此对隐蔽传输数据进行拟态伪装。
图2是SAMB网桥客户端的总体架构设计,共分数据包特征提取、特征学习预测和拟态执行三个主要模块。图2中的白与黑箭头分别表示自适应特征学习与数据包发送拟态过程中的数据流向,虚线箭头表示网桥客户端数据包接收流程。接收过程中的数据解码采用通用方法,与具体的拟态规则无关,不依赖于
预测特征的输入。
图2 SAMB客户端总体架构图
数据包特征提取模块将对当前环境的进出数据包进行搜集,过滤并提取所需拟态协议样本的流量特征。
特征学习与预测模块根据提取到的真实流量协议特征,分析拟态特征规则,生成预测特征并输出到特征模板队列。
拟态执行模块异步读取特征模板队列中的预测特征,对需要隐蔽传输的流量混淆加密。最终生成的拟态流量先放入发送队列,并基于给定的间隔时间发送至网桥服务器。
SAMB采用HTTP作为拟态目标协议,数据包特征提取模块更适合作为浏览器插件过滤提取并处理网页访问过程中的HTTP流量。本文使用火狐浏览器插件HARExportTrigger[25],在Firefox43.0上将用户在浏览器中的网页访问流量以HAR格式保存至本地,并提供给后续模块处理。保存的HAR文件中将包含或可推算得到所需要的特征信息。特征学习与预测模块将
第3期 施帆,等:网络环境自适应的流量特征拟态技术97
以上信息作为输入,基于马尔可夫状态模型挖掘该环境下正常用户的网页访问数据包特征,预测后续可能会产生的正常流量数据包特征作为输出。
3 自适应混淆特征学习
SAMB基于当前网络环境中的真实流量特征,推断预测该环境下正常数据包的特征,以此对隐蔽传输数据进行拟态伪装。本节将介绍SAMB的自适应特征学习方法和流程。
3.1 拟态特征维度
SAMB拟态网桥自适应学习以下数据包特征:
1)数据包长度。不经混淆的Tor流量具有大量定长数据包[18],随机化混淆产生的数据包长度仍然具有最小长度等可辨别特征[5]。正常通信协议的数据包长度在时序上也应服从一定分布特征而非完全随机化。
2)数据包负载熵值。混淆或拟态后的数据包因不可读而熵值高于正常数据包。检测方也可通过特定时序上的数据包熵值进行辨别正常TLS加密协议与混淆协议[5,20]。
3)协议字段与语义的合法性。正常协议中会带有特定固有字段,并且与服务器之间的通信状态也可作为被检测的特征[20,26]。
4)发包间隔时间。Tor流量在数据包之间存在时间特征[4]。Lashkari等[21]基于流持续时间、报文间隔时间等多项特征维度识别Tor流量,并取得一定效果。
相关检测工作还有围绕其他深层特征维度的分析,如文献[22-24]使用基于大量维度的机器学习算法。尽管这些算法模型在实验中都取得了较高的准确度,但在工程应用中因为数据集规模小、扩展性差,所以其真实部署效果有待验证[17]。本文只对以上检测最常用特征进行处理,其他维度的特征混淆将在未来工作中进一步扩展。
3.2 特征学习与预测流程
SAMB自适应特征学习流程如下:
(1)根据采集到的HAR文件根据访问目标划分分组;
(2)对同一访问目标的分组计算其平均请求包熵值,建立HTTP状态和请求包大小预测模型。
在完成特征学习后,生成预测特征的流程如下:
(1)随机从已保存的预测模型中选取一个模型;
(2)按时序预测该组通信中的HTTP请求方式和响应状态直到预测到HTTP请求方式为结束状态,即得到该序列的预测长度;
(3)根据请求包长度组的马尔可夫模型预测每个请求数据包的长度;
(4)根据熵值分布设置请求包的平均熵值;
(5)将预测的数据包的具体序列缓存至特征队列中供后续模块使用。
3.3 特征序列分组
不同的网页后台逻辑的差异化设计将表现出不同的数据包特征,因此特征学习预测将对不同子域名的网站分别提取特征。图3是特征序列分组的示意图,HARExportTrigger插件会将用户在浏览器中不同页面的访问流量分别保存在一个HAR文件中并存储至指定目录,SAMB将根据这些文件中请求数据包的高频Host字段确定对应访问目标,并将同一目标的所有HAR
文件作为后续特征学习预测的一组输入数据。
图3 基于HOST子域名的特征序列分组
定义数据包的一组特征序列为用户在浏览器的一个页面中使用网页服务所产生的数据包特征的有序集合,即浏览器页面创建至关闭的整个过程中产生的数据包特征按产生时间顺序排列的集合。一个HAR文件对应一组特征序列。
对于特征序列中的请求数据包中Host字段,从顶级域名起往前匹配至第一个非通用域名后缀为止,作为该请求数据的访问网站域名,以屏蔽子域名的差别。在访问一个网页时除了收发来自网页服务器的数据包外,还可能会伴随一定数量的CDN节点的数据包,因此无法仅依据访问最频繁的域名来识别访问目标,故选取特征序列分组中出现频率最高的三个域名一起作为该特征分组的访问目标标签,用于标识该特征序列分组对应的访问目标。
3.4 基于马尔可夫模型的特征预测
1)HTTP协议语义特征拟态。SAMB网桥在Mar ionette使用状态机模型模拟真实环境下HTTP数据包请求与响应状态序列的基础之上,基于当前环境历史流量的协议状态预测来确定拟态数据包协议的状态转移,从而增加拟态流量的真实性,减少静态特征被检测发现的可能。
98
计算机应用与软件
2021年
SAMB使用马尔可夫模型表示数据包请求方式和相应状态的转移关系,依据数据包在一组特征序列分组的出现时序与前一响应包的状态来预测下一请求包的请求方式,依据出现时序和当前请求包的请求方式预测对应响应包的状态。如图4所示,使用马尔可夫模型表示该状态转移关系,图中每一节点表示请求包方式或响应包状态,
每一节点都只和前一节点状态有关。
图4 HTTP数据包状态值的马尔可夫模型
上述基于前一节点的状态次序来预测下一节点状态的方法,是考虑到访问同一网站时浏览器发起请求资源的顺序因服务端的固有设计逻辑而相对固定,而且在一些异常情况发生时也会有相似的处理流程。例如:在有些业务处理中遇到404错误状态后会立即结束,而一些可能会用其他地址的资源代替;有些网站加载资源时可能会有重定向或使用本地缓存操作,使得初始的数据包状态出现差异。
图4中的马尔可夫模型中各状态转移矩阵的定义为:
Mreq(n)ij=P(m(n)js(n-1)
i)(1)Mrsp(n)ij=P(s(n)jm(n)i)
(2)
式中:m(n)i和s(n)
j分别表示第n
组请求响应对中请求包的方式和响应包的状态。在实现中定义G
正则匹配快代理ET、POST、END3种请求方式,其中END表示一组HTTP连接会话的结束,响应状态由实际出现的状态码确定,并定义START标志初始状态,用于首个请求包方式的预测。
2)请求包长度预测。SAMB同样采用马尔可夫模型预测客户端向服务器发送的请求包数据长度。先将数据包长度划分聚类后,通过预测请求包长度的所属类别确定预测长度。
在实验中观测发现,一次HTTP服务过程中请求包的长度会出现聚集效应,即在一定时间内连续多个请求包的长度固定或仅有极小幅度偏差。例如图5是某一正常HTTP特征序列分组的请求包大小分布,横坐标为请求包次序,纵坐标表示请求包长度。可观察
到该特征序列分组的请求包分别在750和1500字节处出现聚集。这一般出现在加载网页时对多个同一类资源文件的请求,如向服务器请求网页中的各图片资源。此类请求包一般具有同样的结构,且资源文件的URI也相似,
使得连续请求包的大小固定。
图5 一正常HTTP特征序列分组的请求包大小分布
由于同一访问目标的各页面设计相似,特征序列
分组中请求包长度聚集处较为类似,且多数网站的访问请求包长度一般聚集在2至3处。在特征学习阶段,
SAMB采用算法1将给定的同一访问目标的所有特征序列分组基于请求包大小执行简单聚类,以标识出上述聚集效应显著的数据包。
简单聚类的算法的目标是将给定的特征序列分组请求包长度划分为出现频率最高的若干类和其他。给定一个请求包长度值,寻均值距其最小的类别,并判断该类别的均值和极值是否超过设定的最大比例α和β
,若不存在符合条件的类别则新建一个新的类别,并将该长度值作为该类别初始元素。α和β参数用于控制类别的上下界范围大小,值越大则产生的类别跨度越大,最终划分的总类别数量越小。在算法1中动态调整该参数可以控制所得到的类别数量以及出现频率最高两类中元素数量占总体的比例。如果在多次尝试后无法得到合适的α和β以满足所定需求,则丢弃该特征序列分组数据。
SAMB进一步依据历史状态转移预测拟态数据包的请求包长度类别。基于先前两个请求包的长度类别预测下一个类别。在特征学习过程中计算同一访问目标的请求包长度类别条件概率如下:
P(m)
ij=P( k=j k-1=i, k-2=
m)0≤i,j,m≤3(
3)式中: k表示第i个请求包长度类别, k=0至2分别表示算法1中的三种类别;定义 -1和 -2的值为3表示初始状态。在确定预测数据包长度的类别后,根据特征学习时对应类别组中长度分布的均值和方差使用
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论