论文部分内容阅读
随着信息化进程不断深入,大量设备、数据接入了互联网,给社会生活带来巨大便利的同时也引发了严峻的安全挑战。一方面,各类网络攻击层出不穷,大量数据泄露事件频现报端;另一方面,流量混淆工具的广泛使用使得一些网络流量审查机制疲于应对。网络攻击工具与流量混淆工具的使用目的虽然不同,二者在规避流量检测方面采用的技术却相似。随着加密技术的广泛应用,传统的基于深度包检测的方法逐渐失效。目前,网络安全防御者和流量审查者面临的共同挑战是:如何在不影响正常业务的同时从规模日益增长的网络流量中准确识别出攻击或混淆流量。目前规避流量检测的主要方法是混淆,即伪装成正常业务流量,具体分为随机化、拟态和隧道三种技术。如果一种混淆流量与正常业务流量足够相似,检测系统的误报率就会急剧升高,为了不影响正常业务,检测系统将不得不放弃对此类混淆流量的封锁。为增强隐蔽性,一些混淆工具选择目前使用广泛的HTTPS网络协议进行伪装。例如,Meterpreter是Metasploit渗透测试框架中一款高级动态攻击工具。为规避流量检测,该工具衍生出包括基于HTTPS协议的隧道在内的数个变种,但目前业界公开的对其流量进行识别的研究较少。又如,Shadowsocks是目前使用广泛的抗网络流量审查工具之一,为增强隐蔽性,社区开发了simple-obfs HTTPS流量混淆插件,但业界对该插件的效果一直存疑。针对这两种HTTPS隧道工具,本文从混淆流量识别的角度进行研究。(1)在详细分析混淆流量识别及相关领域主要的两种基于深度包检测和基于机器学习的方法优缺点后,提出一种将HTTPS流量的指纹特征和统计特征结合的机器学习检测方案。一方面,将HTTPS握手包中的明文指纹信息,如客户端支持的加密套件、扩展等,转化为数值特征;另一方面,基于HTTPS应用包中的统计特征构造二级特征。最后,将指纹特征、统计特征和二级特征输入机器学习分类算法训练检测模型;(2)在评估业界多个公开样本集及分析Meterpreter HTTPS和Shadowsocks Obfs两种隧道工作原理和流量特点后,设计并构建了两种HTTPS隧道流量及正常HTTPS流量的采集系统,共采集24,571条正常HTTPS流量样本,17,812条Meterpreter HTTPS隧道流量样本和7,692条Shadowsocks Obfs隧道流量样本,作为检测系统的样本集合;(3)设计并实现了基于指纹与统计特征的HTTPS隧道流量检测系统,自动完成流量样本解析、两类特征提取、分类模型训练和样本类型判别等工作。基于该系统和样本集合测试了覆盖多种类别的8个分类算法的表现。在对比分析各个算法的精确率、召回率和F1分数三个指标后,得出随机森林算法在此样本环境下整体表现最优的结论(精确率和召回率均高于99%)。对比分析了本系统使用随机森林算法检测两种隧道流量时得到的特征重要性排名,发现指纹特征和统计特征对两种隧道流量检测结果的影响大致相同,且对二者检测结果影响较大的特征也基本一致,表明本方案应该有较强的扩展性。