论文部分内容阅读
随着互联网的快速发展,网络规模空前庞大,网络应用的复杂度和多样性都在不断地提升。网络安全形势的日益严峻使得人们对网络信息的保护愈加重视,SSL/TIS协议作为网络中使用最广泛的网络安全协议,既可以保护用户隐私,也可以隐藏非法攻击。然而现有的对SSL/TLS加密流量研究很少涉及到应用层的网络应用服务,SSL/TLS中的网络应用服务复杂多样,对应用服务的分类有助于加密流量的监管和分析。本文基于已有的SSL/TLS流量研究提出一种对加密流量应用服务进行分类的方法,并基于此方法实现了基于Spark平台的流量分类系统。首先,本文针对加密流量的分类提出了一种对SSL/TLS加密流量中应用服务进行标注的方法,该方法通过选取SSL/TLS握手过程中的证书域名、证书链信息和SessionID,并辅助“Client Hello”中的扩展字段,根据与应用服务的映射关系来对加密流量进行标注。其次,本文根据SSL/TLS加密流量中应用服务在网络协议栈中处于应用层较高位置的情况,提出先使用简单的C4.5决策树算法对流量中的HTTPS流量进行二分类过滤识别,然后再使用随机森林对HTTPS上的应用服务进行多分类,并根据网络环境对样本特征值做了相应优化。在实验中该方法对应用服务的整体分类准确率达到了96%。最后基于该方法实现了基于Spark平台流量分类系统,该系统运用Spark Streaming结合Spark MLlib,并整合了 Kafka实现消息管理,通过多个模块实现流量的实时分类,并取得了良好的效果,平均准确率达到90%以上。