论文部分内容阅读
SSH协议是应用最为广泛的互联网加密通信协议之一,主要用于保护用户远程运维服务器的通信安全,也可用于构建隧道为其他应用提供安全传输服务。SSH的广泛使用使得攻击者开始利用SSH来进行流量混淆以躲避网络审查实现隐蔽通信。发现潜在的SSH混淆协议流量,并识别SSH加密通道中承载的应用类型,是流量计算与网络安全领域的热点前沿问题,论文提出基于机器学习的SSH应用流量及应用组合流量分类方法,并在此基础上设计实现了相应软件系统,取得主要研究成果有:(1)从协议定义和流量两个层面分析SSH协议连接建立过程特性。提取SSH连接建立过程数据包负载长度形成协议握手指纹,提出基于握手指纹的SSH协议识别算法。实验表明算法具有较高的SSH协议识别准确率。(2)从协议实现层面分析Obfuscated-OpenSSH协议连接建立过程,根据数据包传输层确认号重组数据包传输层负载,获得Obfuscated-OpenSSH协议连接建立过程特征序列,提出特征序列生成方法与基于特征序列匹配的Obfuscated-OpenSSH协议识别算法。实验表明该算法具有较高的Obfuscated-OpenSSH协议识别查准率与查全率。(3)从协议定义和流量两个层面分析SSH应用流量特性,构造一组全新的基于数据包负载长度和数据包传输方向的应用流量分类特征,并给出该组特征提取方法及基于监督式机器学习算法的分类方案。实验表明基于该组特征利用决策树算法分类远程登录、代理HTTP、数据传输类(SCP或SFTP)、rsync、代理FTP这五类应用流量获得较高的分类准确率。(4)分析远程登录与数据传输类应用组合流量特性,等步长分段远程登录与数据传输类应用组合流量,每一分段提取基于数据包负载长度和到达时间间隔的统计特征,基于监督式机器学习算法分类分段应用组合流量。实验表明该方法获得较高的分段应用组合分类准确率。(5)以上述识别算法、分类方法为系统业务核心,设计与实现SSH流量检测及承载应用识别软件系统。论文最后对全文进行了总结,对未来值得进一步研究的问题进行了展望。