论文部分内容阅读
近年来,随着“智慧地球”概念的提出和物联网技术的发展,智能设备也越来越多的应用到人们的日常生活中。各大厂商生产、制造了功能各异的设备,为了实现这些信息技术产品之间的互联互通,国际上已有许多标准化组织和企业联盟在进行相关的技术标准制定工作。其中UPnP(Universal Plug and Play)协议,也就是通用即插即用协议得到了广泛的应用。它实现了同一网络下的设备之间的相互识别和数据通信等。虽然,UPnP协议使得各种功能和结构各异的网络产品更加智能化,但是,各种网络设备中UPnP协议的安全问题日益凸显,使得网络设备的安全受到了越来越大的威胁。针对网络协议的模糊测试技术主要是通过研究网络协议的规范和标准,利用模糊器和网络设备(测试的对象)之间建立socket连接,然后向其发送经过变异的数据,并监视目标设备中产生的错误。这种技术主要是通过嗅探器抓取网络设备协议通信的正常的数据包,通过对协议的各个字段进行变异,观察网络设备对变异数据包的处理。现在有很多针对网络协议的模糊测试工具,如SPIKE、ProtoFuzz等工具。本文从另外一个角度对网络设备中UPnP协议的安全问题进行分析。在网络设备中由于编程人员在实现UPnP协议功能时没有充分考虑到其所带来的安全缺陷会造成不同的安全问题。这些安全问题在不同的网络设备中可能不同。针对网络设备之间的差异性,本文从网络设备的固件角度对网络设备UPnP协议安全进行分析。首先,提出了针对网络设备固件的分析方法,从网络设备中提取出固件,从固件中解析出对应的UPnP模块。然后,针对固件中的UPnP二进制模块进行模糊测试,在分析中借鉴了二进制文件的模糊测试技术,提出了基于固件分析的模糊测试技术。最后,针对模糊测试用例生成的算法提出了一种基于线性约束条件的模糊测试技术和基于特征提取与线性约束条件相结合的模糊测试技术。在上述研究的基础上实现了对网关设备UPnP协议安全缺陷的漏洞利用,并分析了可能存在的漏洞利用方式。此外,由于不同类型的网络设备其利用方式也不一样,本文还对网关设备进行了漏洞分析。