加密恶意流量检测研究
2022-01-07闫楚玉高嵩峰王宝会
闫楚玉,高嵩峰,王宝会
(1.河南财经政法大学,河南 郑州 450016;2.北京航空航天大学软件学院,北京 100000)
0 引言
在互联网技术日益发达的今天,准确有效地识别网络流量对网络管理、网络服务质量保证和网络安全具有重要意义。随着加密技术的发展,互联网上加密流量的数量和比例不断增加。根据谷歌在2020年发布的透明度报告,已经有80%以上的网络数据在传输过程中使用了加密技术。然而,有优点也有缺点。许多网络犯罪分子对加密技术也非常熟悉,越来越多的网络攻击和信息盗窃也隐藏在加密流量的背后,这对加密网络流量的发展提出了巨大的挑战。在加密流量面前,以往基于深度包检测和机器学习的预处理准确率大大降低。流量加密后原有的特征发生了改变,传统的端到端检测方法在加密流量检测时失灵。如何在加密流量中准确有效的识别出恶意流量,已经成为网络安全领域急需解决的问题。
目前已经有许多文献对加密流量检测进行了研究。文献[1]讨论了网络加密流量识别的基本概念、研究进展、评价指标和存在的问题。[2]文献讨论了加密流量中的恶意流量识别技术。[3]文献对基于深度学习的加密流量分类技术进行了梳理。
由于加密流量的随机性和样本的不均匀分布,原有的端到端机器学习方法失效。目前,加密恶意流量的研究难点主要集中在以下三个方面:(1)如何收集和处理数据集;(2)如何从样本中提取有用的特征;(3)如何选择合理的选择分类模型。本文主要从以上三点进行研究。
1 数据收集
目前,有关于恶意加密流量检测的研究缺少高质量的数据集,而机器学习的准确性往往依赖于海量带标签的数据集。
为解决数据集规模问题,文献[4]利用Scapy工具产生业务流量和异常流量。来解决样本不均问题。
文献[5]从网络公开渠道选取的未加密流量,使用不同的加密算法和密钥长度对相同的原始恶意样本进行加密;而对于一个正常样本,只选择一种加密算法一种密钥长度进行加密,以增加数据集中恶意样本的比例。具体流程如图1所示。
文献[3]总结了常见的数据集来源包括:
图1 非加密流量数据加工流程图
(1)开源数据集:ISCX2012数据集是目前被广泛使用的入侵检测数据集,包含正常流量(SSH)和四种攻击流量(DDOS、Http、Dos、in -filtering、Brute Force)。攻击形式与实际情况比较接近。攻击流量占比为2.8%左右,与实际情况的统计结果基本一致。Unsw-nb15是由澳大利亚中心网络范围实验室的IXIAPerfectStorm工具生成的。这个数据集由100GB的原始网络流量组成。数据集的训练部分包含175341条记录,而测试集包含82332条记录。训练集和测试集由攻击类型和正常记录组成,涉及包括Backdoors、DoS、Exploits在内的9种攻击类型。
(2)直接收集法:利用Wireshark等抓包工具捕获真实的网络流量,用于验证模型的正确性。
(3)脚本生成法:模拟攻击流量常利用脚本和虚拟网络生成,如模拟APT攻击、IOT攻击、内网渗透等攻击流量。
(4)混合生成法:混合生成方法通常利用开放源码数据集或将开放源码数据集与个人通过实验捕获的数据集结合起来。文献[5]即使用这种方法来收集数据集。
2 特征提取
(1)随机性特征。目前,在加密流量的分类方法中基于负载随机性的检测仍然是非常重要的检测方法。基于网络行为可能导致流量熵值相应的突变,文献[4],使用源IP地址、目的地IP地址、源端口,端口号,源MAC地址,目的地MAC地址,六元组表示流,并提取每个元组中的匹配包数,传输字节数,活跃时间三项,作为特征,并计算三项的熵值制成相应的映射表。通过熵变的位置对流量进行实时监测。
文献[5]通过计算流量的卡方来反映统计样本的实际观测值与理论推断值之间的偏差程度。通过Renyi熵对加密后的流量进行区分。并提取卡方、Renyi熵、频数、游程、最大游程、傅里叶变换、非重叠匹配、序列化、累加和等12个特征。特征说明见表1。
表1 特征说明
然而,以上两篇文献只关注恶意流量与正常流量的区别,没有关注流量加密后的特性。
(2)分级提取特征。来自清华大学的HawkEye战队提出从数据包级、流级和主机级三个不同层次分别提提取行为特征,构建多个模型,来提高对黑白样本的识别能力。
3 模型选择
文献[4]采用随机计算机森林和Xgboost两种集成学习算法和MLP深度学习算法作为模型的分类算法。参见图2。随机森林类似于决策树,对于不平衡的分类数据集来说,它可以平衡误差。这种模型最高的测试精度为72.98%(由随机森林算法产生)。
图2 检测模型构成
文献[5]直接基于Renyi熵,通过比较熵值在一段时间内的变化来判断流量情况,并对攻击类型进行分类。例如,当有端口扫描行为发生时,由于攻击者开始扫描被攻击主机的目的端口,网络流量的目的端口号类型迅速增加,目的端口熵急剧增加。当蠕虫病毒在网络中传播时,攻击者根据特定目的端口号上存在的漏洞发动蠕虫病毒传播。这种情况下,特定目的端口的报文数增加,而其他端口的报文数相对较少。由于网络报文集中在一个特定的目的端口号上,所以目的端口号的熵值平稳下降。网络中用于蠕虫传播的病毒流量的源IP地址都是攻击者的IP地址。因此,源IP地址的熵也是稳定的。
当攻击者发起DDoS攻击时,网络流量集中在特定的目的端口号和目的IP地址上,目的端口号和目的IP地址的熵值急剧下降。该模型成本低、易于部署,且模型的准确性不依赖于数据集的质量,因此更适合于恶意流量检测。该模型存在的问题是,如果攻击者使用伪IP地址,则该方法失效。
文献[6]采用孪生经网络模型对加密流量进行分类,将分类问题转化为从相似性出发的检测问题。准确率为98.8%。但是,如果数据集中出现了与恶意流量完全不同的新的恶意流量,模型就会失败。对于随机性大的加密流量,不适合采用相似度检测。
目前基于密码学的恶意流量识别也有研究,主要研究体系如图3所示。其本质是在流量中搜索加密后的恶意关键词。也就是说,不需要对所有数据包进行解密,就可以在加密消息上搜索到恶意关键字。可搜索密码学包括对称可搜索密码学和公钥可搜索密码学。然而,对称可搜索系统由于密钥分发管理成本较高,在实际应用中并未得到广泛的应用。目前公钥可搜索加密被广泛应用于实际网络环境中。由于检测中间盒没有解密流量的秘钥,无法为检测方法提供保护,因此有必要将可搜索加密技术、深度包检测技术、流量审查机制和可证明安全模型进行综合设计应用于加密流量检测中。以便在保护用户数据隐私和检测规则的前提下,检索加密流量上的恶意关键字,识别恶意流量。目前,可搜索加密技术主要应用于数据库,以保证数据的保密性,实现密文数据的高效检索。可搜索加密系统不能直接应用于网络流量检测。加密流量检测工作在应用层或TCP或IP层,需要用户数据保护、加密规则保护、密钥管理和检索算法效率的深度集成。因为可搜索加密无法避免用户掌握检测规则后通过混淆来逃避检测。同时,加密检测的效率也限制了其在网络流量中的应用。
图3 基于密码学的恶意流量识别体系
4 结语
加密流量中恶意流量的识别一直是网络安全领域的热点和难点问题。经过总结,仍然存在以下问题:
基于机器学习的恶意流量识别的关键是数据集的正确性。目前,加密流量识别需要解决数据集的准确性和样本不均匀的问题。直接采集流量不能保证标签的准确性,脚本生成也不能很好地模拟真实的网络环境。加密流量还需要一个正确标记并对恶意流量进行详细分类的开源数据集。
由于加密的随机性导致加密流量的特征不突出,无法提取出有效的特征,这也是影响模型准确性的一个重要因素。如何在不解密的情况下从密文中提取出有效的信息是一个亟待解决的问题。
由于目前的加密流量无法提取出有效的特征,影响了模型的准确性。同时,如何保护检测规则也是加密流量检测中需要解决的问题。