不解密数据竟也能识别TLS加密的恶意流量,应用流量识别的难度及对策

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

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

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

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

银河国际手机版最新 1

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

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

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

银河国际手机版最新 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;

银河国际手机版最新 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头信息。

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

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

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

分析结果准确性还不错

首先,互联网众所周知的网络应用都是建立在固定网络协议或端口上,如http、ftp等等常用协议,这些协议的特征非常明显,在一定程度上几乎不使用检测引擎就可识别。

思科自己认为,分析结果还是比较理想的,而且整个过程中还融合了其机器学习机制(他们自己称为机器学习classifiers,应该就是指对企业正常TLS流量与恶意流量进行分类的机制,甚至对恶意程序家族做分类),正好做这一机制的测试。据说,针对恶意程序家族归类,其准确性达到了90.3%。

银河国际手机版最新 4

“在针对单独、加密流量的识别中,我们在恶意程序家族归类的问题上,能够达到90.3%的准确率。在5分钟窗口全部加密流量分析中,我们的准确率为93.2%(make
use of all encrypted flows within a 5-minute window)。”

其次,但当应用变得复杂时,很多应用都会启用随机端口进行通信,因此,新启用的端口我们事先无法预知,此时DPI必须实时监控会话,通过监测数以千计的并发会话来判断其应用特征。

【编辑推荐】

很多新的网络应用伪装使用已知的固定端口,如使用80、8080、443等知名端口,特别像使用80端口的伪装,伪装的目的首先是被防火墙认可,不至于在防火墙上被阻断,被作为正常的web访问而通行。这种应用如P2P伪装、视频伪装,都使用这些知名端口。此时设备需要在多个会话中开始寻找所谓的签名,通常这是一个复杂的字符串,是检测引擎预先定义好的,而且是唯一一个应用。随着应用的增加,DPI特征库需要不断更新。如下图迅雷采用伪IE下载就属于典型的伪装。

银河国际手机版最新 5

第三,对于完全加密的应用,我们称为加密流,对于加密数据流,去寻求一个端口或签名是毫无意义的。因此,检测引擎需要开发出一种新方法,着眼于数据包长度和它们的顺序排序。而实际上,其中的一些加密应用总是使用同一系列的包长度、在同一位置、在同一顺序,这就是所谓的行为特征。通常,检测引擎能够这些加密流进行行为分析,而实际上,这里存在两个难度,一个是加密流特征字符串的获取本身需要扎实的独特的算法,另外,单单对于位置的检测还远远不够,如加密传输的应用协议的加密方法几乎每周都在变换位置,而天融信TopFlow独特的算法不但能对加密数据流的位置进行检查,而且能对加密数据流进行解密,这使得他对应用的识别率可高达99%以上。

银河国际手机版最新 6

如何评价应用识别引擎:

应用识别引擎是应用流量管理系统的核心,所以下面五点则能较好的评价产品。

第一、应用程序的识别数量多少,特别对复杂协议及新协议的识别数量成为产品的核心,而不是单单用端口号来标识的简单应用或标准应用。

第二、应用协议识别的准确性。一个好的引擎或好的算法才能保证低的误报和漏报。

第三、应用检测的时间消耗。一个好的引擎能够花费很少的时间即可检查出特征。

第四、对高性能和高带宽处理。一个好的引擎才能部署到大的网络环境中,如高校、大集团用户、运营商网络。

第五、协议库更新的频率及协议库库更新的难易程度。一个好的引擎才能保证协议库的更新有验证、计算、校对,使系统不断网、不重启,即使出现升级失败,也能保证原有特征库不被损坏,正常运行。

天融信TopFlow应用流量管理系统通过天融信公司近17年的技术积累,对多达数万用户应用的分析、归纳,并在天融信自主操作系统TOS基础上开发的基于用户应用分析及管控的系统。TopFlow依靠自主知识产权的
TOS (Topsec Operating System)
安全操作系统,采用全模块化设计,使用中间层理念,减少系统对硬件的依赖性,使得内核更为精简和优化,特别在天融信多核处理硬件平台上,通过大量的协议栈优化,针对高性能处理需求进行了中断处理和驱动优化,保证系统在天融信专有多核处理平台上,数据以最快速度执行、以较高优先级运行、以超高速放行。

银河国际手机版最新 7

通过完善的应用协议特征库检测和伪装探测技术,并采用(DPI)深度包检测技术来识别各种用户应用,应用识别率超过99%。特别对采用逃避技术的加密协议进行精准识别,如采用加密传输的迅雷协议族、QVOD视频等等加密类协议进行及时而精准识别,这是其他产品技术所不能比拟的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注