当前位置:u赢电竞手机版 > u赢电竞手机版 > 不解密数据竟也能识别TLS加密的恶意流量?u赢电竞

不解密数据竟也能识别TLS加密的恶意流量?u赢电竞

文章作者:u赢电竞手机版 上传时间:2019-07-09

在网络的入口处对应用程序的识别是非常重要的,无论是网络安全产品,还是专业的流量分析引擎,应用流量的准确识别不但可洞悉整个网络的运行情况,而且可针对具体需求做用户行为的准确管控,这在一定程度上既可保证业务流的高效运行,也可预防由于内网中毒引起的断网事件。

然而,要准确识别应用流量,从技术实现上讲并不简单,难度主要体现在识别的算法及检测深度。算法不但要解决流量的分类,而且要负责在多个分类中查找特征,所以最好的算法往往带来的是精确的识别;另一个就是检查数据的深度,深度总是和性能关联,检查的越多,消耗的系统资源越多。因此,检查一个流的前20个包所付出的性能代价往往是超乎想象的,这就是我们提到的识别难度。

加密一直都是保护用户通讯隐私的重要特性,可如果恶意程序在传播过程中也加密的话,对这样的流量做拦截感觉就麻烦了很多。谈到加密,TLS(Transport Layer Security Protocol,传输层安全协议)就是当前使用非常广泛的协议:国外部分研究机构的数据显示,已有至多60%的网络流量采用TLS,当然也包括一些恶意程序(虽然大约只有10%)。

对于识别方法来说,从技术角度看,检查一个应用特征主要有三种方法。第一种方法称为标准检测,主要靠识别报头信息的地址和端口,这种方法常见于做QoS的网关设备。第二种方法称为DPI深度包检测),这是业界常用的术语,绝大多数设备声称具有这样的技术,常见于"下一代内容检测系统"及UTM类设备。从理论上,数据流中每个报文的任意字段或数据流传输过程中的任何特征都可以作为应用协议识别的依据,但实际上,如何快速选择最有效的数据流特征信息的难度远远超过了您的想象。第三种方法称为解密检测方法,就是将数据流送入一个分类器,数据流被分类之后,将加密数据流送入一个解密引擎,解密引擎通过预置的解密算法对数据解密,解密后再次返回分类器进行检查。如天融信TopFlow就采用这种技术来识别加密数据,通过这种独有的技术,使得精确识别率能达到99%以上。

u赢电竞手机版 1

当然,在我们介绍应用流量识别时有几个概念需要介绍:

来自思科的一组研究人员最近研究出一种方法,不需要对这类流量进行解密,就能侦测到采用TLS连接的恶意程序,是不是感觉有点小神奇?

数据流:基于应用层协议识别的对象不能只是简单的检查单个报文,而是要将数据流作为一个整体来检测。因此,数据流是指在某个会话生命周期内,通过网络上一个检测节点的IP数据报文的集合。实际上,一个节点发送的数据流的所有属性是相同的。

u赢电竞手机版 2

数据流分类:利用数据流以及数据流中报文的某些信息,可将网络上的数据流进行分类,这种分类可加速应用流量的分类,如游戏应用数据流通常是小报文,而P2P流一般称为大报文。

TLS协议

数据流类别:数据流类别是一个大型网状结构的分类器,按照行为特征及签名进行归类。在数据流分类问题中,每个类别可能包含某些属性类似的多种协议,典型的如IE下载即包括了多个类别,有分块下载,有伪IE下载等,有另存单线程下载等,而协议识别必须对流进行更精细的分类,使得每个类别中的流只使用一种应用层协议。

这是怎么做到的?

协议识别:协议识别是指检测引擎根据协议特征,识别出网络数据流使用的应用层协议。

思科已经公开了这份研究报告,题为《辨认使用TLS的恶意程序(无需解密)》(英文其实表达得更为准确,名为”Deciphering Malware’s use of TLS”)。我们比较笼统地归结原理,其实是TLS协议本身引入了一系列复杂的数据参数特性——这些特性是可以进行观测检查的,这样自然就能针对通讯双方做出一些合理的推断。

应用协议特征字符串:特征字符串是协议归类的关键依据,字符串特征举例协议特征字符串

这份报告中有提到:“通过这些特性,我们可以检测和理解恶意程序通讯方式,与此同时TLS本身的加密属性也能提供良性的隐私保护。”听起来似乎还是比较理想的新技术——在不需要对流量进行解密的情况下就达成流量安全与否的判断,的确具备很大意义。

ftp特征字符串acct、cwd、smnt、port;

为此,思科大约分析了18个恶意程序家族的数千个样本,并在企业网络中数百万加密数据流中,分析数万次恶意连接。整个过程中,网络设备的确不对用户数据做处理,仅是采用DPI(深度包检测技术)来识别clientHello和serverHello握手信息,还有识别连接的TLS版本。

smtp特征字符串HELO、EHLO、MAIL FROM:、RCPT TO:、VRFY、EXPN;

“在这篇报告中,我们主要针对433端口的TLS加密数据流,尽可能公正地对比企业一般的TLS流量和恶意TLS流量。为了要确认数据流是否为TLS,我们需要用到DPI,以及基于TLS版本的定制signature,还有clientHello和serverHello的信息类型。”

pop3特征字符串 OK、-ERR、APOP、TOP、UIDL;

“最终,我们在203个端口之上发现了229364个TLS流,其中443端口是目前恶意TLS流量使用最普遍的端口。尽管恶意程序端口使用情况多种多样,但这样的情况并不多见。”

msn 特征字符串包括msg、nln、out、qng、ver、msnp;

u赢电竞手机版 3

OICQ特征字符串开头第一个字节:0x02,第四、五字节:协议号;

不仅如此,据说他们还能就这些恶意流量,基于流量特性将之分类到不同的恶意程序家族中。“我们最后还要展示,在仅有这些网络数据的情况下,进行恶意程序家族归类。每个恶意程序家族都有其独特的标签,那么这个问题也就转化为不同类别的分类问题。”

sip特征字符串REGISTER、INVITE、ACK、BYE、CANCEL、SIP;

“即便使用相同TLS参数,我们依然就够辨认和比较准确地进行分类,因为其流量模式相较其他流量的特性,还是存在区别的。我们甚至还能识别恶意程序更为细致的家族分类,当然仅通过网络数据就看不出来了。”

eMule特征字符串开头第一个字节:0xe3 或 0xc5 或 0xd4;

实际上,研究人员自己写了一款软件工具,从实时流量或者是抓取到的数据包文件中,将所有的数据输出为比较方便的JSON格式,提取出前面所说的数据特性。包括流量元数据(进出的字节,进出的包,网络端口号,持续时间)、包长度与到达间隔时间顺序(Sequence of Packet Lengths and Times)、字节分布(byte distribution)、TLS头信息。

应用流量协议特征检测方法

其实我们谈了这么多,还是很抽象,整个过程还是有些小复杂的。有兴趣的同学可以点击这里下载思科提供的完整报告。

数据流检测方法主要分为四个层次,让我们描述一下从最简单到最复杂的检测过程。

分析结果准确性还不错

本文由u赢电竞手机版发布于u赢电竞手机版,转载请注明出处:不解密数据竟也能识别TLS加密的恶意流量?u赢电竞

关键词: 安全 恶意代码 恶意程序 TLS加密 恶意流量