大多数经常攻击的攻击者使用匿名网络,使得安全保护人员难以跟踪流量。此外,被盗数据通常是加密的,这使得基于规则的网络入侵工具和防火墙失效。最近,匿名网络以勒索软件/恶意软件的变体形式用于C&C。例如,洋葱勒索[7]使用TOR网络和其C&C服务器进行通信。
图3:Alice与目标服务器之间TOR通信的说明。
通信开始于Alice向服务器请求一个地址。TOR网络给出AES加密的路径。路径的随机化发生在TOR网络内部。包的加密路径用红色显示。当到达TOR网络的出口节点时,将简单分组转发给服务器。出口节点是TOR网络的外围节点。
匿名网络/流量可以通过多种方式完成,它们大体可分为:
其中,TOR是比较流行的选择之一。TOR是一款免费软件,能够通过称为洋葱路由协议的专用路由协议在互联网上进行匿名通信[9]。该协议依赖于重定向全球范围内多个免费托管中继的互联网流量。在中继期间,就像洋葱皮的层一样,每个HTTP包使用接收器的公钥加密。
在每个接收点,使用私钥对数据包进行解密。解密后,下一个目标中继地址就会披露出来。这个过程会持续下去,直到找到TOR网络的出口节点为止。在这里数据包解密结束,一个简单的HTTP数据包会被转发到原始目标服务器。在图3中展示了Alice和服务器之间的一个示例路由方案。
启动TOR最初的目的是保护用户隐私。但是,攻击者却用它代替其他不法方式,来威逼善良的人。截至2016年,约有20%的TOR流量涉及非法活动。在企业网络中,通过不允许安装TOR客户端或者拦截保护或入口节点的IP地址来屏蔽TOR流量。
不管怎样,有许多手段可以让攻击者和恶意软件访问TOR网络以传输数据和信息。IP拦截策略不是一个合理的策略。一篇来自Distil网站[5]的自动程序情势不佳报告显示,2017年70%的自动攻击使用多个IP,20%的自动攻击使用超过100个IP。
可以通过分析流量包来检测TOR流量。这项分析可以在TOR 节点上进行,也可以在客户端和入口节点之间进行。分析是在单个数据包流上完成的。每个数据包流构成一个元组,这个元组包括源地址、源端口、目标地址和目标端口。
提取不同时间间隔的网络流,并对其进行分析。G.He等人在他们的论文“从TOR加密流量中推断应用类型信息”中提取出突发的流量和方向,以创建HMM(Hidden Markov Model,隐马尔科夫模型)来检测可能正在产生那些流量的TOR应用程序。这个领域中大部分主流工作都利用时间特征和其他特征如大小、端口信息来检测TOR流量。
我们从Habibi等人的“利用时间特征来发现TOR流量的特点”论文中得到启发,并遵循基于时间的方法提取网络流,用于本文TOR流量的检测。但是,我们的架构使用了大量可以获得的其他元信息,来对流量进行分类。这本质上是由于我们已经选择使用深度学习架构来解决这个问题。
四、数据实验-TOR流量检测
为了完成本文的数据实验,我们从纽布伦斯威克大学的Habibi Lashkari等人[11]那里获取了数据。他们的数据由从校园网络流量分析中提取的特征组成。从数据中提取的元信息如下表所示:
表1:从[ 1 ]获得的元信息参数