论文部分内容阅读
随着计算机的快速普及和互联网的迅猛发展,网络已经成为人们日常生活中的一个重要组成部分。各种网络应用也快速覆盖到人类生活领域的各个方面,持续增长的需求和不断降低的开发门槛,共同使得网络应用在数量上呈现爆发式的增长。其中,大部分网络应用使用的是自定义的无公开规范的网络协议,我们称之为私有协议。
私有协议的广泛使用带来了一系列的问题,如妨碍网络监控、威胁网络安全、流量计费困难等。为解决这些问题,首先需要认识私有协议及其对应的网络应用,研究其协议运行机制、协议指纹、规范、应用层拓扑等,而后根据分析的结果制定具体的应对措施。因此,对网络私有协议分析技术的研究具有重要的意义。
本文在广泛调研了国内外研究现状的基础上,总结了协议分析的相关技术,分别从基于网络流量和基于程序分析的角度,进行了相关研究和探索。以广泛使用的即时通讯软件Skype所使用的私有协议为研究对象,通过基于流量的方法,分析了Skype协议的通信过程,获得了部分数据包的特征;在此基础上,通过改进的SN_ Harvest算法解决了配置文件加密情况不能探测拓扑的问题,对使用Skype私有协议的Skype P2P网络进行了拓扑提取和分析。
私有协议由于没有公开的协议规范,其背后的安全问题应引起高度重视。本文对第三方应用使用Skype私有协议作为通道进行通信的现象进行了研究,提出了P2P网络上的寄生网络(PoP2P)概念。通过程序插桩的方法,对GPass应用调用Skype API的过程进行了研究,揭示了GPass寄生网的运行机制和通信细节,并对PoP2P的网络结构和其存在的安全问题进行了讨论。
应用层载荷特征是一种识别准确率高的协议指纹,然而以往对其生成问题的研究多依赖于手工分析和经验判断,自动化的方法较少。本文提出一种基于程序分析的应用层载荷特征提取方法。通过程序插桩跟踪网络应用处理网络数据包的过程,生成程序状态集,从中检测出程序变量间存在的不变关系,结合污点传播,确定程序不变量与网络数据包字段的关系,进而提取出协议指纹。提出了协议逆向分析原型系统的框架,并实现了其核心部分动态污点传播引擎,为自动化的协议逆向分析打下基础。