预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一种基于机器学习的TLS恶意流量检测方案骆子铭许书彬摘要:随着互联网应用加密业务流的快速增长,流量加密在保护隐私的同时也给网络安全防御带来了巨大的挑战,恶意加密流量检测是互联网安全领域的一个重点问题。文章首先介绍了TLS协议特点、流量识别方法;然后,从TLS特征、数据元特征、上下文数据三个方面分析了恶意加密流量的特征,给出了基于机器学习的TLS恶意流量检测相关方法;最后,通过构建基于机器学习的分布式自动化的恶意流量检测体系,实现对恶意流量的动态检测,并具备增量式学习能力。关键词:机器学习;流量识别;安全传输层:TN918:AAbstract:Astheflowofencryptednetworktrafficgrowingrapidly,theencryptionofdataprotectsprivacywhileposesagreatthreattocyberthreatdefense.Identifyingthreatscontainedwithinencryptednetworktrafficisakeyissueinthenetworksecuritydomain.Inthispaper,webeginbyintroducethecharacteristicsofTLSprotocolandthemethodologyofidentifyingnetworktraffic.Then,weanalyzethecharacteristicsofencryptedmalwaretrafficfromTLSdata,observablemetadataandcontextualflowdata.Thisstudyisusedtodesignthemethodologyofdetectingmalicioustraffic'suseofTLSbasedonmachinelearning.Finally,wemanagetodetectmalicioustrafficdynamicallywithincrementallearningabilitybybuildingadistributedautomationmalicioustrafficdetectingsystembasedonmachinelearning.Keywords:machinelearning;encryptedtraffic;TransportLayerSecurity1引言随着安全传输层(TransportLayerSecurity,TLS)协议的广泛使用,网络中的加密流量越来越多,识别这些加密的流量是否安全可靠,给网络安全防御带来了巨大挑战。传统的流量识别方法,例如基于深度包检测或者模式匹配等方法都对加密流量束手无策,因此识别网络加密流量中包含的威胁是一項具有挑战性的工作[1]。由于网络基础设施安全的重要性,其对检测的准确率和误报率有较高的要求。同时,僵尸网络、网络入侵、恶意加密流量等网络攻击,具有攻击量大、形式多样化的特点,对于该类的攻击检测需要能够做出快速实时的响应。基于机器学习的恶意加密流量检测,一直是近年来网络安全领域的研究热点[2]。目前,恶意加密流量检测研究,主要侧重于加密流量特征分析[3]以及机器学习算法的选择问题[4]。通过合理的检测体系,构建具备增量式学习能力的样本数据库,实时动态检测分析恶意加密流量攻击,将能够快速实施响应并采取防御措施。本文所讨论的加密流量限于采用TLS协议进行加密的网络流量,故文中提到的“恶意加密流量”和“TLS恶意流量”均代指采用TLS协议加密的恶意流量。2TLS协议2.1TLS握手协议TLS协议位于传输层和应用层之间,是一种在两个通信应用程序之间提供安全通信的协议,保证了网络通信数据的完整性和保密性[5]。TLS协议是由握手协议、记录协议、更改密文协议和警报协议组成。握手协议是TLS协议中十分重要的协议,客户端和服务端一旦都同意使用TLS协议,需要通过握手协议协商出一个有状态的连接以传输数据。通过握手过程,通信双方需要确认使用的密钥和算法。除此之外,还包括数据压缩算法、信息摘要算法等一些数据传输的过程中需要使用的其他信息。当握手协议完成以后,通信双方开始加密数据传输。2.2TLS流量识别鉴于TLS握手协议通过明文传输的特点,可以捕获PCAP文件并解析数据包的头部信息,通过比较不同的头部信息及对比不同消息的报文结构,可以判定当前的数据包是否为TLS握手协议的某一特定消息类型。一个完整的TLS会话过程一定包含五种类型的消息:ClientHello、ServerHello、ServerHelloDone、ClientKeyExchange、ChangeCipherSpec。如果在某个数据流中没有检测到以上的消息,那么