结合多特征识别的恶意加密流量检测方法

2021-04-08 03:25:28李慧慧张士庚王伟平
信息安全学报 2021年2期
关键词:会话套件服务器端

李慧慧,张士庚,2,宋 虹,王伟平

1中南大学计算机学院 长沙 中国 410083

2中国科学院信息工程研究所信息安全国家重点实验室 北京 中国 100093

1 引言

随着网络技术的快速发展,互联网已经在军事,经济,教育,生活等各个领域都广泛应用。然而,在互联网给我们的生活带来各种便利的同时,也带来了各种安全问题,各种计算机病毒,蠕虫等恶意软件的数量和种类也在快速增多,为互联网用户的安全带来了巨大挑战。

为了保护传输的数据,加密传输已经成为现有广泛应用的方式。Cisco的调查[1]显示,仅 2016—2017年,加密流量就增多了 90%以上,超过 50%以上的流量都是加密流量。采用加密传输有益于保护普通用户的隐私,然而这也给了恶意应用开发者可乘之机,他们开始大量使用加密流量来逃避检测。Cisco预测到2020年,将有70%的恶意软件将使用某种类型的加密来隐藏恶意软件的传递、远程控制以及数据泄露等恶意行为。其中最常用的加密方式是使用TLS协议加密。因此,如何检测恶意TLS加密流量已成为恶意软件检测识别中的一个重要研究热点。

已有针对明文HTTP流量的恶意流量检测方法,如基于签名的方法[2-4]和基于语义特征的方法[5-6],分析了恶意流量在 HTTP请求头部的签名信息和分割单词的语义特征,发现恶意流量并对恶意流量进行分类。由于加密流量信息对于传输内容进行加密,因此,语义特征信息无法从流量中获取,因此,这些方法无法在加密流量的恶意性检测中应用。越来越多的加密流量恶意性检测采用数据包大小、方向、时间间隔等统计特征对流量进行分类[7-10],还有一些研究[11-17]利用 TLS握手阶段的可用特征,包括握手消息类型、加密套件、扩展、公钥长度、SSL/TLS版本号、加密方法等,作为识别恶意流量的特征参量;另外文献[18]主要考虑了TLS协议中的证书,采用证书内容来识别正常流量和加密流量; 随着深度学习研究的发展,也有一些研究直接采用了深度学习方法[19-20],将原始流量数据直接输入深度学习网络进行恶意流量识别。这些方法在恶意流量检测方面都获得了一些良好结果,但也存在一些不足,主要体现在: (1)基于证书的方法对无证书传递的加密会话恶意性检测无效,因为大多数加密会话可采用 TLS会话复用方式传递; (2)深度学习方法虽然无需复杂的特征提取工程,但缺乏可解释性,而且需要大量的训练数据; (3)基于签名的方法和特征的方法大多需要分析流量内容中的信息,而且只考虑流量某一方面的特征,并未结合加密流量的特殊性以及加密协议的发展变化。

因此,本文提出了一种结合多特征识别的恶意加密流量检测方法 RMETD-MF(Robust Malicious Encrypted Traffic Detection based with Multiple Features),尝试在不对加密流量做解密的情况下实现恶意检测,并能识别不同网络场景中新的恶意加密流量。本文的主要贡献如下:

(1) 通过监控网络流量,分析了恶意流量和正常流量的区别,提取了其中能明显区别正常流量和恶意流量的69个特征,包括会话元数据特征、包长序列统计特征、TLS握手特征、证书特征和域名特征,用于恶意流量的识别和检测;

(2) 提出了结合多特征识别的恶意加密会话检测方法 RMETD-MF,利用上述明显区别正常流量和恶意流量的 69个特征,构建了863维特征向量,实现加密会话的快速准确的分类。在收集的校园网数据集、企业数据集及学术数据集上进行十折交叉验证获得99.9%以上的分类准确度效果。

(3) 分析了RMETD-MF方法在不同时间流量数据的检测效果以及不同数据集下分类的效果,验证了方法的稳定性和分类的准确度。

论文的剩余部分组织如下,第 2节分析了恶意加密流量和正常加密流量的特征比较; 第 3节阐述了RMETD-MF方法的基本思想和详细设计; 第4节分析了方法在数据集上的性能测试和评估,给出了我们所使用的数据集以及在这些数据集上进行的实验; 第5节给出了总结和下一步工作。

2 流量分析

通过对恶意加密流量和正常加密流量的深入分析,可观察获得用于区分恶意流量与正常流量的显著特征。并选择其中比较稳定的、不易受时间和场景影响的特征作为后续 RMETD-MF方法中使用的分类特征。

2.1 相关定义

定义1: 一对通信结点交互产生的单向数据包集合称为流(Flow),第i对通信节点之间的流Flowi定义为集合{SrcIP,DstIP,SrcPort,DstPort,TP},其中,SrcIP为该流中的源IP地址、DstIP是目的IP地址、SrcPort为源端口号、DstPort为目的端口号、TP表示通信节点间的传输层协议。

定义2: 一对通信结点交互产生的双向网络包集合定义为会话(Session),会话是源和目的可互换的双向流。一个会话为客户端与服务器的从建立连接到完成数据传输的完整过程。网络通信环境中,多个用户通过建立多个连接发送和接收数据包,因此会话是流量分析和检测的最小单位。

定义 3: 包长/时间序列 S={P1,P2,…,Pn}为一个会话中数据包大小或数据包之间的时间间隔组成的序列。序列中的每个值Pi{i∈[1,n]}代表第i个数据包的大小或者第i个数据包与其之前的第(i-1)个数据包之间的时间间隔,排列顺序和会话中数据包的传输顺序一致。

2.2 TLS协议分析

TLS协议是加密流量传输中常用的协议,它主要分为握手阶段和加密通信阶段,TLS握手过程如图1所示,完整的TLS握手过程如图1(a)所示,会话复用时握手过程如图1(b)所示。

如图 1(a),一个完整的握手过程首先由客户端向服务器端发送Client Hello消息,服务器接收到该消息后,将返回Server Hello消息,同时传递服务器的证书、服务器的密钥交换信息,并携带客户端的证书请求; 在客户端接收到服务器端的Server Hello消息后,保存服务器端密钥交换信息,并将自己的证书及验证信息、密钥交换信息和Change Cipher Spec消息发送给服务器端; 服务器端接收到信息后,发送Change Cipher Spec消息给客户端,由此建立了客户端和服务器端的加密通信链路。

而在会话复用阶段(图 1(b)),客户端和服务器端之间握手同样也是从 Client Hello开始,以 Change Cipher Spec结束为止。

图1 TLS握手过程Figure 1 The process of TLS handshake

握手阶段消息为明文信息,加密通信阶段为加密后的密文信息。在不对流量解密的情况下,TLS加密会话中可观察到的为握手阶段传输的包的内容,以及无论数据包是否加密都可得到的数据包的长度,时间,方向等传输层及以下各层的头部信息。握手阶段客户端会请求及验证服务器端证书,可通过解析证书得到证书信息。加密会话的URL被加密,但其Client Hello消息中的Server Name Indication扩展中指明了要访问的服务器域名,服务器证书中也会显示服务器的公用名。由于域名和证书对分类结果的影响明显,因此虽然这两个特征也是在 TLS握手阶段得到的,在特征向量中,域名和证书作为单独特征向量进行考虑。

2.3 流量特征分析

大多数的恶意软件并不是从零开始编写的新型恶意软件,而是通过对已有的恶意软件进行代码复用和修改而生成的变体。同一恶意软件的不同变体在代码和行为上都较为相似,通常将这样功能、行为类似的恶意软件归为同一个恶意家族。同一个恶意家族的软件通常会调用相同或相似的函数,执行类似的行为,包括系统行为和网络行为。

2.3.1 会话的统计特征分析

为了获得恶意加密会话与正常加密会话的特征区别,我们分别统计了15个恶意家族的数据包和正常加密流量数据包的信息。由于同一恶意家族的加密会话存在一定的相似性,导致根据加密会话提取的统计特征在同一家族的加密会话中也十分相似。分析发现:

(1) 包数量的特征

从数据包的数量上看,恶意加密流量和正常加密流量区别明显。绝大多数恶意家族的有效载荷发送数据包为3~5个; 除了恶意家族Trojan.MSIL.Disfa的约80%的加密会话接收了10~30个有有效载荷的数据包之外,大部分恶意家族的接收数据包数量为3~5个。而正常加密流量数据包的个数变化范围较大,从3个到几千个,大部分正常加密数据包个数为几十个。

(2) 包长序列的特征

恶意家族的包长序列具有一定的相似性,如trojan.win32.zbot家族的加密会大部分都链接到网站infoplusplus.com 或 ax100.net网站,其中,链接到infoplusplus.com的会话包长序列为{403,105,51,176,508},而链接到 ax100.net网站的包长序列为{396,105,51,170,509}。正常加密会话的包长序列是变化的,并没有固定的长度。

(3) 会话持续时间的特征

观察恶意家族的加密会话持续时间,可以发现除几个恶意家族的会话持续时间较长(如HEUR:Trojan.Win32.StartPage的大部分加密会话持续时间超过1min,最长为177s),其他多数恶意家族约在20s内完成加密会话。而正常的加密会话没有此特征。

(4) 数据包顺序与大小特征

恶意家族的发送/接收数据包的顺序与大小较为相似。如恶意家族Trojan.Win32.SelfDel的26836个加密会话仅有 123种不同的数据包序列,恶意家族Trojan-Spy.Win32.Zbot的 16758个加密会话中仅有219种不同的数据包序列。而且,同一恶意家族的会话的不同数据包序列可能具有相同的数据包子序列,会话的前几个数据包序列是相同的。

2.3.2 TLS协议特征分析

建立TLS连接的第一步是客户端向服务器端发送明文Client Hello消息,并将自己所支持的按优先级排列的加密套件信息和扩展列表发送给服务器端,这一消息的生成方式取决于构建客户端应用程序时所使用的软件包和方法。服务端反馈Server Hello消息,包含选择使用的加密套件、扩展列表和随机数等,这一消息基于服务器端所用库和配置以及 Client Hello消息中的详细信息创建。由于大部分恶意软件会复用同一个恶意软件的代码,因此许多恶意软件的Client Hello消息在一些特征上十分相似,如加密套件、扩展等。

(1) 加密套件使用的特征

恶意会话和正常会话的客户端加密套件列表如表1所示,其中加密套件列表中的数字是TLS为每个加密套件分配的唯一标识号。

表1 客户端加密套件列表所占比例Table 1 Proportion of the list of cipher suites provided by the client

由表1可知,恶意流量的129种加密套件列表中,67.85%采用了加密套件列表{47,53,5,10,49171,49172,49161,49162,50,56,19,4}; 19.09%的加密会话使用的是{49196,49195,49200,49199,159,158,49188,49187,49192,49191,49162,49161,49172,49171,57,51,157,156,61,60,53,47,10,106,64,56,50,19}。95%的恶意加密会话使用相同的7个加密套件列表。正常流量中共 266种不同的加密套件列表,分布较为分散,其中使用较多的加密套件列表为: 18.21%的加密会话使用的加密套件列表为{49195,49199,49162,49161,49171,49172,51,57,47,53,10}; 12.71%的加密会话使用的加密套件列表为{52393,52392,52244,52243,49195,49199,49196,49200,49161,49171,49162,49172,156,157,47,53,10}; 恶意会话中使用最高的加密套件列表在正常会话中所占的比例仅为2.20%和1.14%。可见恶意流量和正常流量在加密套件的使用上有明显区别。

客户端所用的单个加密套件占比例高的情况统计如图2所示,纵坐标为占总数的比例。从图2中可以看出加密套件4、5、19、50、56在恶意流量中的使用明显多于正常流量中的使用。而这些加密套件被认为是比较弱的加密套件,安全性不足,在正常的软件中不被推荐使用。客户端所用加密套件个数如图3所示,服务器端所选加密套件如图4所示。由图可以看出,恶意会话中客户端集中使用12个和28个加密套件,服务器端选择最多的加密套件是49200,47,49122; 而正常会话中,客户端多使用17,14,11个加密套件,服务器端选择最多的是49199,49200,47,49122。

图2 客户端加密套件比较Figure 2 Comparison of client cipher suites

图3 客户端加密套件个数比较Figure 3 Comparison of the number of client cipher suites

图4 服务器端加密套件比较Figure 4 Comparison of Server cipher suites

(2) 扩展加密套件使用的特征

扩展加密套件显示了支持协议、算法相关参数以及其他辅助信息,正常会话和恶意会话在客户端及服务器端使用的情况如图5~8所示。

图5 客户端扩展比较Figure 5 Comparison of client extensions

图6 客户端扩展数目比较Figure 6 Comparison of the number of client extensions

图7 服务器端扩展比较Figure 7 Comparison of server expansions

图8 服务器端扩展数目比较Figure 8 Comparison of the number of server extensions

由图可知,正常加密会话客户端常用的扩展种类较多,恶意会话客户端最多使用的扩展标识号为10,11,0,65281,5。恶意加密会话客户端所使用的扩展数目多为 5个,而正常会话的客户端扩展数目较为多样。正常会话与恶意会话在服务器端所用扩展最多的均为 65281,数目最多的均为 1,但是分布情况存在一定的差异。

2.3.3 服务器证书特征

服务器证书是TLS协议中用来对服务器身份进行验证的文件。由于会话复用的广泛使用,36%的正常会话没有传输证书,而 88%的恶意会话没有传输证书。常见的CA证书是指由受信任的CA机构颁发的证书,申请时会对域名所有权和企业相关信息进行验证,安全级别较高,受各大浏览器的信任,需要付费。而自签名证书不需要付费,任何人都可以签发,其issuer与subject相同。

在传输了证书的加密会话中,3.34%的恶意会话证书版本为1,而正常会话中基本都是版本3。恶意证书与正常证书一个区别较大的特征是证书是否是自签名证书,大部分恶意软件为了方便会选择使用自签名证书。约48%的恶意加密会话为自签名证书,而正常会话中约 12%的会话采用自签名证书。一般情况下,证书的Common Name会填写证书的域名或子域名,但是自签名证书可以随意填写。85%的正常会话所用证书中的 Common Name为域名,62%为.com 域名,而恶意会话中只有 53%为域名,30%为.com域名。

图9(a)~(d)显示了恶意会话与正常会话在证书的使用上的区别。由图9可知,正常会话的证书链的长度常为2,3,而恶意会话中证书链长度最常为1,这是因为恶意会话的证书常为自签名。恶意会话所用证书的有效时间最多的是 2~3年,也存在很多超过十年的有效时间的恶意会话,这是因为自签名证书支持超长有效期,而正常会话所用证书的有效时间多分布在 0~4年间。正常会话的证书的 Subject Alt Names数目有接近40%的比例是大于100个的,恶意会话最多的为0~9个,以接近40%的比例。恶意会话中证书扩展数目最多的为3、10、9、0,而正常会话中最多的为9、10、8、3、2。

图9 恶意会话与正常会话证书对比Figure 9 Comparison of certificates for malicious sessions and normal sessions

2.3.4 服务器域名特征

Client Hello中的Server Name Indication扩展用于指示客户端请求的服务器域名,防止一个 IP连接多个服务器而造成错误。当Client Hello中无域名指示时,则取证书中的Common Name作为服务器域名。

所分析的202559个恶意加密会话中,有约2.6%的会话既无Server Name又无Common Name,而正常加密会话中有约6.6%的会话既无Server Name又无Common Name; 恶意会话中域名较为分散,大多数为比较不常见的域名,而正常会话中域名多为常见域名。恶意会话域名在Alexa排名如图10所示,可以看出,恶意会话所用域名有 85%以上不在前一百万排名内,与之相反,正常会话中85%以上都位于前一百万排名内。

这是因为正常会话多连向一些常见的正常网站,而恶意会话多连向一些由域名生成算法生成的不常见的网站,则其域名排名较为靠后。

图10 恶意会话与正常会话域名排名对比Figure 10 Comparison of domain ranking of malicious sessions and normal sessions

3 RMETD-MF方法

通过分析,RMETD-MF方法的基本思想是通过监控和捕获网络加密流量,提取流量中的区别比较明显的会话统计特征和TLS协议相关特征,构建863位特征向量,训练机器学习分类模型,并利用该训练模型对其他加密流量进行检测,识别其是否是恶意流量。整体检测流程如图11所示。

如图 11所示,整个测试流程包括流量捕获、流量预处理、特征提取以及模型训练等四个部分。流量捕获部分主要是采用工具wireshark、tcpdump等抓包工具来完成采集,为了得到训练阶段加密的恶意流量及正常流量,流量捕获阶段将在沙箱中运行恶意软件和正常软件生成流量数据; 流量预处理阶段主要完成对流量的清洗,过滤未加密流量和不完整的会话,生成可用于流量检测的会话信息; 特征提取阶段主要是根据需求,提取相关会话的统计特征和系欸特征信息,形成训练的 863位特征向量; 而模型训练阶段主要是构建恶意加密流量分析的模型。

图11 整体检测流程图Figure 11 The overall detection process

3.1 流量捕获

为了获得训练用的纯净加密流量和检测阶段的实时流量数据,构建了如图 12所示的流量捕获模型。

图12中,正常流量的获取通过在监控计算机上运行wireshark等工具捕获访问正常加密网站或运行正常软件产生的流量来获得,或者通过监控较为干净的网络环境流量来获得,并通过白名单过滤获得白名单中的会话作为正常流量。

恶意流量的获取采用沙箱方式,在沙箱中运行恶意软件,保存其运行期间产生的流量,然后过滤掉沙箱间通信流量及系统白流量,将剩余的流量作为恶意流量。

3.2 流量预处理

为了提取出可用于加密流量恶意检测的会话,对加密流量进行预处理:

(1) 过滤未加密的流量,保留使用SSL/TLS协议的流量;

(2) 过滤会话,从混杂的包中提取会话,过滤未完成完整握手过程和未传输加密数据的会话。通过观察会话中是否有Client Hello消息和Change Cipher Spec消息,来判断握手是否完成; 通过观察会话中是否有Application Data消息,来判断会话是否传输了加密数据。

(3) 过滤重传包、确认包及传输丢失的坏包,以避免对分类造成影响。

3.3 特征提取

提取每个加密会话有关流量的统计特征、SSL/TLS握手特征、证书特征和域名特征,形成特征向量,作为恶意流量识别的输入。

3.3.1 会话的统计特征提取

(1) 元数据特征

元数据特征是指会话的一般信息,包括客户端向服务器端发送的包数、服务器端向客户端发送的包数、客户端向服务器端发送的字节数、服务器端向客户端发送的字节数、会话持续时间、平均每个发送包的字节数以及平均每个接收包的字节数,形成7维的特征向量。

(2) 包长与时间序列特征

会话中最大传输单位为1500字节,将获取的会话中数据包长度分段统计,10个分段的范围分别是[0,1 5 0),[15 0 ,300),…,[13 5 0,+∞ ) ,构建每个数据包有效载荷的长度及相邻包之间的转换关系矩阵,采用 10*10的马尔可夫状态转移概率矩阵,并按行拼接维100维特征向量。

构建相邻数据包的时间间隔序列特征,将时间间隔分为十个分段[0,50ms],[50ms,100ms],…,[450ms,+∞],根据相邻包之间的时间间隔所在的区间及转换关系构建 10*10的马尔可夫转换矩阵,将其也按行拼接作为100维的特征向量。

(3) 包长与时间分布特征

包长分布: 将包长分为150个不同的范围(0,10),(10,20),…,(1490,+∞),根据每个包的长度计算每个包长区间分布的包数,作为150维的特征。

时间分布: 将时间间隔分为 100个不同的范围(0,0.005),(0.005,0.01),…,(0.45,+∞),根据每个包与前一个包的时间间隔计算每个时间间隔区间分布的包数,作为100维的特征向量。

(4) 包长与时间统计特征

分别计算包长序列和时间序列的统计特征: 个数,最小值,最小元素位置,25%分数,中位数,75%分数,均值,最大值,最大元素位置,平均绝对方差,方差,标准差,形成24维的特征向量。

3.3.2 TLS握手特征提取

提取Client Hello中的加密套件列表信息和扩展信息,结合Server Hello中的加密套件信息和扩展信息,构建握手特征的向量。

(1) 客户端tls特征

观察发现客户端使用的加密套件共 260种,因此,设置260维向量,根据客户端提供的加密套件列表,在对应的向量位上置1或0,即若加密套件被使用,置为 1,否则为 0; 计算加密套件列表中加密套件的个数,也作为一维特征向量输入。

同时,对客户端支持的扩展列表构建43维向量,对应所使用的 43个扩展加密套件; 计算扩展个数,作为一维特征向量输入。

(2) 服务器端tls特征

将服务器端所选择的加密套件作为一维特征向量输入,同时服务器端支持的扩展列表构建成43维特征向量,而扩展个数也是1维特征向量。

3.3.3 证书特征提取

提取服务器证书的特征构建特征向量,包括自签名属性、证书链长度、有效时间、平均长度、别名数量、扩展数目、证书版本、证书序列号、证书主体、证书颁发者、证书的Subject和Issuer特征等共23个,形成23维的特征向量,如表2所示。

表2 证书特征列表Table 2 List of certificate features

3.3.4 域名特征

提取以下两个域名特征作为特征输入:

(1) 域名特征

根据DGA生成算法可能导致恶意网站的域名与正常网站的字母数字等上的区别,提取有关域名的特征,包括域名中字母符号数目占所有字符的比例、数字符号数目占所有字符的比例以及非字母数字符号数目占所有字符的比例。

(2) 排名特征

根据域名在Alexa前100万列表中的排名,构建一个长度为6的向量,根据其是否在top100,top1000,top1w,top10w,top100w,not-in列表中来进行向量设置,在则将该位置为 1,如果都不在就置为 0,若不在前100w列表就置not-in位为1。

3.4 模型训练与测试

采用机器学习的方法对输入的特征向量进行二分类,训练出分类模型,并在测试阶段使用训练好的模型进行流量检测,输出正常或恶意加密流量的分类检测结果。

4 实验评估

4.1 数据集

4.1.1 正常数据集

通过流量捕获模型,共采集了三个来源的正常数据集:

(1) 校园网数据集: 分三个时间段采集的校园网内部数据,分别是: ①2017年12月20日至2018年04月13日; ②2019年03月18日至2019年03月21日以及; ③2019年11月08日至2019年11月16日的数据,此数据集记为Campus_normal。

(2) 企业数据集: 采集从2019年8月1日到2019年8月21日共三周的企业网络数据。并将此数据集标记为Enterprise_normal。

(3) 学术数据集: 包括①2017年4月到2017年5月期间,从网站 https://www.stratosphereips.org/datasets-normal下载的正常数据集,标记为CTU_normal; ②2016年9月14日到2016年9月26日使用 Google浏览器和 Chrome浏览器访问网站http://betternet.lhs.inria.fr/datasets/https/index.html而下载的数据集,标记为Browser_normal。

流量预处理后,得到正常数据集,如表3所示。

4.1.2 恶意数据集

恶意数据集于2019年5月到2019年8月通过企业沙箱运行已知恶意软件而获得。每个恶意软件在沙箱中运行三分钟,去除系统流量及沙箱通信流量等噪声,获得原始数据; 对原始数据进行预处理后获得恶意数据集,记为Malware,如表4所示。

表3 正常流量数据集Table 3 Normal traffic dataset

表4 恶意流量数据集Table 4 Malicious traffic dataset

4.2 评价指标

定义准确率等六个指标来估计方法的分类效果:

4.3 十折交叉验证

为了评估RMETD-MF方法的有效性,首先进行十折交叉验证实验。所用的正常数据集为分别从三个正常数据集中选取时间上靠前的一部分加密会话混合构成,其中从校园网数据集中选取 96277个加密会话,从企业数据集中选取 252467个加密会话,从学术数据集中选取120724个加密会话,共469468个加密会话; 所用的恶意数据集为5月到7月在沙箱中运行的恶意软件产生的加密流量,共149374个加密会话。

分别采用随机森林、逻辑回归、决策树等四种机器学习算法进行十折交叉验证,结果如表5所示。

表5 不同的机器学习分类算法实验结果Table 5 Experimental results of different machine learning classification algorithms

由表5可知,各种机器学习算法都能达到86.89%以上的识别准确率,这说明RMETD-MF方法能够有效识别恶意加密会话和正常加密会话。其中,分类效果最好的机器学习算法为随机森林,因此后续实验评估选取了随机森林算法来完成。

为了分析不同特征组合对检测结果的影响,我们使用上述实验的数据集分别测试了仅统计特征、仅握手特征、仅证书特征、仅域名特征和结合多特征识别的方法十折交叉验证结果,如表6所示。

表6 不同的特征组合十折交叉验证结果Table 6 Ten-fold cross-validation results of different feature combinations

从表6中可以看出,使用全部特征时,恶意会话检测效果最好,准确率达到 99.97%,查准率达到99.96%,召回率达到99.91%,F1值达到99.94%。同时可以看出统计特征和握手特征的分类效果最好,而仅证书特征时的分类效果最差。

文献[11]也采用了基于多种特征组合的方法,但与 RMETD-MF方法不同的是,文献[11]未考虑会话中包大小和间隔时间的分布特征、域名特征、部分证书特征以及服务器端TLS的相关特征,且文献[11]采用的是L1逻辑回归算法。分别使用两种方法对不同场景下的正常数据集和恶意数据集进行十折交叉验证准确率结果如表7所示,可知,两种方法都能获得 99.5%以上的准确率,当混合所有正常数据集时,RMETD-MF方法仍能保持99.96%的准确性,这说明RMETD-MF方法与文献[11]方法的识别效果相当。

表7 两种方法在不同数据集上交叉验证结果Table 7 Cross-validation results of two methods on different datasets

4.4 鲁棒性测试

鲁棒性是方法实际应用的前提,为了验证方法的鲁棒性,设计了时间变化和场景变化对评价指标的影响。

(1) 时间变化测试

我们根据时间顺序将正常数据集和恶意数据集划为训练集和测试集。选取2019年5月~2019年7月中旬的恶意流量、2017年12月~2018年2月的校园网流量及2019年8月前两周的企业流量数据作为训练集; 选取2019年7月下旬~2019年8月的恶意流量、2019年3月和2019年11月的校园网流量、以及企业2019年8月第三周数据作为测试集。

第一组实验将校园网训练集与恶意流量训练集组合进行训练,验证在恶意流量测试集和校园网测试集上的效果,记为时间测试 1; 第二组实验将企业训练集与恶意流量训练集组合进行训练,验证在恶意流量测试集和企业测试集上的结果,记为时间测试 2; 第三组实验选取多个正常场景下(校园网,企业,浏览器)时间靠前的流量和恶意训练集组合作为训练集,验证相应场景下时间靠后的流量上的结果,记为时间测试3。测试结果如表8所示。

从表8的实验结果可以看出,随着时间的推移,RMETD-MF方法与文献[11]相比可保持更好的分类效果,分类准确率均可达到 98%以上。也可以看出,RMETD-MF方法在包含多种不同场景的数据集时,仍可以保持99.9%的检测准确性,且误报率和漏报率比文献[11]更低。

表8 时间变化的测试结果Table 8 Model test results over time

(2) 场景变化测试

为了测试 RMETD-MF方法得到模型的适用范围,我们测试了不同场景下的准确率、误报率、F1-score值等表征有效性的指标。第一组实验测试选取 70%的校园网正常数据集与 70%的恶意数据集进行训练,验证在企业正常数据集与 30%恶意数据集上的检测效果,记为跨场景测试 1; 第二组实验选取70%的企业正常数据集和 70%的恶意数据集进行训 练,测试在校园网数据集与剩余的 30%的恶意数据 集上的检测效果,记为跨场景测试 2; 由于数据集不 相交,为了降低误报率,从测试数据集中随机划分10%的正常数据集作为训练集的补充,分别测试了 随着补充的会话数增加对准确率等指标的影响,结 果如表9、图13和图14所示。

表9 跨场景稳定性测试Table 9 Cross-scenario stability test

从表9可以看出,当不补充会话数时,即使用完全不同的数据集进行训练和测试时,检测的精度会下降很多,特别是误报率很高,这是由于不同场景下的正常流量特征相差较大而造成的。由图 13和图 14可以看出,随着测试场景下收集的会话数补充入训练集,检测精度提高,误报率降低,整体性能提升。结合表9数据,当补充了2000个会话时,在跨场景测试 1中,RMETD-MF方法的召回率即可达到 98%以上,跨场景测试 2中,召回率可达到 99.4%以上,而文献[11]的方法召回率仅提升到 78.4%和 92.1%; 只有在补充了35000个会话后,第一种跨场景测试的召回率才达到93.1%,第二种跨场景测试在补充了20000个会话后,召回率才达到 96.6%以上,这是因为RMETD-MF方法考虑了会话中包顺序和大小分布特征及统计特征,并加入了服务器 TLS协议特征,因此,在补充少量会话包后,能提取相关时间推移和场景变化的特征,从而快速提高识别准确性。这也说明RMETD-MF方法在对场景变化情况下的鲁棒性要比文献[11]好。

图13 跨场景测试1改进测试Figure 13 Improved test results for cross-scenario test 1

图14 跨场景测试2改进测试Figure 14 Improved test results for cross-scenario test 2

5 总结

本文提出了一种在不对加密流量做解密的情况下结合多种特征识别的恶意流量检测的方法RMETD-MF。首先通过分析大量的正常和恶意加密流量,从中提取出具有区分度的统计特征、TLS握手特征、证书特征和域名特征。然后使用随机森林对其进行训练,利用训练的模型来对恶意流量进行检测。十折交叉验证结果表明,RMETD-MF方法可达到 97.7%以上的分类准确性及 99.8%以上的识别效果。同时,通过时间变化的实验和场景变化的测试实验,可以看出 RMETD-MF方法与文献[11]的方法相比,具有更好的鲁棒性,并在付出较少的代价(补充较少的会话信息)情况下,能应对流量的时间变化,能识别不同场景下的恶意流量。

由于目前仍然是使用TLS1.2协议作为流量加密的传输协议,因此,本研究是基于 TLS1.2的分析与测试,随着 TLS1.3标准的推出与推广,后续需要加强针对TLS1.3协议的加密流量检测方法研究。

致 谢感谢国家自然科学基金项目(No.61772559、No.61672543)、中南大学研究生科研创新项目(No.1053320183917)的资助。

猜你喜欢
会话套件服务器端
基于维修费用的关键部套件分析
“龙吟套件”创作感悟
山东陶瓷(2020年5期)2020-03-19 01:35:36
浅析异步通信层的架构在ASP.NET 程序中的应用
成功(2018年10期)2018-03-26 02:56:14
有意冒犯性言语的会话含义分析
汉语教材中的会话结构特征及其语用功能呈现——基于85个会话片段的个案研究
工业照明超频三天棚灯套件改造工程
中国照明(2016年5期)2016-06-15 20:30:13
在Windows中安装OpenVPN
CSRmesh开发套件加速物联网产品开发
冲突语的会话分析研究
对外汉语课堂英语通用语的会话调整功能